Mest värdelösa lego tower. (2 / 2 steg)
Steg 2: Mest värdelösa lego tower. Del 3
Del 3. Arduino skiss.Digisparks använder en "särskild" version av Arduino IDE baserat på 1,04. De flesta av biblioteken är också speciella, i princip på grund av det små minnet på attiny85 mikrokontroller. I den här implementeringen använder jag SoftRcPulseOut biblioteket som råkar vara attiny85 genomförandet av servo biblioteket.
-------
#include < SoftRcPulseOut.h >
SoftRcPulseOut myservo; skapa objekt för att styra en servo servo
#define SERVO_PIN 3
#define switchPin 0
#define gnd 2
#define REFRESH_PERIOD_MS 20
void setup() {
pinMode (switchPin, ingång); Ange switch pin som en ingångsstift
digitalWrite (switchPin, hög); slå på pullup motstånd
pinMode (gnd, produktionen);
digitalWrite (gnd, låg); använda detta stift som grund
myservo.attach(SERVO_PIN); fäster på stift definieras av SERVO_PIN till objektet servo servo
myservo.write(5); berätta servo att flytta till 5 grader
Delay(REFRESH_PERIOD_MS); väntar uppdateringsperioden 20ms
SoftRcPulseOut::refresh(1); genererar servo pulsen
}
void loop() {
int val = digitalRead(switchPin);
delayMicroseconds(20);
om (val == låg) {
myservo.write(145); berätta servo att flytta till 145 grader
Delay(REFRESH_PERIOD_MS); väntar uppdateringsperioden 20ms
SoftRcPulseOut::refresh(1); genererar servo pulsen
} annat {
myservo.write(5); berätta servo att flytta till 5 grader
Delay(REFRESH_PERIOD_MS); väntar uppdateringsperioden 20ms
SoftRcPulseOut::refresh(1); genererar servo pulsen
}
}
-------
Det är allt folk!