DIY navigeringsenhet för blinda personer som använder Arduino och Android smart phone (3 / 4 steg)
Steg 3: Programvara (Arduino kod)
#include < OneSheeld.h >
#define inputPin 11
#define outputPin 10
#define inputPin2 13
#define outputPin2 12
#define my_constant 20
unsigned int sensor_r_value;
unsigned int sensor_l_value;
unsigned int sensor_r_value_last;
unsigned int sensor_l_value_last;
int skillnad;
void setup() {
pinMode(inputPin,INPUT);
pinMode(outputPin,OUTPUT);
pinMode(inputPin2,INPUT);
pinMode(outputPin2,OUTPUT);
OneSheeld.begin();
}
void loop() {
read_sensors();
Delay(1500);
}
int measure_r() {
digitalWrite (outputPin, låg); Skicka låg puls för 2μs
delayMicroseconds(2);
digitalWrite (outputPin, hög); Skicka hög puls för 10μs
delayMicroseconds(10);
digitalWrite (outputPin, låg); tillbaka till låg puls
int avstånd = pulseIn (inputPin, hög); Läs echo värde
int distance1 = avstånd/29/2. i cm
returnera distance1;
}
int measure_l() {
digitalWrite (outputPin2, låg); Skicka låg puls för 2μs
delayMicroseconds(2);
digitalWrite (outputPin2, hög); Skicka hög puls för 10μs
delayMicroseconds(10);
digitalWrite (outputPin2, låg); tillbaka till låg puls
int avstånd = pulseIn (inputPin2, hög); Läs echo värde
int distance2 = avstånd/29/2. i cm
återvända distance2;
}
int read_sensors() {
sensor_r_value=measure_r();
sensor_l_value=measure_l();
om ((sensor_r_value<30) || (sensor_l_value<30)) {
TextToSpeech.say ("sluta nu och rotera);
}
annat {}
om (((sensor_r_value>30) & &(sensor_l_value>30)) & & ((sensor_r_value_last<30) || (sensor_l_value_last<30))) {
TextToSpeech.say ("gå fram");}
sensor_r_value_last = sensor_r_value;
sensor_l_value_last = sensor_l_value;
}