• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
Искать на DESSY.RU
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO





Smart Stick помощь слабовидящим



Статьи публикуются по мере поступления. Для упорядоченного тематического
поиска воспользуйтесь блоком  "Карта сайта"







Обнаружение препятствий - одна из основных проблем для полностью или частично слепого человека (например, человека, страдающего куриной слепотой, катарактой, глаукомой, альбинизмом или травмой). Здесь представлен смарт-джойстик, использующий Arduino Uno. В палке используются ультразвуковые датчики для обнаружения препятствий. Основная цель этого проекта - обнаружить близлежащее препятствие и уведомить пользователя о направлении этого препятствия, тем самым позволяя пользователю определить корректирующее направление движения.

Список компонентов

Микроконтроллер

Ультразвуковые трансиверы

 

SNR1

HC-SR04

SNR2

HC-SR04

SNR3

HC-SR04

Зуммеры и вибраторы

 

SND1

Пьезоэлектрический зуммер

SND2

Вибрационный мотор

Переключатели

 

S1

Переключить переключатель

 

Схема, показанная ниже, работает с использованием источника питания постоянного тока минимум 5 В (через выводы Vcc и GND Arduino UNO). Самому Arduino для работы требуется всего 5 В, но, учитывая тот факт, что он должен питать три ультразвуковых датчика, один пьезоэлектрический зуммер и вибрационный двигатель, мы использовали источник питания 9 В. Arduino имеет встроенный стабилизатор напряжения 5 В, поэтому у нас также есть возможность запитать его от источника питания 6 В или 12 В. Мозгом схемы является плата микроконтроллера Arduino Uno (Board1). Три ультразвуковых датчика «HC-SR04» используются для обнаружения препятствий с помощью ультразвуковых волн. Эти датчики требуют источника питания 3,3 В каждый для работы на расстоянии до 3 м и могут обнаруживать препятствия в пределах среднего угла 25 градусов в сфере.

 

смарт-джойстик с использованием принципиальной схемы Arduino

Smart Stick с использованием Arduino: принципиальная схема

 

Два из четырех контактов этих трех датчиков, а именно Vcc и GND, подключены к выходу питания 3,3 В. Arduino. Остальные два контакта - TRIG и ECHO подключаются к Arduino следующим образом.

№ датчика

Триггер

Эхо

SNR1

2

3

SNR2

4

5

SNR3

6

7

 

Кроме того, к нему подключены пьезоэлектрический зуммер SND1 и вибрационный двигатель SND2, так что он может направлять пользователя с помощью различных тонов и вибрации. Кроме того, тумблер S1 используется для экономии энергии, когда устройство не используется или когда у человека с ограниченными возможностями есть поддержка других, чтобы направлять его / ее. Arduino запрограммирован таким образом, что при включении Arduino он посылает сигнал LOW to HIGH на контакте TRIG всех трех ультразвуковых датчиков. Эти ультразвуковые датчики будут посылать ультразвуковую волну с помощью ультразвукового передатчика датчика. Эти ультразвуковые волны проходят через воздух и при столкновении с препятствием отражаются обратно. Программирование выполнено таким образом, что, когда это препятствие находится в диапазоне 1,4 м от датчика, Arduino будет воспроизводить зуммер с разной задержкой для препятствий, расположенных по бокам, и без задержки для прямых. Для дальнейшего повышения производительности, если препятствие находится слишком близко (менее 0,7 м от датчика), также включается вибрационный двигатель. Датчик будет давать электрический отклик на выводе ECHO датчика. Этот отклик представляет собой время, за которое волна совершает круговой обход от датчиков до препятствия и обратно к датчикам. Для нашего расчета нам понадобится только одностороннее расстояние. Это может быть рассчитано Arduino по следующей формуле:

формула

Здесь Duration = Echo output;
а поскольку нам нужно только расстояние в одну сторону, мы делим эту продолжительность на 2.
Здесь константа 29.1 выводится следующим образом:

·Скорость звука составляет 343,5 м / с или 0,0345 см / микросекунды.

·1 / 0,0345 см / микросекунда составляет 29,1 микросекунды / см.

·Разделив длительность (мс) на 29,1 (микросекунд / см), мы получим расстояние в (см).

Чтобы различить направление нахождения препятствия, используется следующий механизм:

·Для местоположений в левом и правом направлениях задержка составляет 500 мс.

·Для локации в прямом направлении задержка равна нулю.

Дополнительное обеспечение двигателя, который вибрирует ручку, вставлено в сборку для очень близких препятствий. Экспериментальные исследования показывают, что оптимальное расстояние сборки стойки составляет 0,7 м.

Реализация схемы на печатной плате не будет плодотворной, поскольку большинство деталей схемы будет реализовано на деревянном шасси / картоне / пластике. Мы не можем закрепить датчики на печатной плате, так как они были бы в вертикальном положении; и более того, расположенные по кругу / полукругу. Окончательно собранное устройство помещается на палку примерно посередине. После сборки схемы проверьте ее в контрольных точках, указанных в таблице ниже.
 
 

Контрольные точки

Подробности

TP0

3,3 В

TP1-TP3

3,3 В

TP4-TP6

Форма волны 1

