Jak zrobić smart stick dla niewidomych za pomocą Arduino?

Mocno wierzę w cytat Helen Keller, który stwierdza „Jedyną rzeczą gorszą od bycia niewidomym jest widzenie, ale brak wzroku”. Technologia może pomóc osobom niepełnosprawnym prowadzić normalne życie, tak jak robią to inni ludzie. Wszyscy znają tę Indiankę o imieniu Arunima Sinha która straciła nogę w wypadku kolejowym i przez resztę życia musiała chodzić na protezach. Po wypadku postanowiła wspiąć się na Mount Everest na protetycznych nogach i dzięki temu najnowsza technologia utorowała jej drogę do spełnienia marzenia.



Smart Stick

Technologia rzeczywiście może zneutralizować ludzką niepełnosprawność; mając to na uwadze, skorzystajmy z mocy Arduino i proste czujniki do budowy kija dla niewidomych może to uratować życie osobom niedowidzącym. W patyku zostanie zainstalowany czujnik ultradźwiękowy, który wykryje odległość osoby od przeszkody, LDR wykrywa warunki oświetlenia i pilot RF, którego niewidomy mógłby użyć do zdalnego zlokalizowania swojego kija. Wszystkie wskazówki zostaną przekazane niewidomemu przez Buzzer. Możemy użyć silnika wibracyjnego zamiast Buzzera i znacznie bardziej rozwinąć naszą kreatywność.



Smart Stick dla niewidomych (dzięki uprzejmości zdjęcia: Circuit Digest)



Jak korzystać z Arduino w projektowaniu obwodu?

Teraz, gdy znamy streszczenie projektu, przejdźmy dalej i zbierzmy różne informacje, aby rozpocząć pracę. Najpierw sporządzimy listę komponentów, następnie krótko je przeanalizujemy, a następnie zbierzemy wszystkie komponenty, aby stworzyć działający system.



Krok 1: Potrzebne komponenty (sprzęt)

  • LDR
  • Brzęczyk
  • DOPROWADZIŁO
  • Nadajnik i odbiornik Supperhetrodine
  • Rezystor
  • Naciśnij przycisk
  • Veroboard
  • Bateria 9V
  • Cyfrowy multimetr
  • Pistolet na klej

Krok 2: Używane składniki (oprogramowanie)

  • Proteus 8 Professional (można pobrać z Tutaj )

Po pobraniu Proteus 8 Professional zaprojektuj na nim obwód. Zawarliśmy tutaj symulacje programowe, aby początkujący mogli wygodnie zaprojektować obwód i wykonać odpowiednie połączenia na sprzęcie.

Krok 3: Badanie komponentów

Teraz, gdy stworzyliśmy listę wszystkich komponentów, których będziemy używać w tym projekcie. Przejdźmy o krok dalej i przeprowadźmy krótkie przestudiowanie wszystkich głównych elementów.

  1. Arduino Nano: Arduino nano to płytka mikrokontrolera, która służy do sterowania lub wykonywania różnych zadań w obwodzie. Spalamy Kod C. na Arduino Nano, aby poinformować płytkę mikrokontrolera, jak i jakie operacje wykonać. Arduino Nano ma dokładnie taką samą funkcjonalność jak Arduino Uno, ale w dość niewielkich rozmiarach. Mikrokontroler na płycie Arduino Nano to ATmega328p.

    Arduino Nano



  2. Czujnik ultradźwiękowy HC-SR04: Płytka HC-SR04 to czujnik ultradźwiękowy służący do określania odległości między dwoma obiektami. Składa się z nadajnika i odbiornika. Nadajnik przekształca sygnał elektryczny w sygnał ultradźwiękowy, a odbiornik przetwarza sygnał ultradźwiękowy z powrotem na sygnał elektryczny. Kiedy nadajnik wysyła falę ultradźwiękową, odbija się ona po zderzeniu z określonym obiektem. Odległość jest obliczana na podstawie czasu potrzebnego na przejście sygnału ultradźwiękowego z nadajnika i powrotu do odbiornika.

    Czujnik ultradźwiękowy

  3. Nadajnik i odbiornik RF 433 mhz: Działa na określonej częstotliwości 433 MHz. Na rynku dostępnych jest kilka innych urządzeń wykorzystujących częstotliwości radiowe i w porównaniu z nimi wydajność modułu RF będzie zależeć od kilku czynników, na przykład gdy zwiększymy moc nadajnika, zostanie zgromadzony duży zasięg komunikacji. Spowoduje to duże zużycie energii elektrycznej w urządzeniu nadawczym, co powoduje krótszą żywotność urządzeń zasilanych bateryjnie. Jeśli użyjemy tego urządzenia przy większej mocy nadawanej, będzie ono powodować zakłócenia z innymi urządzeniami RF.

    Nadajnik i odbiornik RF

  4. 7805 Regulator napięcia: Regulatory napięcia mają duże znaczenie w obwodach elektrycznych. Nawet w przypadku wahań napięcia wejściowego ten regulator napięcia zapewnia stałe napięcie wyjściowe. W większości projektów możemy znaleźć zastosowanie układu 7805 IC. Nazwa 7805 ma dwa znaczenia, „78” oznacza dodatni regulator napięcia, a „05” oznacza, że ​​dostarcza 5V na wyjściu. Więc nasz regulator napięcia zapewni napięcie wyjściowe + 5V. Ten układ scalony może obsługiwać prąd około 1,5 A. Radiator jest zalecany do projektów, które zużywają więcej prądu. Na przykład, jeśli napięcie wejściowe wynosi 12 V, a pobierasz 1 A, wówczas (12-5) * 1 = 7 W. Te 7 watów zostanie rozproszone jako ciepło.

    Regulator napięcia

Krok 4: Montaż obwodu

