I den här lektionen ska vi koppla ihop fler servomotorer. Vi behöver också batterier för detta
Anslut en servomotor till batteriet enligt bilden ‘Servomotor på batteri med seriell monitor’.
| Glöm inte att ansluta GND på batterierna till GND på Arduino. :—————–:|:———————- ——- :
| Kom ihåg att det finns en lucka i mitten av de långa linjerna :————-:|:—————————————-:
\pagebreak
#include <Servo.h>
Servo min_servo;
void setup()
{
Serial.begin(9600);
min_servo.attach(9);
}
void loop()
{
if (Serial.available())
{
const int varde = Serial.parseInt();
Serial.print("Jag satter servo pa ");
Serial.println(varde);
min_servo.write(varde);
delay(1000);
}
}
| Glömt vad den kod gjorde? Kollar sista lektion! :————-:|:—————————————-:
Ta reda på servots lägsta och högsta värde
\pagebreak
Ha, det kan du ta reda på själv :-)
Koppla nu in en tryckknapp, såsom figuren ‘Servomotor på batteri med knapp’.
\pagebreak
Denna kod låter servo svara på knappen:
#include <Servo.h>
Servo min_servo;
void setup()
{
min_servo.attach(8);
pinMode(A0, INPUT);
}
void loop()
{
if (analogRead(A0) < 512)
{
min_servo.write(45); //Minimumvärd
}
else
{
min_servo.write(135); //Maximumvärd
}
delay(100);
}
\pagebreak
Samma kod, förutom:
Anslut nu en extra servomotor, som figuren ‘Servomotorer på batteri med knapp’.
\pagebreak
#include <Servo.h>
Servo min_servo_1;
Servo min_servo_2;
void setup()
{
min_servo_1.attach(8);
min_servo_2.attach(9);
pinMode(A0, INPUT);
}
void loop()
{
if (analogRead(A0) < 512)
{
min_servo_1.write( 45); //Minimumvärd 1
min_servo_2.write(125); //Maximumvärd 2
}
else
{
min_servo_1.write(135); //Maximumvärd 1
min_servo_2.write( 35); //Minimumvärd 2
}
delay(100);
}
Anslut nu en andra knapp. När den första knappen trycks in ska den första servo gå till maximalt läge. Om även den andra knappen trycks in bör den andra servo gå till maximalt läge.
| Tips: använd ett if
i ett if
.
:————-:|:—————————————-: