Animatronic öga (6 / 7 steg)
Steg 6: Programmet
Jag är väldigt ny så jag behövde lite hjälp med programmet, kan du se projektet här. Min källa
Kopiera och klistra in programmet i din Arduino miljö.
#include
#define pi 3.14159265358979323846 #define twopi (2 * pi) flyta circleradius = 50; 50 varje sida - gör inte mer någon av din Maxgräns värden float stepnumber = 360; float stepangle;
#include //include servo bibliotek för servo kontroll
Servo horServo; servo för vänster/höger rörelse Servo vertServo; servo för upp/ner rörelse
byte randomhor; definiera slumpmässiga liggläge variabel byte randomvert; definiera slumpmässiga vertikalt rörlig int randomdelay; slumpmässig fördröjning när variabeln
#define HLEFTLIMIT 40 //define vänstra gräns på horisontella (vänster/höger) servo #define HRIGHTLIMIT 80 //define högra gräns på horisontella (vänster/höger) servo
#define VTOPLIMIT 70 / / definiera övre gräns på vertikal (upp/ned) servo #define VBOTLIMIT 110 //define nedre gräns på horisontal (upp/ned) servo
void setup() {horServo.attach(8); //horizontal servo på pin 8 vertServo.attach(9); //vertical servo på stift 9 randomSeed(analogRead(0)); //Create några slumpmässiga värden med hjälp av en osammanhängande analoga stift
stepangle = twopi/stepnumber; för (int jag = 0; jag
x = karta (x, 1-circleradius, circleradius, 0, 2 * circleradius); y = karta (y, 1-circleradius, circleradius, 0, 2 * circleradius);
horServo.write(x); skriva till den horisontella servo vertServo.write(y); skriva till horisontella servo
Delay(10); } }
void loop() {randomhor = random (HLEFTLIMIT, HRIGHTLIMIT); //set begränsar randomvert = random (VTOPLIMIT, VBOTLIMIT); //set begränsar randomdelay = random(1000, 4000); //moves varje 1 till 4 sekunder
horServo.write(randomhor); skriva till den horisontella servo vertServo.write(randomvert); skriva till den vertikala servo delay(randomdelay); fördröja en slumpmässig mängd tid (inom värden som ovan)}