Stap 2: De Code
{{{
Motor
#include < Servo.h >
Servo de servo;
int servoP = 9;
int angulo = 0;
int anguloslow = 0;
int counter = 0;
int counterslow = 0;
int bewegingen = 0;
Piezo
int piezopin = 11; Selecteer de invoer pin voor de spreker
potentiometer
int potPin = 2; Selecteer de invoer pin voor de potmeter
int val = 0; variabele de waarde afkomstig van de sensor opslaan
VOID Setup {}
Piezo
pinMode(piezopin,OUTPUT);
Initialiseer seriële communicatie (voor foutopsporing alleen):
Serial.begin(9600);
}
void loop {}
Hiermee wordt een geluid afgespeeld en beweegt volgens potentiometer. Potentiometer retourneert een getal tussen 0 en 1023
Val = analogRead(potPin); luiden naar de waarde van de sensor
for (int i = 0; ik < 5; i ++) {}
Val = analogRead(potPin); luiden naar de waarde van de sensor
waarde van de pot toegewezen aan angulo (10 tot 50)
Val = kaart (val, 0, 1023, 20, 50);
Serial.println(val); afdrukken van de potentiometer (voor foutopsporing alleen)
Counter = random(2,6);
Angulo = val;
bewegingen volgens: angulo, normaal 10-50. teller: hoeveel keer gaat heen en weer rormally 3-6. servoP is de pin
MoveIt(Angulo,Counter,servoP);
maakt het geluid volgens: intensiteit, varieert: normaal gesproken 5. aantal keer: hoeveel keer tweets, rormally 3-6
highChirp(5,angulo/10);
delay(100);
lowChirp(angulo*4,2);
delay(100);
Tweet(Counter,2);
de wachttijd tussen de dichter tweets
delay(400);
}
algemene vertraging na een reeks van tweets
delay(Random(20000));
}
VOID moveit (int anglefin, int bewegingen, int servoPin) {}
Servo.attach(servoPin);
for (int i = 0; ik < bewegingen; i ++) {}
Digitaliseert van 0 tot 180 graden
voor (int hoek; hoek < anglefin; hoek ++)
{
Servo.write(Angle);
delay(Random(5));
}
nu digitaliseert terug van 180 tot 0 graden
voor (int hoek = anglefin, hoek > 0; hoek--)
{
Servo.write(Angle);
delay(Random(5));
}
}
Servo.Detach();
}
VOID highChirp (int intensiteit, int chirpsNumber) {}
int i;
int x;
voor (int veces = 0; veces < = chirpsNumber; veces ++) {}
voor (ik = 100; ik > 0; ik--)
{
voor (x = 0; x < intensiteit; x ++)
{
digitalWrite (piezopin, hoge);
delayMicroseconds (i);
digitalWrite (piezopin, laag);
delayMicroseconds (i);
}
}
}
}
VOID lowChirp (int intensiteit, int chirpsNumber) {}
int i;
int x;
voor (int veces = 0; veces < = chirpsNumber; veces ++) {}
voor (ik = 0; ik < 200; i ++)
{
digitalWrite (piezopin, hoge);
delayMicroseconds(i);
digitalWrite(piezopin,LOW);
delayMicroseconds(i);
}
voor (ik = 90; ik > 80; ik--)
{
voor (x = 0; x < 5; x ++)
{
digitalWrite (piezopin, hoge);
delayMicroseconds (i);
digitalWrite (piezopin, laag);
delayMicroseconds (i);
}
}
}
}
VOID tweet (int intensiteit, int chirpsNumber) {}
int i;
int x;
normale chirpsNumber 3, de normale intensiteit 5
voor (int veces = 0; veces < chirpsNumber; veces ++) {}
for (int i = 80; ik > 0; ik--)
{
voor (int x = 0; x < intensiteit; x ++)
{
digitalWrite (piezopin, hoge);
delayMicroseconds (i);
digitalWrite (piezopin, laag);
delayMicroseconds (i);
}
}
}
delay(1000);
}
}}}