Orodha ya maudhui:

Dustbin ya Smart kutoka kwa Magicbit: Hatua 5
Dustbin ya Smart kutoka kwa Magicbit: Hatua 5

Video: Dustbin ya Smart kutoka kwa Magicbit: Hatua 5

Video: Dustbin ya Smart kutoka kwa Magicbit: Hatua 5
Video: BURUKLYN BOYZ - DREAM YA KUTOKA KWA BLOCK (Official Music Video)#kenyandrill #kwaninikesho#tanonane 2024, Novemba
Anonim
Image
Image

Katika mafunzo haya tutajifunza juu ya jinsi ya kutengeneza vumbi la Smart kutumia Magicbit dev. bodi na Arduino IDE. Hebu tuanze.

Vifaa

  • Uchawi
  • USB-A hadi kebo ya Micro-USB
  • Sensorer ya Ultrasonic - HC-SR04 (Kawaida)
  • SG90 Micro-servo motor

Hatua ya 1: Hadithi

Usanidi wa Vifaa
Usanidi wa Vifaa

Kabla ya kuhamia kwenye mradi hebu angalia ni nini dustbin ya Smart. Kuna moja au zaidi ya vumbi katika kila nyumba. Katika nyakati nyingi uliifunika. Kwa sababu hiyo itafanya harufu nyumbani kwako. Kwa hivyo wakati unataka kuweka takataka kwenye vumbi, lazima uifungue. Lakini ikiwa, unapotembea karibu na vumbi kuweka takataka na moja kwa moja inashughulikia inafunguliwa basi sura yake inaonekanaje. Wazimu aaa…. hivyo hiyo ni dustbin smart.

Hatua ya 2: Nadharia na Mbinu

Nadharia ni rahisi sana. Unapotembea karibu na vumbi itakugundua. Ikiwa umbali kati yako na dustbin ni mdogo kuliko umbali uliofafanuliwa, basi kifuniko cha dustbin kitafunguliwa kiatomati. Kwa kukamilisha vitu hivi vyote tunatumia sensorer ya ultrasonic ya HC-SRO4 na motors ndogo za servo. Unaweza kupata aina yoyote ya dijiti ya servo ya dijiti.

Hatua ya 3: Usanidi wa vifaa

Usanidi wa Vifaa
Usanidi wa Vifaa
Usanidi wa Vifaa
Usanidi wa Vifaa

Kwa mradi huu tulitumia vifaa vitatu vya vifaa. Wao ni Magicbit, servo motor na sensor ya ultrasonic. Uunganisho kati ya sehemu hizi zote umeonyeshwa kwenye Kielelezo hapo juu.

Sensorer ya Ultrasonic ilitumia 3.3 v kuongeza nguvu. Kwa hivyo tulitumia bandari ya chini kulia ya bodi ya Magicbit kuunganisha sensor ya ultrasonic kwa Magicbit. Lakini servo motor hutumiwa 5V kwa kufanya kazi vizuri, Kwa hivyo tulitumia bandari ya kushoto ya chini kuunganisha servo motor na Magicbit. Katika kesi hii, tunatumia moduli ya kiunganishi cha servo ya Uchawi. Lakini ikiwa huna moduli hiyo unaweza kutumia waya tatu za kuruka kuunganisha 5V hadi 5V, Gnd hadi Gnd na pini ya ishara kwa pini 26 kwenye magicbit.

Sasa hebu tuangalie upande wa mitambo ya mradi wetu. Kufungua kifuniko tunatumia utaratibu rahisi sana wa lever. Tuliunganisha kipande cha mkono cha servo cha upande mmoja na servo. Kisha tuliunganisha shimo la kona kwenye kipande cha picha na kifuniko cha vumbi kwa kutumia waya wenye nguvu wa chuma. Waya ya chuma inaweza kuzunguka kwa heshima na kipande cha servo na kifuniko cha vumbi. Kwa kusoma picha ya juu na video unaweza kuijenga kwa urahisi sana.

Hatua ya 4: Usanidi wa Programu

Usanidi wa Programu
Usanidi wa Programu

Sehemu ya programu pia ni rahisi sana. Wacha tuangalie nambari ya Arduino IDE na jinsi nambari hiyo inavyofanya kazi.

