Automatiserad Gyro hjulet leksak (version 2) (1 / 1 steg)
Steg 1: Arduino kod...
#include < Servo.h >
Servo servo1;
int servangle = 0; servo vinkel variabel
int potPin = 4; Välj input PIN-koden för potentiometer
int ledPin = 13. Välj den PIN-kod för LED
int val = 0; variabel för att lagra värdet kommer från sensorn
int valInc = 4; int currAngle = 0; int newAngle = 0; int fördröjningstid = 0; //////////////////////////////////////
/ Analog Läs pins const
int buttonPin = 2;
void myServo1 (int curAngle, int newAngle, int angleInc, int incDelay) {
om (curAngle < newAngle) {för (int vinkel = curAngle; vinkel < newAngle; vinkel += angleInc) {servo1.write(angle); delay(incDelay);}}
annars om (curAngle > newAngle) {för (int vinkel = curAngle; vinkel > newAngle; vinkel-= angleInc) {servo1.write(angle); delay(incDelay);}}
}
void setup()
{Serial.begin(9600);
pinMode (ledPin, produktionen); förklara ledPin som en utgång
pinMode(buttonPin,INPUT);
servo1.attach(9);
Delay(1000);
servo1.write(90); Gå vertikalt
Delay(5000); vänta 5 sekunder
servo1.write(172); } //start rullande genom att sänka leksak ram
void loop() {
om (digitalRead(buttonPin) == hög) {
Val = analogRead(potPin) * 2; läsa värdet från potten sensor (1 till 1024)
Serial.Print ("poy val ="); Serial.println(val);
digitalWrite(ledPin,HIGH);
servo1.write(90); sätta ram vertikala
myServo1(172,90,1,15);
Delay(val);
servo1.write(172);
myServo1(90,172,1,5); sätta ram ned långsammare så att inte studsa
digitalWrite(ledPin,LOW); }
}