Będziemy musieli zaprojektować dwa obwody dla tego projektu. Pierwszy obwód będzie umieszczony w odpowiednim miejscu na kiju niewidomego, a drugi będzie Nadajnik RF obwód i będzie używany do znalezienia obwodu głównego. Przed zaprojektowaniem obwodu na Proteusie musimy dołączyć do oprogramowania bibliotekę proteus odbiornika RF. Możesz pobrać bibliotekę z Tutaj a po pobraniu biblioteki otwórz plik Biblioteka folder i skopiuj MODULO_RF.LIB plik i wklej go w folderze Library programu Proteus. Jeśli nie możesz znaleźć folderu biblioteki, kliknij (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Po wykonaniu tej czynności otwórz folder MODELS i skopiuj plik RX.MDF i wklej go do folderu proteus MODELS. Jeśli nie możesz znaleźć folderu modeli, kliknij (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Schemat obwodu (dzięki uprzejmości ilustracji: Circuit Digest)

Mikrokontroler, który będzie używany do sterowania wszystkimi czujnikami w obwodzie to Arduino Nano. Zasilacz używany do pracy obwodu to bateria 9V i to napięcie 9V jest obniżane do 5V za pomocą 7805 Regulator napięcia. Można zobaczyć w obwodzie, że Czujnik ultradźwiękowy jest zasilany przez Vout regulatora napięcia. Piny wyzwalacza i echa czujnika są podłączone odpowiednio do pinu 3 i pinu 2 Arduino. Plik Rezystor światłoczuły (LDR) jest podłączony do potencjometru o wartości 10k i Analogowo do cyfrowego pin konwersji A1 Arduino jest podłączony do tego punktu, aby odnotować różnicę napięcia. Musimy znać sygnał, który jest emitowany przez odbiornik RF, więc podłączyliśmy pin A0 ADC, aby odczytać sygnał z odbiornika RF. Moc całego obwodu jest podana przez brzęczyk tak więc, dodatni pin brzęczyka jest podłączony do pinu 12 Arduino, a ujemny pin jest połączony z masą czujnika ultradźwiękowego.

Nie umieściliśmy nadajnika RF na naszym schemacie obwodu, ponieważ będziemy go montować na sprzęcie oddzielnie. Ilekroć używamy nadajnika i odbiornika superheterodynowego 433 MHz, potrzebujemy mikrokontrolera, aby je z nim połączyć, ale w tym projekcie potrzebujemy jedynego nadajnika do wysyłania sygnałów do odbiornika, więc połączyliśmy pin danych nadajnika z Vcc. Pin danych odbiornika jest przepuszczany przez filtr RC, a następnie łączony z pinem danych A0 Arduino. Naciskamy kilkakrotnie przycisk umieszczony na nadajniku, a po wciśnięciu przycisku odbiornik poda na wyjściu dowolną stałą wartość.

Nadajnik RF

Krok 5: Montaż sprzętu

Ponieważ przeprowadziliśmy symulację nie, jesteśmy w stanie wykonać prototyp. Podczas lutowania elementów na płycie Perf należy zwrócić szczególną uwagę na wyprowadzenia Arduino Nano. upewnij się, że piny nie stykają się ze sobą, w przeciwnym razie Arduino może zostać uszkodzone. Znajdź patyk w domu i podłącz do niego obwód składający się z Arduino i odbiornika RF. Możesz użyć pistoletu do klejenia na gorąco do zamocowania obwodu na sztyfcie i lepiej jest nałożyć trochę kleju na zaciski dodatnie i ujemne, aby przewody zasilacza nie mogły zostać odłączone, jeśli sztyft jest mocno uderzony w ziemię.

Obwód zmontowany na sprzęcie (zdjęcie dzięki uprzejmości: Przegląd obwodu)

Krok 6: Pierwsze kroki z Arduino

Jeśli wcześniej nie znasz Arduino IDE, nie martw się, ponieważ poniżej możesz zobaczyć wyraźne kroki nagrywania kodu na płycie mikrokontrolera za pomocą Arduino IDE. Możesz pobrać najnowszą wersję Arduino IDE z tutaj i wykonaj poniższe czynności:

  1. Gdy płytka Arduino jest podłączona do komputera, otwórz „Panel sterowania” i kliknij „Sprzęt i dźwięk”. Następnie kliknij „Urządzenia i drukarki”. Znajdź nazwę portu, do którego jest podłączona płyta Arduino. W moim przypadku jest to „COM14”, ale na twoim komputerze może być inaczej.

    Znajdowanie portu

  2. Kliknij menu Narzędzie. i ustaw tablicę na Arduino Nano z menu rozwijanego.

    Tablica nastawcza

  3. W tym samym menu narzędzi ustaw port na numer portu, który zaobserwowałeś wcześniej w Urządzenia i drukarki .

    Ustawianie portu

  4. W tym samym menu Narzędzia ustaw procesor na ATmega328P (stary program ładujący).

    Edytor

  5. Pobierz załączony poniżej kod i wklej go do swojego Arduino IDE. Kliknij na Przekazać plik przycisk, aby wypalić kod na płycie mikrokontrolera.

    Przekazać plik

Aby pobrać kod, Kliknij tutaj.

Krok 7: Zrozumienie Kodeksu

Kod jest dobrze skomentowany i nie wymaga objaśnień. Ale nadal jest to wyjaśnione poniżej:

  1. Na początku kodu inicjalizowane są wszystkie piny płyty Arduino Nano, które są podłączone do czujnika ultradźwiękowego i modułu RF.
const int trigger = 3; // Styk wyzwalający pierwszego czujnika const int echo = 2; // Pin echa pierwszego czujnika const int Buzz = 13; // Pin do podłączenia buzzera const int Remote = A0; const int Light = A1; długi czas_ zajęty; int dist; int Signal; int Intens; int similar_count;

2. void setup () jest funkcją używaną do ustawiania wszystkich używanych pinów jako WEJŚCIE i WYNIK. Szybkość transmisji jest definiowana w tej funkcji. Szybkość transmisji to szybkość komunikacji, z jaką płytka mikrokontrolera komunikuje się ze zintegrowanymi z nią czujnikami.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (wyzwalacz, WYJŚCIE); pinMode (echo, INPUT); }

3. Teraz utworzymy funkcję, która obliczy odległość.

void calculator_distance (wyzwalacz int, echo int) {digitalWrite (wyzwalacz, LOW); delayMicroseconds (2); digitalWrite (wyzwalacz, WYSOKI); delayMicroseconds (10); digitalWrite (wyzwalacz, LOW); time_taken = pulseIn (echo, HIGH); dist = czas_ zajęty * 0,034 / 2; if (dist> 300) dist = 300; }

Cztery. void loop () to funkcja, która działa wielokrotnie w jednym cyklu. W tej funkcji informujemy płytkę mikrokontrolera, jak i jakie operacje wykonać. W głównej pętli odczytamy dane z czujników. Tutaj, po pierwsze, pin wyzwalający jest ustawiony na wysyłanie sygnału, który zostanie wykryty przez pin echa. Stosowane są pewne warunki, aby dźwięk brzęczyka był ciągły, jeśli obiekt zostanie wykryty w określonej odległości. Brzęczyk wyda sygnał dźwiękowy z małą przerwą, jeśli wykryje ciemność, i wyda dźwięk z nieco większą przerwą, jeśli wykryje jasność.

void loop () {// nieskończona pętla oblicz_odległość (wyzwalacz, echo); Sygnał = analogRead (zdalny); Intens = analogRead (Light); // Sprawdź, czy naciśnięto przycisk Remote int temp = analogRead (Remote); similar_count = 0; while (Signal == temp) {Signal = analogRead (Remote); similar_count ++; } // Jeśli naciśnięto zdalne if (similar_count<100) { Serial.print(similar_count); Serial.println('Remote Pressed'); digitalWrite(Buzz,HIGH);delay(3000);digitalWrite(Buzz,LOW); } //If very dark if (Intens800) { Serial.print(Intens); Serial.println('Low Light'); digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500); digitalWrite(Buzz,LOW);delay(500); } if (dist<50) { Serial.print(dist); Serial.println('Object Alert'); digitalWrite(Buzz,HIGH); for (int i=dist; i>0; i--) opóźnienie (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) delay (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Krok 8: Testowanie

Ponieważ zrozumieliśmy kod, wgraliśmy go do mikrokontrolera i zmontowaliśmy sprzęt, teraz czas przetestować nasz projekt. Przed testowaniem upewnij się, że połączenia są wykonane prawidłowo i sprawdź ciągłość obwodu za pomocą multimetru cyfrowego. Do toczenia NA oba obwody korzystają z baterii 9V. Umieść przedmiot na powierzchni, na której testujesz i przesuń czujnik ultradźwiękowy przed nim, a zauważysz, że dźwięk brzęczyka wzrasta, gdy czujnik zbliża się do obiektu. Istnieją dwie możliwości, jeśli LDR jest zasłonięty w ciemności lub jeśli testujesz w słońcu, brzęczyk zacznie wydawać dźwięk. Jeśli przycisk zostanie naciśnięty na nadajniku RF, brzęczyk będzie wydawał dźwięk przez długi czas. Jeśli brzęczyk wydaje dźwięk przez długi czas, oznacza to, że alarm został fałszywie uruchomiony. Jeśli napotkasz tego rodzaju błąd, otwórz monitor szeregowy Arduino IDE i sprawdź parametry, które powodują tego rodzaju problem.

Testowanie sprzętu (dzięki uprzejmości ilustracji: Circuit Digest)

To był najprostszy sposób na zrobienie inteligentnego patyka dla niewidomych korzystających z Arduino. Wykonaj wszystkie wymienione powyżej kroki, a po pomyślnym przetestowaniu projektu poszukaj osoby niepełnosprawnej i zaproponuj jej ten projekt, aby ułatwić mu życie.