Servotestare för 2 servon tänkt för tilt och pan.[Klart]
Postat: 6 november 2021, 20:45:08
För ett tag sedan beställde jag dessa mönsterkorten:
Igår fann jag lite inspiration, så nu ser det ut så här:
Bonus:
Inläggnings etiketter till batterilådan för BG1 typ batterierna, för att snabbt se laddnings status på batteriet:
jag ville ha möjlighet att använda dem till andra projekt än just bara till servotestning, så det är med avsikt inte draget mönsterledningar mellan komponenterna.Igår fann jag lite inspiration, så nu ser det ut så här:
Kod: Markera allt
// arduino-nano
// Modified by lgrfbs 2021-11-01
// https://www.makerguides.com/servo-arduino-tutorial/
// https://www.tutorialspoint.com/print-new-line-and-tab-in-arduino
//__________________________________________________________________________
#include <Servo.h> // include the required Arduino library
int Xangle = 0; // variable to store the servo position in degrees
int Yangle = 0; // variable to store the servo position in degrees
Servo pan;
Servo tilt;
// Define the servo pin:
#define servoPinT 10
#define servoPinP 9
// Global setting for program
int Time=400; //Set time for blink.
int Step=5; //Set time for blink.
int Xpos=0; //Set defulte for X.
int Ypos=0; //Set defulte for Y.
void setup() {
// put your setup code here, to run once:
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
// Attach the Servo variable to a pin:
pan.attach(servoPinP);
tilt.attach(servoPinT);
Xangle=0;
Yangle=0;
pan.write(Xangle); // tell the servo to go to the set position
tilt.write(Yangle); // tell the servo to go to the set position
// initialize digital pin LED_BUILTIN as an output.
int Xpos=0; //Set defulte for X.
int Ypos=0; //Set defulte for Y.
pinMode(LED_BUILTIN, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
Serial.begin(19200);
Serial.println(" ");
Serial.println("Pan and tilt test device by lgrfbs 2021-11-01");
Serial.println("---------------------------------------------");
Serial.println("X:____\tY:____ positions");
delay(5000);
}
void loop() {
// put your main code here, to run repeatedly:
int Xpos=analogRead(A0);
Serial.print("X:");
Serial.print(Xpos);
Xangle = map(Xpos, 0, 1016, 0, 100); // map the input to a value between 0 and 100 degrees
Serial.print(" ");
Serial.print(Xangle);
int YPos=analogRead(A1);
Serial.print("\t Y:");
Serial.print(YPos);
Yangle = map(YPos, 0, 1023, 0, 100); // map the input to a value between 0 and 100 degrees
Serial.print(" ");
Serial.println(Yangle);
pan.write(Xangle); // tell the servo to go to the set position
tilt.write(Yangle); // tell the servo to go to the set position
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
/*
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(Time); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(Time); // wait for a second
Step=Step+1;
Time=400;
if (Step>5){Step=0;Time=200;}
*/
}
Inläggnings etiketter till batterilådan för BG1 typ batterierna, för att snabbt se laddnings status på batteriet: