Talaan ng mga Nilalaman:

Smart Dustbin Mula sa Magicbit: 5 Mga Hakbang
Smart Dustbin Mula sa Magicbit: 5 Mga Hakbang

Video: Smart Dustbin Mula sa Magicbit: 5 Mga Hakbang

Video: Smart Dustbin Mula sa Magicbit: 5 Mga Hakbang
Video: Система однодолларовой шипы бедного мальчика № 2: Бедный мальчик присутствовал на вечеринке однокла 2024, Nobyembre
Anonim
Image
Image

Sa tutorial na ito malalaman natin ang tungkol sa kung paano gumawa ng isang Smart dustbin gamit ang Magicbit dev. sumakay sa Arduino IDE. Magsimula na tayo.

Mga gamit

  • Magicbit
  • USB-A hanggang sa Micro-USB Cable
  • Ultrasonic Sensor - HC-SR04 (Generic)
  • SG90 Micro-servo motor

Hakbang 1: Kwento

Pag-setup ng Hardware
Pag-setup ng Hardware

Bago lumipat sa proyekto hinahanap natin kung ano ang Smart dustbin. Mayroong isa o higit pang mga dustbins sa bawat tahanan. Sa maraming beses mo itong tinakpan. Dahil mabango iyon sa iyong tahanan. Kaya't kapag nais mong maglagay ng basura sa dustbin, kailangan mong buksan ito. Ngunit kung, kapag naglalakad ka malapit sa dustbin upang ilagay ang basura at awtomatikong takip ito ay bubukas kung gayon ang hitsura nito. Baliw aaa…. kaya't iyon ang matalinong dustbin.

Hakbang 2: Teorya at Pamamaraan

Napaka-simple ng teorya. Kapag naglalakad ka malapit sa dustbin ay makikita ka nito. Kung ang distansya sa pagitan mo at dustbin ay mas maliit kaysa sa ilang tinukoy na distansya, pagkatapos ang takip ng dustbin ay awtomatikong magbubukas. Para makumpleto ang parehong mga bagay na ginagamit namin ang HC-SRO4 ultrasonic sensor at maliit na servo motors. Maaari kang makakuha ng anumang uri ng digital servo motor.

Hakbang 3: Pag-setup ng Hardware

Pag-setup ng Hardware
Pag-setup ng Hardware
Pag-setup ng Hardware
Pag-setup ng Hardware

Para sa proyektong ito, pangunahing ginagamit namin ang tatlong mga bahagi ng hardware. Ang mga ito ay Magicbit, servo motor at ultrasonic sensor. Ang koneksyon sa pagitan ng lahat ng mga bahaging ito ay ipinapakita sa itaas ng Larawan.

Ginamit ng sensor ng ultrasonic ang 3.3 v para sa power up. Dahil doon ginamit namin ang kanang mas mababang port ng Magicbit board upang ikonekta ang ultrasonic sensor sa Magicbit. Ngunit ang servo motor ay ginagamit 5V para sa wastong pagtatrabaho, Dahil doon ginamit namin ang kaliwang mas mababang port upang ikonekta ang servo motor sa Magicbit. Sa kasong ito, gumagamit kami ng module ng konektor ng Magic bit servo. Ngunit kung wala kang modyul na iyon maaari kang gumamit ng tatlong mga jumper wires upang ikonekta ang 5V hanggang 5V, Gnd sa Gnd at signal pin sa 26 pin sa magicbit.

Hinahayaan ngayon tingnan ang mekanikal na bahagi ng aming proyekto. Upang buksan ang takip ay gumagamit kami ng napaka-simpleng mekanismo ng pingga. Ikinonekta namin ang isang gilid na clip ng servo ng kamay sa servo. Pagkatapos ay ikinonekta namin ang butas ng sulok sa clip at ang dustbin cover gamit ang malakas na metal wire. Ang metal wire ay maaaring paikutin patungkol sa servo clip at dustbin cover. Sa pamamagitan ng pag-aaral ng nangungunang imahe at video madali mo itong mabubuo.

Hakbang 4: Pag-setup ng Software

Pag-setup ng Software
Pag-setup ng Software

Ang bahagi ng software ay napakadali din. Tingnan natin ang Arduino IDE code at kung paano gumagana ang code na iyon.

