Умная трость для слабовидящих
Это устройство предназначено в помощь слабовидящим, для ориентировании в пространстве. Трость оснащается ультразвуковым датчиком, который сигнализирует о препятствии.
Инструменты и материалы:
-Arduino UNO;
-Ультразвуковой датчик HC — SR04;
-Светодиод;
-Аккумулятор 9 В;
-Зуммер;
-Провода;
-Перемычки;
-Трость;
-Скотч;
-Клей;
Шаг первый: подключение к Arduino
Схема довольно простая.
Подключите Vcc ультразвукового датчика к источнику питания 5 В на плате Arduino.
Подключите триггерный контакт ультразвукового датчика к 9-му контакту цифрового входа платы Arduino.
Подключите вывод Echo ультразвукового датчика к 10-му цифровому контакту платы Arduino.
Подключите заземление ультразвукового датчика к заземлению платы Arduino.
Подключите положительную клемму зуммера постоянного тока к 11-му контакту цифрового входа, а отрицательную клемму к земле платы Arduino.
Подключите положительную клемму аккумулятора к Vin или к аналоговому выводу, а отрицательную клемму к земле платы Arduino.
Шаг второй: код
После монтажа устройства необходимо загрузить код. В коде установлено сигнализация расстояния до препятствия — 30 см.
Скачать код можно ниже.
Показать / Скрыть текст // defines pins numbers const int trigPin = 9; const int echoPin = 10; const int buzzer = 11; const int ledPin = 13; // defines variables long duration; int distance; int safetyDistance; void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input pinMode(buzzer, OUTPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); // Starts the serial communication } void loop() { // Clears the trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance= duration*0.034/2; // Safety Distance = 30 cm safetyDistance = distance; if (safetyDistance <= 30){ digitalWrite(buzzer, HIGH); digitalWrite(ledPin, HIGH); } else{ digitalWrite(buzzer, LOW); digitalWrite(ledPin, LOW); } // Prints the distance on the Serial Monitor Serial.print("Distance: "); Serial.println(distance); }
Шаг третий: установка устройства на трость
Дальше мастер устанавливает детали на трость. Он закрепил батарею платы и зуммер на основании палки, а датчик выше. Для крепления использовал скотч и клей.
Все готово. Конечно, устройство необходимо дорабатывать. В частности необходим корпус и желательно водонепроницаемый, но в целом устройство работает.