Återvunnet Arduino Lolly Dispenser (5 / 5 steg)
Steg 5: Arduino ledningar + programmering
I huvudsak en sonar sensor kopplad till en servo med och LED indikatorlampa. Använda definitionerna i koden för att veta om att sätta kablarna.
Koden:
#include < Servo.h >
Servo myservo; skapa objekt för att styra en servo servo
int pos = 0;
int trigPin = 4; Trig - grön tröja
int echoPin = 2; ECHO - gul bygel
lång varaktighet, cm, inches;
void setup() {
Serial Port börjar
Serial.BEGIN (9600);
myservo.attach(9);
Definiera in- och utgångar
pinMode (trigPin, produktionen);
pinMode (echoPin, ingång);
pinMode (13, OUTPUT);
}
void rotate() {
går från 0 grader till 180 grader
i steg om 1 grad
myservo.write(100);
Delay(2000);
myservo.write(0);
Delay(2000);
}
makulera check (int cm) {
int härda;
Temp = 0;
Temp = cm;
om (temp < 5) {
Delay(1000);
digitalWrite 13, hög.
rotate();
} annat {
digitalWrite 13, låg.
myservo.write(95);
}
}
void loop()
{
Sensorn utlöses av en hög puls av 10 eller fler mikrosekunder.
Ge en kort låg puls förhand för att säkerställa en ren hög puls:
digitalWrite (trigPin, låg);
delayMicroseconds(5);
digitalWrite (trigPin, hög);
delayMicroseconds(10);
digitalWrite (trigPin, låg);
Läs signalen från sensorn: en hög puls vars
varaktigheten är tid (i mikrosekunder) från den sändande
ping till mottagning av dess eko av ett objekt.
pinMode (echoPin, ingång);
längd = pulseIn (echoPin, hög);
konvertera tiden till ett avstånd
cm = (längd/2) / 29,1;
inches = (längd/2) / 74;
Serial.Print(inches);
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
Delay(2000);
myservo.write(95);
check(cm);
Delay(100);
}