TP6-TP9 без каких-либо препятствий

Форма волны 2

ТП6-ТП9 с препятствием

Форма волны 3

 

форма волны 1

форма волны 2

форма волны 3

 

После этого сделайте картонную коробку или пластиковую коробку с 8 круглыми отверстиями в ней. 6 из 8 отверстий должны быть размером с передатчик / приемник ультразвуковых датчиков, и они должны быть пробиты на стенке коробки. Оставшиеся 2 отверстия должны быть больше диаметра деревянной палки, которую вы выберете, и они должны быть пробиты сверху и снизу коробки, а также коллинеарны друг к другу. Верх коробки должен быть съемным, если нам понадобится доступ к цепи. Для справки рассмотрите приведенный ниже рисунок.
 

размещение датчика смарт-стикаSmart Stick с использованием окончательного вывода Arduino

 
Как только схема будет собрана, поместите Arduino и датчик вместе с соединительными проводами в картонную коробку. Через шесть отверстий, пробитых на поверхности, извлеките из коробки комплект передатчика и приемника каждого датчика. Значение этой сборки состоит в том, чтобы избежать ложных срабатываний, поскольку сама коробка будет вести себя как препятствие для датчиков. Правильная установка и выравнивание очень важны. Обеспечьте правильную установку, оптимально разместив зуммер, вибромотор, выключатель и аккумулятор после их извлечения из коробки. Теперь протестируйте сборку на различных препятствиях на разных расстояниях.
Блок-схема программы представлена ​​ниже.
 
блок-схема
 
Для этого проекта используется Arduino версии 1.6.6, но поскольку изменения в каталоге не производятся, то же самое можно сделать с помощью любой из последних версий Arduino IDE. IDE доступна здесь .
В следующем разделе дается краткое описание определения контактов и деталей порта ввода-вывода.

[stextbox id=’grey’ caption=’Defining the pins and variables in the program’]#define trig1 3
#define echo1 2
#define trig2 4
#define echo2 5
#define trig3 7
#define echo3 8
#define motor 12
#define buzzer 11
long duration1,distance1,duration2,distance2,distance3,duration3;[/stextbox]

[stextbox id=’grey’ caption=’Defining which pins to be used as Input or Output’]void setup()
{
pinMode(trig1, OUTPUT);
pinMode(echo1, INPUT);
pinMode(trig2, OUTPUT);
pinMode(echo2, INPUT);
pinMode(trig3, OUTPUT);
pinMode(echo3, INPUT);
pinMode(motor, OUTPUT);
pinMode(buzzer, OUTPUT);
}[/stextbox]

[stextbox id=’grey’ caption=’Initialize ultrasonic waves via sensors and interfacing I/P ports to corresponding variables:’]void loop()
{
//For sensor 1
digitalWrite(trig1, LOW);
delayMicroseconds(2);
digitalWrite(trig1, HIGH);
delayMicroseconds(10);
duration1 = pulseIn(echo1, HIGH);
//For sensor 2
digitalWrite(trig2, LOW);
delayMicroseconds(2);
digitalWrite(trig2, HIGH);
delayMicroseconds(10);
duration2 = pulseIn(echo2, HIGH);
//For sensor 3
digitalWrite(trig3, LOW);
delayMicroseconds(2);
digitalWrite(trig3, HIGH);
delayMicroseconds(10);[/stextbox]

[stextbox id=’grey’ caption=’Calculate the distances and save them to variables.’]distance1 = (duration1/2)/29.1;
distance2 = (duration2/2)/29.1;
distance3 = (duration3/2)/29.1;[/stextbox]

[stextbox id=’grey’ caption=’Calculate the distances and save them to variables.’]if ( distance1 < 120 || distance2 < 120 || distance3 < 120 )
{
if ( distance1 <= 60 || distance2 <= 60 || distance3 <= 60 )
{
digitalWrite(buzzer, HIGH);
digitalWrite(motor,HIGH);
delay(50);
digitalWrite(buzzer,LOW);
digitalWrite(motor,LOW);
delay(50);
}[/stextbox]

Ниже приведены критерии, по которым можно активировать зуммер, двигатель или и то, и другое.

Расстояние

Операция

Для расстояния> 1,4 м

Без зуммера

Для 0,7 м <расстояние <1,4 м

Зуммер

расстояние <0,7 м

Зуммер + Вибрация

Для удобства пользователя, помимо зуммера, вибромотор также информирует пользователя о ближайшем препятствии в соответствующем направлении.

[stextbox id=’grey’ caption=’apart from the buzzer a vibrating motor informs the user of a nearby obstacle in the corresponding direction ‘]else if ( distance1 > 60 && distance1 < distance2 && distance1 < distance3 )
{
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer,LOW);
delay(500);
}
else if ( distance2 > 60 && distance2 < distance1 && distance2 < distance3 )
{
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer,LOW);
delay(500);
}
else if ( distance3 > 60 && distance3 < distance2 && distance3 < distance2 )
{
digitalWrite(buzzer, HIGH);
}
}
digitalWrite(buzzer,LOW);
}[/stextbox]

 







Просмотров: 220 | Добавил: Chinas | Рейтинг: 0.0/0








Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 347



          

Радио для всех© 2022