Viedā atkritumu tvertne no Magicbit: 5 soļi
Viedā atkritumu tvertne no Magicbit: 5 soļi
Anonim
Image
Image

Šajā apmācībā mēs uzzināsim, kā izveidot viedo miskasti, izmantojot Magicbit dev. dēlis ar Arduino IDE. Sāksim darbu.

Piegādes

  • Magicbit
  • Kabelis no USB-A līdz mikro-USB
  • Ultraskaņas sensors - HC -SR04 (vispārējs)
  • SG90 Mikroservo motors

1. darbība: stāsts

Aparatūras iestatīšana
Aparatūras iestatīšana

Pirms pāriet uz projektu, apskatiet, kas ir viedā atkritumu tvertne. Katrā mājā ir viena vai vairākas atkritumu urnas. Daudzas reizes jūs to aptvērāt. Jo tas radīs smaržu jūsu mājās. Tātad, ja vēlaties izmest atkritumus miskastē, tie ir jāatver. Bet, ja, ejot netālu no atkritumu tvertnes, lai saliktu atkritumus un automātiski tiktu atvērts vāks, tad kā tas izskatās. Traks aaa…. tā ir gudrā miskasti.

2. darbība: teorija un metodoloģija

Teorija ir ļoti vienkārša. Kad ejat netālu no atkritumu tvertnes, tā jūs atpazīs. Ja attālums starp jums un atkritumu tvertni ir mazāks par noteiktu attālumu, atkritumu tvertnes vāks tiks atvērts automātiski. Lai pabeigtu abus šos objektus, mēs izmantojam HC-SRO4 ultraskaņas sensoru un mazos servomotorus. Jūs varat iegūt jebkura veida digitālo servomotoru.

3. darbība. Aparatūras iestatīšana

Aparatūras iestatīšana
Aparatūras iestatīšana
Aparatūras iestatīšana
Aparatūras iestatīšana

Šim projektam mēs galvenokārt izmantojām trīs aparatūras komponentus. Tie ir Magicbit, servomotors un ultraskaņas sensors. Savienojums starp visām šīm daļām ir parādīts attēlā.

Ultraskaņas sensors ieslēgšanai izmantoja 3,3 v. Tāpēc mēs izmantojām Magicbit plates labo apakšējo portu, lai savienotu ultraskaņas sensoru ar Magicbit. Bet servomotors tiek izmantots 5V pareizai darbībai, tāpēc mēs izmantojām kreiso apakšējo portu, lai savienotu servomotoru ar Magicbit. Šajā gadījumā mēs izmantojam Magic bit servo savienotāja moduli. Bet, ja jums nav šī moduļa, varat izmantot trīs džemperu vadus, lai savienotu 5V līdz 5V, Gnd - Gnd un signāla tapu līdz 26 tapām magicbit.

Tagad apskatīsim mūsu projekta mehānisko pusi. Lai atvērtu vāku, mēs izmantojam ļoti vienkāršu sviras mehānismu. Mēs savienojām vienu sānu servo rokas skavu ar servo. Pēc tam mēs savienojām skavas stūra caurumu un atkritumu tvertnes vāku, izmantojot spēcīgu metāla stiepli. Metāla stieple var griezties attiecībā pret servo skavu un miskastes pārsegu. Izpētot augšējo attēlu un video, jūs to varat izveidot ļoti viegli.

4. solis: programmatūras iestatīšana

Programmatūras iestatīšana
Programmatūras iestatīšana

Programmatūras daļa ir arī ļoti vienkārša. Apskatīsim Arduino IDE kodu un to, kā šis kods darbojas.

Servo vadīšanai mēs izmantojam servo bibliotēku ESP32. Šī bibliotēka gandrīz iekļauj burvju bitu pārvaldnieku Arduino IDE. Lai tiktu galā ar ultraskaņas sensoru, mēs izmantojam newPing bibliotēku. To var lejupielādēt no šīs saites.

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

Lejupielādējiet zip failu un dodieties uz rīkiem> iekļaut bibliotēku> pievienojiet Zip bibliotēku Arduino. tagad atlasiet lejupielādēto jaunās tapas bibliotēkas zip failu. kodā mēs vispirms deklarējam servo un ultraskaņas sensoru bibliotēkas. Cilpas funkcijā mēs vienmēr pārbaudām attālumu no atkritumu tvertnes līdz tuvākajam priekšējam objektam. Ja šī rīve ir lielāka par 200, tad bibliotēkas izejas attālums ir 0. Ja attālums ir mazāks par 60 cm, tas tiek izpildīts cilpai, lai atvērtu vāku, pagriežot servo. Ja attālums ir lielāks par 60 cm, pārsegs tiks nolaists. Izmantojot Būla mainīgo, mēs vienmēr pārbaudām vāka stāvokli. Ja pārsegs ir uz leju, tas tikai atveras. Arī otrādi. Tagad izvēlieties pareizo COM portu un dēli kā magcibitu, pēc tam augšupielādējiet kodu. Tagad jūsu viedā atkritumu tvertne ir gatava lietošanai.

5. darbība: Arduino kods

#iekļaut

#definēt TRIGGER_PIN 21 #definēt ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing hidrolokatori (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // iekļaut servo bibliotēku int distance; Servo radarservo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Nosaka, uz kuras tapas ir piestiprināts servomotors (3000); } void loop () {// pagriež servomotoru no 15 līdz 165 grādiem (int i = 0; i <= 180; i ++) {RadarServo.write (i); kavēšanās (50); distance = sonar.ping_cm (); // Izsauc funkciju, lai aprēķinātu ultraskaņas sensora izmērīto attālumu katrai pakāpei (int j = 0; j0) {break; } Sērijas nospiedums (i); // Nosūta pašreizējo grādu Serial Port Serial.print (","); // Nosūta papildinājuma rakstzīmi tieši blakus iepriekšējai vērtībai, kas vēlāk nepieciešama apstrādes IDE, lai indeksētu Serial.print (j); // Nosūta pašreizējo grādu Serial Port Serial.print ("*"); Sērijas nospiedums (1); // Nosūta attāluma vērtību seriālajā portā Serial.print ("/"); // Nosūta papildinājuma rakstzīmi tieši blakus iepriekšējai vērtībai, kas vēlāk nepieciešama apstrādes IDE, lai indeksētu Serial.print (distance); // Nosūta attāluma vērtību seriālajā portā Serial.print ("."); // Nosūta papildinājuma rakstzīmi tieši blakus iepriekšējai vērtībai, kas nepieciešama vēlāk apstrādes IDE indeksēšanai}} // // Atkārto iepriekšējās rindas no 165 līdz 15 grādiem (int i = 180; i> = 0; i-) {RadarServo.rakstīt (i); kavēšanās (50); attālums = sonārs.ping_cm (); par (int j = 75; j> = 0; j- = 25) {ja (i == 180 && (j == 75 || j == 50 || j == 25)) {turpināt; } Sērijas nospiedums (i); // Nosūta pašreizējo grādu Serial Port Serial.print (","); // Nosūta papildinājuma rakstzīmi tieši blakus iepriekšējai vērtībai, kas vēlāk nepieciešama apstrādes IDE, lai indeksētu Serial.print (j); // Nosūta pašreizējo grādu Serial Port Serial.print ("*"); Sērijas nospiedums (-1); // Nosūta attāluma vērtību seriālajā portā Serial.print ("/"); // Nosūta papildinājuma rakstzīmi tieši blakus iepriekšējai vērtībai, kas vēlāk nepieciešama apstrādes IDE, lai indeksētu Serial.print (distance); // Nosūta attāluma vērtību seriālajā portā Serial.print ("."); // Nosūta papildinājuma rakstzīmi tieši blakus iepriekšējai vērtībai, kas vēlāk nepieciešama indeksēšanas apstrādes IDE}}}

Ieteicams: