Baserade Arduino enkel Blind Navigation armband (AIDA1) (2 / 3 steg)
Steg 2: Arduino koden
se till att justera din IDE innan du ansluter din dator beroende på Arduino ombord du använder och sedan ansluta den styrelsen och skriv ner följande kod.
Jag försökte förklara så mycket av koden som möjligt i kommentarerna, jag lagt till även några alternativ om du vill testa sensorn först på serial monitorn (som jag gjorde) om något är oklart lämna gärna en kommentar och jag ska försöka besvara.
/*
HC-SR04 Ping avstånd sensor:
VCC till Arduino
Vin GND till Arduino GND
ECHO till Arduino stift 12
Trig till Arduino stift 11 * /
#include < NewPing.h > //downloaded från internet & uppackade i mappen Bibliotek i Arduino katalog
#define TRIGGER_PIN 11 / / Arduino PIN-kod knuten till utlösa pin på ultrasonic sensor.
#define ECHO_PIN 12 / / Arduino PIN-kod knuten till echo pin på ultrasonic sensor.
#define LEDPin 9 / / ombord LED "Grönt" att ange rensa
int Summer = 8. Summern att göra ett ljud om den blind personen står inför ett hinder
int maximumRange = 70. Maximal räckvidd behövs
int minimumRange = 35. Minsta område behövs
lång varaktighet, avstånd; Längd används för att beräkna avstånd
void setup() {
Serial.BEGIN (9600);
pinMode (TRIGGER_PIN, OUTPUT);
pinMode (ECHO_PIN, indata);
pinMode (LEDPin, OUTPUT); Använd LED-indikator (vid behov)
pinMode (Summer, OUTPUT);
}
void loop() {
/ * TrigPin/echoPin följande cykel används till att bestämma avståndet mellan det närmaste objektet genom reflekterande ljudvågor av det (som en Bat!) */
digitalWrite (TRIGGER_PIN, låg);
delayMicroseconds(2);
digitalWrite (TRIGGER_PIN, hög);
delayMicroseconds(10);
digitalWrite (TRIGGER_PIN, låg);
längd = pulseIn (ECHO_PIN, hög);
avståndet = (längd/2) / 29,1; formel för att konvertera det värde som uppmätts av Ultraljuds-sensorn i centimeter
om (avstånd > = maximumRange || avstånd < = minimumRange)
{
Serial.println ("tydlig väg");
digitalWrite (LEDPin, hög); Slå lysdioden (grön) för att ange "tydlig väg"
digitalWrite (Summer, låg);
}
annat {
Serial.println ("obstruktion framåt!");
digitalWrite (Summer, hög);
digitalWrite (LEDPin, låg);
}
Delay(50); Dröjsmål 50 ms före nästa behandling.
}
Här är en video som visar en provkörning av banan med hjälp av Arduino Uno styrelse.