Att lägga till ett ansikte och täcker din Robot (6 / 6 steg)
Steg 6: Arduino kod
Här är koden för att göra din robot ögon blinkar. Belasta upp den här till Arduino på din robot.
inkludera biblioteket "servo.h".
#include
namnet lysdioderna.
CONST int LED1 = 11;
CONST int LED2 = 12.
namnet controller knapparna.
CONST int Knapp1 = 2;
CONST int button2 = 3;
CONST int button3 = 4;
CONST int button4 = 7.
CONST int button5 = 8;
definiera servon.
Servo servoLeft; Definiera vänster servo.
Servo servoRight; Definiera rätt servo.
Servo servoTop; Definiera övre huvudet servo.
Servo servoNeck; Definiera lägre huvud servo.
Ange det enishole värdet av controler butons till 0.
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
int buttonState5 = 0;
void setup()
{
servoLeft.attach(10); Ange vänster servo till digital stift 10
servoRight.attach(9); Ställ in rätt servo till digital pin 9
servoTop.attach(5); Ange servoTop till digital stift 5
servoNeck.attach(6); Ange servoNeck till digital stift 6
definiera lysdioderna som utgångar.
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
definiera controler butons som insatsvaror.
pinMode (Knapp1, ingång);
pinMode (button2, ingång);
pinMode (button3, ingång);
pinMode (button4, ingång);
pinMode (button5, ingång);
}
denna kod spelar om och om igen i en loop.
void loop()
{
buttonState1 = digitalRead(button1);
buttonState2 = digitalRead(button2);
buttonState3 = digitalRead(button3);
buttonState4 = digitalRead(button4);
buttonState5 = digitalRead(button5);
om (buttonState3 == hög) {
Forward();
Delay(50);
}
annat {
stopRobot();
digitalWrite (LED1, låg);
digitalWrite (LED2, låg);
}
om (buttonState4 == hög) {
Reverse();
Delay(50);
}
annat {
digitalWrite (LED1, låg);
digitalWrite (LED2, låg);
stopRobot();
}
om (buttonState2 == hög) {
turnRight();
Delay(50);
}
annat {
digitalWrite (LED1, låg);
digitalWrite (LED2, låg);
stopRobot();
}
om (buttonState1 == hög) {
turnLeft();
Delay(50);
}
annat {
digitalWrite (LED1, låg);
digitalWrite (LED2, hög);
stopRobot();
}
om (buttonState5 == hög) {
Up();
Delay(50);
}
annat {
digitalWrite (LED1, låg);
digitalWrite (LED2, låg);
stopRobot();
}
om (buttonState2 och buttonState1 == hög) {
Laugh();
Delay(50);
}
annat {
digitalWrite (LED1, låg);
digitalWrite (LED2, låg);
stopRobot();
}
om (buttonState3 och buttonState4 == hög) {
Jiter();
Delay(50);
}
annat {
digitalWrite (LED1, hög);
digitalWrite (LED2, låg);
stopRobot();
}
}
funcshins
void forward()
{
servoLeft.write(0);
servoRight.write(180);
}
void reverse()
{
servoLeft.write(180);
servoRight.write(0);
}
void turnRight()
{
servoLeft.write(180);
servoRight.write(180);
}
void turnLeft()
{
servoLeft.write(0);
servoRight.write(0);
}
void stopRobot()
{
servoLeft.write(90);
servoRight.write(90);
servoTop.write(90);
servoNeck.write(90);
}
void Up()
{
servoTop.write(50);
servoNeck.write(90);
}
void Laugh()
{
servoTop.write(90);
servoNeck.write(20);
}
void Jiter()
{
servoTop.write(90);
servoNeck.write(130);
}