- Mga Materyal na Kinakailangan:
- Blind Stick Circuit Diagram:
- Arduino Program para sa Smart Blind Stick:
- Arduino Blind Stick sa Aksyon:
Narinig mo na ba tungkol kay Hugh Herr? Siya ay isang tanyag na Amerikanong rock climber na sumira sa mga limitasyon ng kanyang mga kapansanan; siya ay isang malakas na naniniwala na ang teknolohiya ay maaaring makatulong sa mga taong may kapansanan upang mabuhay ng isang normal na buhay. Sa isa sa kanyang TED talk sinabi ni Herr na "Ang mga tao ay hindi may kapansanan. Ang isang tao ay hindi kailanman maaaring masira. Ang aming built environment, ang aming mga teknolohiya, ay nasira at hindi pinagana. Tayong mga tao ay hindi dapat tanggapin ang aming mga limitasyon, ngunit maaaring ilipat ang kapansanan sa pamamagitan ng teknolohikal na pagbabago ”. Hindi lamang ito mga salita ngunit binuhay niya ang kanyang buhay sa kanila, ngayon ay gumagamit siya ng mga Prosthetic na binti at inaangkin na mabuhay sa normal na buhay. Kaya't oo, ang teknolohiya ay talagang makatatanggal sa kapansanan ng tao; sa pag-iisip na ito, gumamit tayo ng ilang simpleng mga board ng pang-devlopment at sensor upang bumuo ng isang ultrasonic blind walk stick gamit ang Arduino na maaaring gumanap ng higit pa sa isang stick para sa mga taong may kapansanan sa paningin.
Ang Smart stick na ito ay magkakaroon ng isang sensor ng Ultrasonic upang maunawaan ang distansya mula sa anumang balakid, LDR na makaramdam ng mga kondisyon ng ilaw at isang remote na RF na ginagamit kung saan malayo matatagpuan ng bulag ang kanyang stick. Ang lahat ng mga puna ay ibibigay sa bulag sa pamamagitan ng isang Buzzer. Siyempre maaari kang gumamit ng isang vibrator motor kapalit ng Buzzer at isulong nang higit pa gamit ang iyong pagkamalikhain.
Mga Materyal na Kinakailangan:
- Arduino Nano (Anumang bersyon ay gagana)
- Ultrasonic Sensor HC-SR04
- LDR
- Buzzer at LED
- 7805
- 433MHz RF transmiter at receiver
- Mga lumalaban
- Mga capacitor
- Push button
- Perf board
- Soldering Kit
- 9V na baterya
Maaari kang bumili ng lahat ng kinakailangang mga bahagi para sa matalinong proyekto ng blind stick mula dito.
Blind Stick Circuit Diagram:
Ang Arduino Smart Blind Stick Project na ito ay nangangailangan ng dalawang magkakahiwalay na mga circuit. Ang isa ay ang pangunahing circuit na mai-mount sa stick ng bulag na tao. Ang iba pa ay isang maliit na remote RF transmitter circuit na gagamitin upang hanapin ang pangunahing circuit. Ang diagram ng circuit ng pangunahing board upang bumuo ng isang bulag na stick gamit ang ultrasonic sensor ay ipinapakita sa ibaba:
Tulad ng nakikita natin ang isang Arduino Nano ay ginagamit upang makontrol ang lahat ng mga sensor, ngunit maaari mo ring buuin ang Smart blind stick na ito gamit ang arduino uno ngunit pagsunod sa parehong mga pinout at programa. Ang kumpletong board ay pinalakas ng isang 9V na baterya na kinokontrol sa + 5V gamit ang isang 7805 Voltage regulator. Ang sensor ng Ultrasonic ay pinalakas ng 5V at ang gatilyo at Echo pin ay konektado sa Arduino nano pin 3 at 2 tulad ng ipinakita sa itaas. Ang LDR ay konektado sa isang risistor ng halagang 10K upang makabuo ng isang Potensyal na divider at ang pagkakaiba sa boltahe ay nabasa ng Arduino ADC pin A1. Ang ADC pin A0 ay ginagamit upang basahin ang signal mula sa RF receiver. Ang output ng board ay ibinibigay ng Buzzer na konektado sa pin 12.
Ang RF remote circuit ay ipinapakita sa ibaba. Ang pagtatrabaho nito ay karagdagang ipinaliwanag.
Gumamit ako ng isang maliit na pag-hack upang magawa ang RF remote control circuit na ito upang gumana. Karaniwan habang ginagamit ang 433 MHz RF module na ito ay nangangailangan ng isang Encoder at Decoder o dalawang MCU upang gumana, tulad ng aming nakaraang RF Transmitter at Receiver circuit ginamit namin ang HT12D at HT12E, decoder at encoder IC ayon sa pagkakabanggit. Ngunit, sa aming aplikasyon kailangan lang namin ang tatanggap upang makita kung ang nagpapadala ay nagpapadala ng ilang mga signal. Kaya't ang Data pin ng transmitter ay konektado sa Ground o Vcc ng supply.
Ang pin ng data ng tatanggap ay ipinapasa sa pamamagitan ng isang RC filter at pagkatapos ay ibinigay sa Arduino tulad ng ipinakita sa ibaba. Ngayon, tuwing pinindot ang pindutan ang output ng Receiver ng ilang pare-pareho na halaga ng ADC nang paulit-ulit. Ang pag-uulit na ito ay hindi maaaring sundin kapag ang pindutan ay hindi pinindot. Kaya nagsusulat kami ng programa ng Arduino upang suriin ang paulit-ulit na mga halaga upang makita kung ang pindutan ay pinindot. Kaya't kung paano ang isang taong Bulag ay maaaring subaybayan ang kanyang stick. Maaari mong suriin dito: kung paano gumagana ang RF transmitter at receiver.
Gumamit ako ng isang perf board upang maghinang ng lahat ng mga koneksyon upang ito ay maging buo sa stick. Ngunit, maaari mo ring gawin ang mga ito sa isang pisara. Ito ang mga board na ginawa ko para sa blind stick project na ito gamit ang arduino.
Arduino Program para sa Smart Blind Stick:
Kapag handa na kami sa aming hardware, maaari naming ikonekta ang Arduino sa aming Computer at simulan ang pag-program. Ang kumpletong code na ginamit para sa pahinang ito ay matatagpuan sa ilalim ng pahinang ito, maaari mo itong mai-upload nang direkta sa iyong lupon ng Arduino. Gayunpaman, kung gusto mong malaman kung paano gumana ang code nang higit pa.
Tulad ng lahat ng mga programa nagsisimula kami sa walang bisa na pag- set up () upang simulan ang mga pin ng Input Output. Sa aming programa ang Buzzer at Trigger pin ay isang Output na aparato at ang Echo pin ay isang Input na aparato. Pinasimulan din namin ang serial monitor para sa pag-debug.
void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (gatilyo, OUTPUT); pinMode (echo, INPUT); }
Sa loob ng pangunahing loop binabasa namin ang lahat ng data ng mga sensor. Nagsisimula kami sa pagbabasa ng data ng sensor ng sensor ng Ultrasonic para sa distansya, LDR para sa light intensity at RF signal upang suriin kung pinindot ang pindutan. Ang lahat ng data na ito ay nai-save sa isang variable tulad ng ipinakita sa ibaba para magamit sa hinaharap.
kinakalkula_distansya (gatilyo, echo); Signal = analogRead (Remote); Intens = analogRead (Light);
Nagsisimula kami sa pagsuri para sa Remote signal. Gumagamit kami ng isang variable na tinatawag na similar_count upang suriin kung gaano karaming beses ang parehong mga halaga ay inuulit mula sa RF receiver. Ang pag-uulit na ito ay magaganap lamang kapag pinindot ang pindutan. Kaya't pinapalabas namin ang Remote na pinindot na alarma kung ang bilang ay lumampas sa isang halagang 100.
// Suriin kung ang Remote ay pinindot int temp = analogRead (Remote); katulad_count = 0; habang (Signal == temp) {Signal = analogRead (Remote); katulad_count ++; } // Kung remote press kung (similar_count <100) {Serial.print (similar_count); Serial.println ("Remote Pressed"); digitalWrite (Buzz, MATAAS); pagkaantala (3000); digitalWrite (Buzz, LOW); }
Maaari mo ring suriin ito sa Serial Monitor sa iyong computer:
Susunod na susuriin namin ang tindi ng ilaw sa paligid ng bulag na tao. Kung ang LDR ay nagbibigay ng isang halaga ng mas mababa sa 200 ito ay ipinapalagay na napaka madilim at binibigyan namin siya ng babala sa pamamagitan ng buzzer na may isang tukoy na tono ng pagkaantala sa 200ms. Kung ang tindi ay napakaliwanag na higit sa 800 pagkatapos ay nagbibigay din kami ng isang babala sa ibang tono. Ang tone ng tunog at tindi ng alarm ay maaaring madaling iba-iba sa pamamagitan ng pagbabago ng kani-kanilang halaga sa ibaba code.
// Kung madilim kung (Intens <200) {Serial.print (Intens); Serial.println ("Bright Light"); digitalWrite (Buzz, HIGH); pagkaantala (200); digitalWrite (Buzz, LOW); pagkaantala (200); digitalWrite (Buzz, HIGH); pagkaantala (200); digitalWrite (Buzz, LOW); pagkaantala (200); pagkaantala (500); } // Kung napakaliwanag kung (Intens> 800) {Serial.print (Intens); Serial.println ("Mababang Liwanag"); digitalWrite (Buzz, HIGH); pagkaantala (500); digitalWrite (Buzz, LOW); pagkaantala (500); digitalWrite (Buzz, HIGH); pagkaantala (500); digitalWrite (Buzz, LOW); pagkaantala (500); }
Sa wakas, sinisimulan namin ang pagsukat ng distansya mula sa anumang balakid. Walang alarma kung ang sinusukat na distansya ay higit sa 50cm. Ngunit, kung ito ay mas mababa sa 50cm ang alarma ay magsisimula sa pamamagitan ng pag-beep ng buzzer. Habang papalapit ang bagay sa buzzer, babawas din ang agwat ng beeping. Ang mas malapit sa bagay ay mas mabilis na ang buzzer ay beep. Maaari itong magawa sa pamamagitan ng paglikha ng isang pagkaantala na proporsyonal sa sinusukat na distansya. Dahil ang pagkaantala () sa Arduino ay hindi maaaring tanggapin ang mga variable kailangan naming gumamit ng isang para sa loop na loop batay sa sinusukat na distansya tulad ng ipinakita sa ibaba.
kung (dist <50) {Serial.print (dist); Serial.println ("Object Alert"); digitalWrite (Buzz, TAAS); para sa (int i = dist; i> 0; i--) pagkaantala (10); digitalWrite (Buzz, LOW); para sa (int i = dist; i> 0; i--) pagkaantala (10); }
Matuto nang higit pa tungkol sa pagsukat ng distansya gamit ang Ultrasonic sensor at Arduino.
Ang programa ay maaaring madaling iakma para sa iyong aplikasyon sa pamamagitan ng pagbabago ng halaga na ginagamit namin upang ihambing. Ginagamit mo ang serial monitor upang i-debug kung ang isang maling alarma ay nagpalitaw. Kung mayroon kang anumang problema maaari mong gamitin ang seksyon ng komento sa ibaba upang mai-post ang iyong mga katanungan
Arduino Blind Stick sa Aksyon:
Sa wakas oras na upang subukan ang aming proyekto ng blind stick arduino. Siguraduhin na ang mga koneksyon ay tapos na alinsunod sa diagram ng circuit at matagumpay na na-upload ang programa. Ngayon, paganahin ang parehong mga circuit gamit ang isang 9V na baterya at dapat mong simulan upang makita ang mga resulta. Ilipat ang sensor ng Ultra Sonic na malapit sa object at mapapansin mo ang Buzzer beep at tataas ang pagtaas ng dalas ng beep habang papalapit ang stick sa object. Kung ang LDR ay natatakpan ng madilim o kung may labis na ilaw ay magbubunyi ang buzzer. Kung ang lahat ay normal ang buzzer ay hindi magbubunyi.
Kapag pinindot mo ang pindutan sa remote ang buzzer ay magbibigay ng isang mahabang pugak. Ang kumpletong pagtatrabaho ng Smart Stick na ito para sa mga bulag gamit ang Arduino ay ipinapakita sa Video na ibinigay sa dulo ng pahinang ito. Gumagamit din ako ng isang maliit na stick upang mai-mount ang kumpletong pagpupulong maaari mong gamitin ang isang mas malaki o isang aktwal na blind stick at ilagay ito sa aksyon.
Kung ang iyong buzzer ay laging beep nangangahulugan ito na ang alarma ay nagiging maling na-trigger. Maaari mong buksan ang serial monitor upang suriin ang mga parameter at suriin kung alin ang nahuhulog sa kritikal at ayusin iyon. Tulad ng dati maaari mong mai-post ang iyong problema sa seksyon ng komento upang makakuha ng tulong. Inaasahan kong naintindihan mo ang proyekto at nasiyahan sa pagbuo ng isang bagay.