Para sa pagmamaneho ng servo ginagamit namin ang library ng servo ng ESP32. Ang library na ito ay halos isama sa magic bit board manager sa Arduino IDE. Upang makitungo sa ultrasonic sensor gumagamit kami ng newPing library. Maaari itong ma-download mula sa sumusunod na link.

bitbucket.org/teckel12/arduino-new-ping/d…

I-download ang zip file at at pumunta sa mga tool> isama ang library> magdagdag ng Zip library sa Arduino. piliin ngayon ang iyong na-download na zip file ng bagong pin library. sa code unang idineklara namin ang mga silid aklatan ng servo at ultrasonic sensor. Sa pag-andar ng loop palagi naming sinusuri ang distansya mula sa dustbin sa pinakamalapit na harap na bagay. Kung ang grater na higit sa 200, pagkatapos ang distansya ng output ng library ay 0. Kapag ang distansya ay mas mababa sa 60cm, pagkatapos ay isinasagawa ito para sa loop para buksan ang takip sa pamamagitan ng pag-ikot ng servo. Kung ang distansya ay mas malaki sa 60cm pagkatapos ay ang pabalat ay ilalagay. Sa pamamagitan ng paggamit ng variable ng boolean palagi naming sinusuri ang estado ng takip. Kung ang takip ay nakabukas pagkatapos lamang ito ay magbubukas. Gayundin ang kabaligtaran. Piliin ngayon ang tamang COM port at board bilang magcibit, Pagkatapos ay i-upload ang code. Ngayon ang iyong matalinong dustbin ay handa nang gamitin.

Hakbang 5: Arduino Code

# isama

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); # isama // isama ang distansya ng servo library; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Tinutukoy kung aling pin ang servo motor na nakakabit na pagkaantala (3000); } void loop () {// paikutin ang servo motor mula 15 hanggang 165 degree para sa (int i = 0; i <= 180; i ++) {RadarServo.write (i); antala (50); distansya = sonar.ping_cm (); // Tumatawag ng isang pagpapaandar para sa pagkalkula ng distansya na sinusukat ng sensor ng Ultrasonic para sa bawat degree para sa (int j = 0; j0) {break; } Serial.print (i); // Nagpadala ng kasalukuyang degree sa Serial Port Serial.print (","); // Nagpapadala ng karagdagan ng character sa tabi mismo ng nakaraang halaga na kinakailangan sa paglaon sa Processing IDE para sa pag-index ng Serial.print (j); // Nagpadala ng kasalukuyang degree sa Serial Port Serial.print ("*"); Serial.print (1); // Ipinapadala ang halaga ng distansya sa Serial Port Serial.print ("/"); // Nagpapadala ng karagdagan ng character sa tabi mismo ng nakaraang halaga na kinakailangan sa paglaon sa Processing IDE para sa pag-index ng Serial.print (distansya); // Ipinapadala ang halaga ng distansya sa Serial Port Serial.print ("."); // Nagpapadala ng character ng karagdagan sa tabi mismo ng nakaraang halaga na kinakailangan sa paglaon sa Processing IDE para sa pag-index}} // Inuulit ang mga nakaraang linya mula 165 hanggang 15 degree para sa (int i = 180; i> = 0; i -) {RadarServo.sulat (i); antala (50); distansya = sonar.ping_cm (); para sa (int j = 75; j> = 0; j- = 25) {kung (i == 180 && (j == 75 || j == 50 || j == 25)) {magpatuloy; } Serial.print (i); // Nagpadala ng kasalukuyang degree sa Serial Port Serial.print (","); // Nagpapadala ng karagdagan ng character sa tabi mismo ng nakaraang halaga na kinakailangan sa paglaon sa Processing IDE para sa pag-index ng Serial.print (j); // Nagpadala ng kasalukuyang degree sa Serial Port Serial.print ("*"); Serial.print (-1); // Ipinapadala ang halaga ng distansya sa Serial Port Serial.print ("/"); // Nagpapadala ng karagdagan ng character sa tabi mismo ng nakaraang halaga na kinakailangan sa paglaon sa Processing IDE para sa pag-index ng Serial.print (distansya); // Ipinapadala ang halaga ng distansya sa Serial Port Serial.print ("."); // Nagpapadala ng character ng karagdagan sa tabi mismo ng nakaraang halaga na kinakailangan sa paglaon sa Processing IDE para sa pag-index}}}

Inirerekumendang: