Anti katt motåtgärder (typ av) (8 / 10 steg)
Steg 8: Elektronik och Arduino kod
Jag ansluten komponenterna till en LinkIt hamnar på detta sätt:
LinkIt 3V3: till en av terminalerna av växellåda motor.
LinkIt 5V: till Vcc terminalen av de ultrasonic sensorn och 5V terminalen reläets
LinkIt GND: till GND terminalen av ultraljud sensorn, GND terminalen på reläet och på switch terminalerna till reläet. Den andra växel terminalen ansluts till den andra terminalen av växellåda motor för att aktivera den.
LinkIt D13: till Echo terminalen ultrasonic sensor.
LinkIt D12: till Trig terminalen ultrasonic sensor.
LinkIt D8: till SIG terminalen av reläet.
Jag kollade en massa Arduino instructables att få lite inspiration för skissen, men den jag analized mest var den enkla Walker Robot från Randofo. Då försök jag till finna de gemensamma synpunkter att framföra en ultrasonic sensor fungerar.
Skissen är följande:
/ * Kod skriven av M.C. Langer. Vara mjuk, it´s min första Arduino skiss
*/
#define trigPin 12 / / definiera stiften på din sensor
#define echoPin 13 / / definiera stiften på din sensor för
int takt = 1000; Jag såg alla använder denna konstant för ultrasonic sensor, så jag kommer att göra samma sak för tillfället. Denna konstant ändras inte. Det är den pin-kod
void setup() {Serial.begin(9600); / / initiera seriell kommunikation på 9600 bitar per sekund
pinMode(8,OUTPUT); pinMode (trigPin, produktionen); / / set trig stiftet att produktionen för att skicka ljudvågor
pinMode (echoPin, ingång); / / set echo pin till insatsen för att ta emot ljudvågor
Delay(5000);
}
void loop() {
lång varaktighet, avstånd; starta sökningen
pinMode (trigPin, produktionen);
digitalWrite (trigPin, låg);
delayMicroseconds(2); dröjsmål
digitalWrite (trigPin, hög);
delayMicroseconds(5); en annan fördröjning (jag inte får det. Det är lättare med Lego Mindstorms)
digitalWrite (trigPin, låg);
längd = pulseIn (echoPin, hög);
avståndet = (längd/2) / 29,1; / / konvertera avståndet till centimeter.
om (distanserar < 50) / * om det finns ett hinder på ett avstånd mindre än 50 centimeter, sedan... Vänta, det här är mer som Lego Mindstorms. Jag får det! */
{
digitalWrite(8,HIGH); Delay(7000);
}
annat
digitalWrite(8,LOW);
}