- Tarvittavat materiaalit:
- Blind Stick -piirikaavio:
- Arduino-ohjelma älykkäälle sokealle kepille:
- Arduino Blind Stick toiminnassa:
Oletko koskaan kuullut Hugh Herristä? Hän on kuuluisa amerikkalainen kalliokiipeilijä, joka on hajonnut vammaistensa rajoitukset; hän on vahvasti sitä mieltä, että tekniikka voi auttaa vammaisia elämään normaalia elämää. Eräässä TED-puheessaan Herr sanoi: " Ihmiset eivät ole vammaisia. Henkilöä ei voi koskaan rikkoa. Rakennettu ympäristö, teknologiamme on rikki ja vammainen. Meidän, ihmisten, ei tarvitse hyväksyä rajoituksiamme, mutta voimme siirtää vammaisuuden teknologisen innovaation avulla ”. Nämä eivät olleet vain sanoja, mutta hän asui elämästään heille, tänään hän käyttää proteettisia jalkoja ja väittää elävänsä normaalia elämää. Joten kyllä, tekniikka voi todellakin neutralisoida ihmisen vammaisuuden; Tässä mielessä käyttäkäämme joitain yksinkertaisia kehyslevyjä ja antureita rakentaaksemme ultraäänisokeiden kävelykepin Arduinolla joka voisi tehdä muutakin kuin vain näkövammaisille tarkoitetun kepin.
Tässä älykkäässä sauvassa on ultraäänianturi, joka tunnistaa etäisyyden mistä tahansa esteestä, LDR tunnistaa valaistusolosuhteet ja radiotaajuuskaukosäätimen, jonka avulla sokea voisi etsiä mailansa. Kaikki palautteet annetaan sokealle summerin kautta. Tietenkin voit käyttää värähtelymoottoria summerin sijasta ja edetä paljon enemmän luovuutesi avulla.
Tarvittavat materiaalit:
- Arduino Nano (mikä tahansa versio toimii)
- Ultraäänianturi HC-SR04
- LDR
- Summeri ja LED
- 7805
- 433 MHz: n RF-lähetin ja vastaanotin
- Vastukset
- Kondensaattorit
- Paina nappia
- Täydellinen lauta
- Juotossarja
- 9 V: n paristot
Voit ostaa kaikki tarvittavat komponentit tämän älykkään sokea keppiä projektin täältä.
Blind Stick -piirikaavio:
Tämä Arduino Smart Blind Stick -projekti vaatii kaksi erillistä piiriä. Yksi on pääpiiri, joka asennetaan sokean kepille. Toinen on pieni RF-lähetinpiiri, jota käytetään pääpiirin paikantamiseen. Päätaulun piirikaavio sokean sauvan rakentamiseksi ultraäänianturilla on esitetty alla:
Kuten näemme, Arduino Nano -ohjelmaa käytetään kaikkien antureiden hallintaan, mutta voit myös rakentaa tämän älykkään sokkotikun arduino unolla, mutta noudattaen samoja pinouteja ja ohjelmaa. Koko kortti saa virtansa 9 V: n paristosta, joka säädetään + 5 V: n jännitteeksi 7805-jännitesäätimellä. Ultraäänianturi on virtansa 5V ja liipaisin ja Echo tappi on kytketty Arduino nano nastaan 3 ja 2, kuten edellä on esitetty. LDR on yhdistetty vastus arvon 10K muodostamiseksi mahdolliset jakaja ja jännite-ero luetaan Arduino ADC pin A1. ADC-nastaa A0 käytetään lukemaan signaali RF-vastaanottimesta. Levyn ulostulon antaa summeri, joka on kytketty napaan 12.
RF-kauko-piiri on esitetty alla. Sen toimintaa selitetään myös tarkemmin.
Olen käyttänyt pientä hakkerointia saadaksesi tämän RF-kaukosäätimen piirin toimimaan. Normaalisti tämän 433 MHz: n RF-moduulin käyttäminen vaatii toimiakseen kooderin ja dekooderin tai kaksi MCU: ta, kuten edellisessä RF-lähetin- ja vastaanotinpiirissämme käytimme HT12D- ja HT12E-, dekooderi- ja kooderi-IC: tä. Mutta sovelluksessamme tarvitsemme vain vastaanottimen havaitsemaan, lähettääkö lähetin signaaleja. Lähettimen datanasta on siis kytketty maadoitukseen tai Vcc: hen.
Vastaanottimen datanasta viedään RC-suodattimen läpi ja annetaan sitten Arduinolle alla olevan kuvan mukaisesti. Nyt kun painiketta painetaan, vastaanotin antaa toistuvasti vakion ADC-arvon. Tätä toistoa ei voida havaita, kun painiketta ei paineta. Joten kirjoitamme Arduino-ohjelman tarkistamaan toistuvat arvot, jotta havaitaan, painetaanko painiketta. Joten sokea ihminen voi seurata keppiään. Voit tarkistaa täältä: miten RF-lähetin ja vastaanotin toimivat.
Olen käyttänyt perf-levyä juotamaan kaikki liitännät niin, että se vahingoittuu sauvalla. Mutta voit tehdä ne myös leipälaudalle. Nämä ovat levyt, jotka tein tälle sokean kepin projektille arduinoa käyttäen.
Arduino-ohjelma älykkäälle sokealle kepille:
Kun olemme valmiit laitteistomme kanssa, voimme liittää Arduinon tietokoneeseemme ja aloittaa ohjelmoinnin. Täydellinen koodia käytetään tällä sivulla löytyy alareunassa tämän sivun, voit ladata sen suoraan Arduino piirilevy. Jos kuitenkin haluat tietää, miten koodi toimii, lue lisää.
Kuten kaikki ohjelmat, aloitamme void setup () -toiminnon aloittaaksesi Input Output -nastat. Ohjelmassamme summeri ja liipaisin-tappi on lähtölaite ja kaiun tappi on tulolaite. Alustamme myös sarjamonitorin virheenkorjausta varten.
void setup () {Sarja.alku (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (liipaisin, OUTPUT); pinMode (kaiku, INPUT); }
Sisällä tärkein lenkki luemme kaikki sensorit tiedot. Aloitamme lukemalla ultraäänianturin etäisyyden, LDR: n valon voimakkuuden ja RF-signaalin anturitiedot tarkistaaksesi, painetaanko painiketta. Kaikki nämä tiedot tallennetaan muuttujaan alla olevan kuvan mukaisesti tulevaa käyttöä varten.
Laske etäisyys (laukaista, kaiku); Signaali = analoginen (kaukosäädin); Intens = analoginen luku (valo);
Aloitamme etsimällä etäsignaali. Käytämme muuttujaa nimeltä hasonló_määrä tarkistaaksemme, kuinka monta kertaa samat arvot toistetaan RF-vastaanottimelta. Tämä toisto tapahtuu vain, kun painiketta painetaan. Joten laukaisemme kauko-ohjattavan hälytyksen, jos määrä ylittää arvon 100.
// Tarkista onko kaukosäädintä painettu int temp = analogRead (Remote); samanlainen_määrä = 0; while (Signaali == temp) {Signaali = analogRead (Kaukosäädin); samanlainen_määrä ++; } // Jos etänä painetaan, jos (samanlainen_määrä <100) {Sarja.tulos (samanlainen_määrä); Serial.println ("Kauko-ohjattava"); digitalWrite (Buzz, HIGH); viive (3000); digitalWrite (Buzz, LOW); }
Voit tarkistaa sen myös tietokoneen Serial Monitorista:
Seuraavaksi tarkistamme valon voimakkuuden sokean ympärillä. Jos LDR antaa arvon alle 200, sen oletetaan olevan hyvin tumma ja annamme hänelle varoituksen summerin kautta tietyllä viiveellä 200 ms. Jos voimakkuus on erittäin kirkas, yli 800, annamme myös varoituksen toisella äänellä. Hälytysääntä ja voimakkuutta voidaan helposti muuttaa muuttamalla vastaavaa arvoa alla olevassa koodissa.
// Jos hyvin tumma, jos (Intens <200) {Sarja.tulos (Intens); Serial.println ("kirkas valo"); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); delay (200); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); delay (200); viive (500); } // Jos erittäin kirkas, jos (Intens> 800) {Serial.print (Intens); Serial.println ("heikko valo"); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); delay (500); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); delay (500); }
Lopuksi aloitamme etäisyyden mittaamisen kaikista esteistä. Hälytystä ei tule, jos mitattu etäisyys on yli 50 cm. Mutta jos se on alle 50 cm, hälytys alkaa äänimerkillä. Kun esine lähestyy summeria, myös piippausväli lyhenee. Mitä lähempänä esine on, sitä nopeammin summeri antaa äänimerkin. Tämä voidaan tehdä luomalla viive, joka on verrannollinen mitattuun etäisyyteen. Koska viive () Arduino ei voi hyväksyä muuttujia meidän täytyy käyttää varten silmukan, joka silmukka, joka perustuu mitatun etäisyyden, kuten on esitetty alla.
if (dist <50) {Sarja.tulos (dist); Serial.println ("Object Alert"); digitalWrite (Buzz, HIGH); (int i = dist; i> 0; i-) viiveelle (10); digitalWrite (Buzz, LOW); (int i = dist; i> 0; i-) viiveelle (10); }
Lisätietoja etäisyyden mittaamisesta ultraäänianturilla ja Arduinolla.
Ohjelma voidaan helposti mukauttaa sovellukseesi muuttamalla arvoa, jota käytämme vertailuun. Sarjakuvaruutua käytetään virheenkorjaukseen, jos väärä hälytys laukeaa. Jos sinulla on ongelmia, voit lähettää kysymyksesi alla olevan kommenttiosan avulla
Arduino Blind Stick toiminnassa:
Viimeinkin on aika testata sokkotikku Arduino- projektimme. Varmista, että liitännät on tehty piirikaavion mukaisesti ja että ohjelma on ladattu onnistuneesti. Kytke nyt molemmat piirit 9 V: n paristolla, ja sinun pitäisi alkaa nähdä tuloksia. Siirrä Ultra Sonic -anturi lähemmäksi kohdetta ja huomaat, että summeri antaa äänimerkin, ja tämä piippaustaajuus kasvaa, kun keppi menee lähemmäksi kohdetta. Jos LDR on pimeässä tai jos valoa on liikaa, summeri antaa äänimerkin. Jos kaikki on normaalia, summeri ei anna äänimerkkiä.
Kun painat kaukosäätimen painiketta, summeri antaa pitkän äänimerkin. Tämän sokeille tarkoitetun älykortin täydellinen käyttö Arduinoa käyttäen näkyy tämän sivun lopussa olevassa videossa. Käytän myös pientä keppiä koko kokoonpanon asentamiseen. Voit käyttää isompaa tai varsinaista sokkotikkua ja laittaa sen toimintaan.
Jos summerisi piippaa aina, se tarkoittaa, että hälytys laukaistaan väärin. Voit avata sarjamoduulin tarkistaaksesi parametrit ja tarkistaaksesi kriittisen kriisin ja säätääksesi sitä. Kuten aina, voit lähettää ongelmasi kommenttiosioon saadaksesi apua. Toivottavasti ymmärrät projektin ja nautit jonkin rakentamisesta.