- Potrebné materiály:
- Schéma zapojenia naslepo:
- Program Arduino pre Smart Blind Stick:
- Blind Stick Arduino v akcii:
Počuli ste už o Hughovi Herrovi? Je slávny americký horolezec, ktorý zlomil obmedzenia svojich zdravotných postihnutí; pevne verí, že technológia by mohla pomôcť postihnutým osobám žiť normálny život. V jednom zo svojich rozhovorov o TED Herr povedal: „ Ľudia nie sú zdravotne postihnutí. Človek sa nikdy nemôže zlomiť. Naše zastavané prostredie, naše technológie sú narušené a zakázané. My ľudia nemusíme akceptovať svoje obmedzenia, ale môžeme prenášať zdravotné postihnutie prostredníctvom technologických inovácií “. Neboli to len slová, ale žil nimi svoj život, dnes používa protetické nohy a tvrdí, že žije normálnym životom. Takže áno, technológia môže skutočne neutralizovať ľudské postihnutie; s týmto vedomím použijeme niekoľko jednoduchých vývojových dosiek a senzorov na zostavenie ultrazvukovej slepej vychádzkovej palice pomocou Arduina ktorá by pre zrakovo postihnuté osoby mohla predstavovať viac než len palicu.
Táto inteligentná hokejka bude mať ultrazvukový senzor na snímanie vzdialenosti od akejkoľvek prekážky, LDR na snímanie svetelných podmienok a RF diaľkový ovládač, pomocou ktorého by slepý človek mohol diaľkovo lokalizovať svoju hokejku. Všetky spätné väzby budú poskytované slepému človeku prostredníctvom bzučiaka. Samozrejme môžete použiť vibračný motor namiesto bzučiaka a svojou kreativitou napredovať oveľa viac.
Potrebné materiály:
- Arduino Nano (bude fungovať ktorákoľvek verzia)
- Ultrazvukový senzor HC-SR04
- LDR
- Bzučiak a LED
- 7805
- 433MHz RF vysielač a prijímač
- Rezistory
- Kondenzátory
- Stlačte tlačidlo
- Perf doska
- Spájkovacia súprava
- 9V batérie
Všetky potrebné komponenty pre tento projekt inteligentnej slepej tyče si môžete kúpiť tu.
Schéma zapojenia naslepo:
Tento projekt Arduino Smart Blind Stick vyžaduje dva samostatné obvody. Jedným z nich je hlavný okruh, ktorý bude namontovaný na palici slepca. Druhým je malý diaľkový obvod RF vysielača, ktorý sa použije na lokalizáciu hlavného obvodu. Schéma zapojenia hlavnej dosky na vytvorenie slepej tyčky pomocou ultrazvukového snímača je uvedená nižšie:
Ako vidíme, Arduino Nano sa používa na ovládanie všetkých senzorov, ale túto inteligentnú slepú tyč môžete tiež zostaviť pomocou arduino uno, ale podľa rovnakých pinov a programu. Celá doska je napájaná z 9 V batérie, ktorá je regulovaná na + 5 V pomocou regulátora napätia 7805. Ultrazvukový snímač je napájaný 5V a spúšť a Echo čap je spojený s Arduino nano pin 3 a 2, ako je uvedené vyššie. LDR je spojená s odporom hodnoty 10K pre vytvorenie deliče napätia a rozdiel v napätí je čítaný Arduino ADC pin A1. ADC pin A0 sa používa na čítanie signálu z RF prijímača. Výstup na doske je daný bzučiakom, ktorý je pripojený na pin 12.
RF diaľkový obvod je uvedený nižšie. Ďalej je vysvetlená jeho činnosť.
Použil som malý hack, aby tento obvod RF diaľkového ovládania fungoval. Bežne pri použití tohto 433 MHz RF modulu je na prácu potrebný enkodér a dekodér alebo dva MCU, rovnako ako v našom predchádzajúcom obvode RF vysielača a prijímača sme používali dekodér a kódovač IC HT12D a HT12E. Ale v našej aplikácii potrebujeme iba prijímač, aby zistil, či vysielač vysiela nejaké signály. Dátový pin vysielača je teda pripojený k zemi alebo Vcc napájacieho zdroja.
Dátový kolík prijímača je vedený cez RC filter a potom odovzdaný Arduinu, ako je zobrazené nižšie. Teraz, kedykoľvek je stlačené tlačidlo, prijímač opakovane vysiela konštantnú hodnotu ADC. Toto opakovanie nie je možné pozorovať, keď nie je stlačené tlačidlo. Napíšeme teda program Arduino na kontrolu opakovaných hodnôt, aby sme zistili, či je stlačené tlačidlo. Takže takto môže nevidiaci vystopovať svoju hokejku. Môžete skontrolovať tu: ako fungujú RF vysielače a prijímače.
Použil som dosku perf na spájkovanie všetkých spojov tak, aby sa nedotkli tyčinky. Môžete ich však vyrobiť aj na palubovke. Toto sú dosky, ktoré som pre tento projekt slepej hokejky vytvoril pomocou arduina.
Program Arduino pre Smart Blind Stick:
Keď sme pripravení na hardvér, môžeme Arduino pripojiť k nášmu počítaču a začať programovať. Kompletné kód použitý pre túto stránku možno nájsť v dolnej časti tejto stránky, môžete ho nahrať priamo do Arduino doske. Ak ste však zvedaví, ako kód funguje, prečítajte si ďalej.
Rovnako ako všetky programy, aj tu začíname programom void setup () na inicializáciu vstupných a výstupných pinov. V našom programe je pin Buzzer a Trigger výstupné zariadenie a pin Echo je vstupné zariadenie. Inicializujeme tiež sériový monitor na ladenie.
void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (echo, INPUT); }
Vo vnútri hlavnej slučky čítame všetky údaje zo senzorov. Začneme čítaním údajov senzora ultrazvukového senzora vzdialenosti, LDR intenzity svetla a RF signálu, aby sme skontrolovali, či je stlačené tlačidlo. Všetky tieto údaje sú uložené v premennej, ako je uvedené nižšie pre budúce použitie.
vypočítať_vzdialenosť (spúšť, echo); Signál = analogRead (vzdialený); Intens = analogRead (svetlo);
Začíname kontrolou signálu diaľkového ovládača. Pomocou premennej s názvom similar_count kontrolujeme, koľkokrát sa z RF prijímača opakujú rovnaké hodnoty. Toto opakovanie sa vyskytne iba po stlačení tlačidla. Spustíme teda alarm stlačený na diaľku, ak počet prekročí hodnotu 100.
// Skontrolujte, či je stlačené Remote int temp = analogRead (Remote); podobný_počet = 0; while (Signal == temp) {Signal = analogRead (Remote); podobný_počet ++; } // Ak je stlačené diaľkové ovládanie if (similar_count <100) {Serial.print (similar_count); Serial.println ("Diaľkovo stlačené"); digitalWrite (Buzz, HIGH); oneskorenie (3000); digitalWrite (Buzz, LOW); }
Môžete to skontrolovať aj na Serial Monitor na počítači:
Ďalej kontrolujeme intenzitu svetla okolo slepca. Ak LDR dáva hodnotu menšiu ako 200, predpokladá sa, že je veľmi tmavá, a dáme mu varovanie pomocou bzučiaka so špecifickým tónom oneskorenia s 200ms. Ak je intenzita veľmi jasná, viac ako 800, potom dáme výstrahu ďalším tónom. Tón a intenzita alarmu sa dajú ľahko meniť zmenou príslušnej hodnoty v nižšie uvedenom kóde.
// Ak je veľmi tma if (Intens <200) {Serial.print (Intens); Serial.println ("Jasné svetlo"); digitalWrite (Buzz, HIGH); oneskorenie (200); digitalWrite (Buzz, LOW); delay (200); digitalWrite (Buzz, HIGH); oneskorenie (200); digitalWrite (Buzz, LOW); oneskorenie (200); oneskorenie (500); } // Ak je veľmi jasný if (Intens> 800) {Serial.print (Intens); Serial.println ("Slabé svetlo"); digitalWrite (Buzz, HIGH); oneskorenie (500); digitalWrite (Buzz, LOW); oneskorenie (500); digitalWrite (Buzz, HIGH); oneskorenie (500); digitalWrite (Buzz, LOW); oneskorenie (500); }
Nakoniec začneme merať vzdialenosť od akejkoľvek prekážky. Ak je nameraná vzdialenosť väčšia ako 50 cm, nebude vydávať žiadny alarm. Ale ak je to menej ako 50 cm alarm začne pípaním bzučiaka. Keď sa objekt priblíži k bzučiaku, interval pípania sa tiež zníži. Čím bližšie je objekt, tým rýchlejšie bude bzučiak pípať. To je možné dosiahnuť vytvorením oneskorenia, ktoré je úmerné nameranej vzdialenosti. Pretože delay () v Arduine nedokáže akceptovať premenné, musíme použiť slučku for, ktorá slučky vychádza z nameranej vzdialenosti, ako je uvedené nižšie.
if (dist <50) {Serial.print (dist); Serial.println ("Upozornenie na objekt"); digitalWrite (Buzz, HIGH); pre (int i = dist; i> 0; i--) oneskorenie (10); digitalWrite (Buzz, LOW); pre (int i = dist; i> 0; i--) oneskorenie (10); }
Získajte viac informácií o meraní vzdialenosti pomocou ultrazvukového snímača a Arduina.
Program je možné ľahko prispôsobiť vašej aplikácii zmenou hodnoty, ktorú používame na porovnanie. Pomocou sériového monitora ladíte, ak sa spustí falošný poplach. Ak máte akýkoľvek problém, môžete svoje otázky uverejniť v sekcii komentárov nižšie
Blind Stick Arduino v akcii:
Konečne je čas vyskúšať náš projekt arduino na blind stick. Uistite sa, že sú pripojenia vykonané podľa schémy zapojenia a program je úspešne nahraný. Teraz oba okruhy napájajte pomocou 9V batérie a mali by ste začať vidieť výsledky. Posuňte snímač Ultra Sonic bližšie k objektu a všimnete si pípanie bzučiaka a táto frekvencia pípania sa zvyšuje, keď sa páčka približuje k objektu. Ak je LDR tmavý alebo je príliš veľa svetla, bzučiak pípne. Ak je všetko v poriadku, bzučiak nebude pípať.
Keď stlačíte tlačidlo na diaľkovom ovládači, bzučiak vydá dlhé pípnutie. Kompletné fungovanie tejto Smart Stick pre nevidiacich pomocou Arduina je zobrazené na videu na konci tejto stránky. Na namontovanie kompletnej zostavy tiež používam malú palicu, môžete použiť väčšiu alebo skutočnú slepú palicu a uviesť ju do činnosti.
Ak váš bzučiak stále pípa, znamená to, že alarm je spustený falošne. Môžete otvoriť sériový monitor, skontrolovať parametre a skontrolovať, ktoré hodnoty spadajú do kritickej polohy, a upraviť to. Ako vždy môžete svoj problém uverejniť v sekcii komentárov, kde získate pomoc. Dúfam, že ste pochopili projekt a bavilo vás niečo stavať.