Kwa kuendesha servo tunatumia maktaba ya ESP32 servo. Maktaba hii karibu inajumuisha katika meneja wa bodi ya uchawi huko Arduino IDE. Kukabiliana na sensorer ya ultrasonic tunatumia maktaba ya newPing. Hii inaweza kupakuliwa kutoka kwa kufuata kiunga.

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

Pakua faili ya zip na zana za kwenda> pamoja na maktaba> ongeza maktaba ya Zip huko Arduino. sasa chagua faili yako ya zip iliyopakuliwa ya maktaba mpya ya pini. katika nambari tunatangaza kwanza maktaba ya sensorer na sensa ya ultrasonic. Katika kazi ya kitanzi sisi huangalia kila wakati umbali kutoka kwa vumbi hadi kitu cha mbele kilicho karibu. Ikiwa grater hiyo ni zaidi ya 200, basi pato la maktaba ni 0. Wakati umbali uko chini ya 60cm, basi inafanya kitanzi kufungua kifuniko kwa kuzungusha servo. Ikiwa umbali ni mkubwa kuliko 60cm basi kifuniko kitawekwa chini. Kwa kutumia tofauti ya boolean sisi huangalia kila wakati hali ya kifuniko. Ikiwa kifuniko kiko chini basi kitafunguliwa tu. Pia kinyume chake. Sasa chagua bandari sahihi ya COM na bodi kama magcibit, kisha pakia nambari hiyo. Sasa dustbin yako nzuri iko tayari kutumika.

Hatua ya 5: Msimbo wa Arduino

# pamoja

#fafanua TRIGGER_PIN 21 #fafanua ECHO_PIN 22 #fafanua MAX_DISTANCE 200 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); # pamoja na // ni pamoja na maktaba ya servo int umbali; Servo RadaServo; kuanzisha batili () {Serial.begin (115200); RadarServo.ambatanisha (26); // Inafafanua juu ya pini ipi ambayo servo motor imecheleweshwa kuchelewa (3000); } kitanzi batili () {// huzungusha servo motor kutoka digrii 15 hadi 165 kwa (int i = 0; i <= 180; i ++) {RadarServo.write (i); kuchelewesha (50); umbali = sonar.ping_cm (); } Serial.print (i); // Inatuma kiwango cha sasa kwenye Serial Serial Port.print (","); // Inatuma herufi ya kuongeza karibu kabisa na dhamana ya hapo awali inahitajika baadaye katika IDE ya Usindikaji kwa kuorodhesha Serial.print (j); // Inatuma kiwango cha sasa kwenye Serial Serial.print ("*"); Rekodi ya serial (1); // Inatuma thamani ya umbali katika Serial Serial Printa ("/"); // Inatuma herufi ya kuongeza karibu kabisa na thamani ya hapo awali inahitajika baadaye katika IDE ya Usindikaji kwa kuorodhesha Serial.print (umbali); // Inatuma thamani ya umbali katika Serial Serial Printa ("."); // Inatuma herufi ya kuongeza karibu kabisa na thamani ya hapo awali inayohitajika baadaye katika IDE ya Usindikaji kwa kuorodhesha)} // Inarudia mistari iliyotangulia kutoka digrii 165 hadi 15 kwa (int i = 180; i> = 0; i -) {RadarServo andika (i); kuchelewesha (50); umbali = sonar.ping_cm (); kwa (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {endelea; } Serial.print (i); // Inatuma kiwango cha sasa kwenye Serial Serial Port.print (","); // Inatuma herufi ya kuongeza karibu kabisa na dhamana ya hapo awali inahitajika baadaye katika IDE ya Usindikaji kwa kuorodhesha Serial.print (j); // Inatuma kiwango cha sasa kwenye Serial Serial.print ("*"); Serial.print (-1); // Inatuma thamani ya umbali katika Serial Serial Printa ("/"); // Inatuma herufi ya kuongeza karibu kabisa na thamani ya hapo awali inahitajika baadaye katika IDE ya Usindikaji kwa kuorodhesha Serial.print (umbali); // Inatuma thamani ya umbali katika Serial Serial Printa ("."); // Hutuma herufi ya kuongeza karibu kabisa na thamani ya hapo awali inayohitajika baadaye katika IDE ya Usindikaji kwa uorodheshaji}}}

Ilipendekeza: