Sadržaj:

Pametna kanta za otpatke iz Magicbita: 5 koraka
Pametna kanta za otpatke iz Magicbita: 5 koraka

Video: Pametna kanta za otpatke iz Magicbita: 5 koraka

Video: Pametna kanta za otpatke iz Magicbita: 5 koraka
Video: ТАКОЙ ВКУСНОЙ БАРАНИНЫ ВЫ ЕЩЁ НЕ ЕЛИ!! СИМФОНИЯ ВКУСОВ! ТЫКВА, БАРАНИНА, БАТАТ. 2024, Novembar
Anonim
Image
Image

U ovom ćemo vodiču naučiti o tome kako napraviti pametnu kantu za smeće koristeći Magicbit dev. ploča sa Arduino IDE -om. Počnimo.

Supplies

  • Magicbit
  • USB-A na mikro-USB kabel
  • Ultrazvučni senzor - HC -SR04 (općenito)
  • SG90 Mikro-servo motor

Korak 1: Priča

Postavljanje hardvera
Postavljanje hardvera

Prije nego pređemo na projekt, pogledajmo šta je pametna kanta za smeće. U svakom domu postoji jedna ili više kanti za smeće. U mnogim ste slučajevima to pokrivali. Zato što će u vašem domu mirisati. Dakle, ako želite staviti smeće na kantu za otpatke, morate ga otvoriti. Ali ako se, kada se približite kanti za smeće i automatski otvori poklopac, otvori, onda to izgleda. Ludo aaa …. pa to je pametna kanta za smeće.

Korak 2: Teorija i metodologija

Teorija je vrlo jednostavna. Kad se približite kanti za otpatke, otkrit će vas. Ako je udaljenost između vas i kante za smeće manja od neke određene udaljenosti, poklopac kante za otpatke će se otvoriti automatski. Za dovršenje oba ova objekta koristimo HC-SRO4 ultrazvučni senzor i male servo motore. Možete nabaviti bilo koju vrstu digitalnog servo motora.

Korak 3: Postavljanje hardvera

Postavljanje hardvera
Postavljanje hardvera
Postavljanje hardvera
Postavljanje hardvera

Za ovaj projekt uglavnom smo koristili tri hardverske komponente. To su Magicbit, servo motor i ultrazvučni senzor. Veza svih ovih dijelova prikazana je na gornjoj slici.

Ultrazvučni senzor koristi 3,3 V za uključivanje. Stoga smo koristili desni donji port Magicbit ploče za povezivanje ultrazvučnog senzora na Magicbit. No, servo motor se koristi 5V za pravilan rad, stoga smo koristili donji lijevi port za povezivanje servo motora s Magicbitom. U ovom slučaju koristimo Magic bit servo konektorski modul. Ali ako nemate taj modul, možete koristiti tri kratkospojne žice za spajanje 5V na 5V, Gnd na Gnd i signalni pin na 26 pinova na magicbit -u.

Pogledajmo sada mehaničku stranu našeg projekta. Za otvaranje poklopca koristimo vrlo jednostavan mehanizam s polugom. Spojili smo jednu stranu servo ručne kopče na servo. Zatim smo pomoću jake metalne žice spojili kutnu rupu u kopči i poklopac kante za smeće. Metalna žica može se okretati u odnosu na servo kopču i poklopac kante za smeće. Proučavajući vrhunsku sliku i video zapis možete to vrlo lako izgraditi.

Korak 4: Postavljanje softvera

Postavljanje softvera
Postavljanje softvera

Softverski dio je također vrlo jednostavan. Pogledajmo Arduino IDE kod i kako taj kod funkcionira.

Za pogon servo -a koristimo ESP32 servo biblioteku. Ova biblioteka gotovo uključuje magični upravitelj ploča u Arduino IDE -u. Za bavljenje ultrazvučnim senzorom koristimo newPing biblioteku. Ovo se može preuzeti sa sljedeće veze.

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

Preuzmite zip datoteku i idite na alate> uključi biblioteku> dodaj Zip biblioteku u Arduino. sada odaberite preuzetu zip datoteku nove biblioteke pin -ova. u kodu prvo deklariramo biblioteke servo i ultrazvučnih senzora. U funkciji petlje uvijek provjeravamo udaljenost od kante za smeće do najbližeg prednjeg objekta. Ako je to ribež veći od 200, tada je udaljenost izlaza biblioteke 0. Kada je udaljenost manja od 60 cm, tada izvršava for petlju za otvaranje poklopca rotirajući servo. Ako je udaljenost veća od 60 cm, poklopac će se spustiti. Korištenjem logičke varijable uvijek provjeravamo stanje poklopca. Ako je poklopac spušten, otvorit će se samo on. Takođe obrnuto. Sada odaberite ispravan COM port i ploču kao magcibit, a zatim učitajte kôd. Sada je vaša pametna kanta za smeće spremna za upotrebu.

Korak 5: Arduino kod

#include

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // uključi servo biblioteku int distance; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Određuje na koji pin je kašnjenje priključeno na servo motor (3000); } void loop () {// rotira servo motor sa 15 na 165 stepeni za (int i = 0; i <= 180; i ++) {RadarServo.write (i); kašnjenje (50); distance = sonar.ping_cm (); // Poziva funkciju za izračunavanje udaljenosti izmjerene ultrazvučnim senzorom za svaki stepen za (int j = 0; j0) {break; } Serial.print (i); // Šalje trenutnu diplomu u Serial Port Serial.print (","); // Šalje znak za dodavanje tik do prethodne vrijednosti potrebne kasnije u IDE -u obrade za indeksiranje Serial.print (j); // Šalje trenutni stupanj u Serial Port Serial.print ("*"); Serial.print (1); // Šalje vrijednost udaljenosti u serijski port Serial.print ("/"); // Šalje znak za dodavanje pored prethodne vrijednosti potrebne kasnije u IDE -u za obradu za indeksiranje Serial.print (udaljenost); // Šalje vrijednost udaljenosti u Serial Port Serial.print ("."); // Šalje znak za dodavanje pored prethodne vrijednosti potrebne kasnije u IDE-u za obradu za indeksiranje}} // Ponavlja prethodne redove od 165 do 15 stepeni za (int i = 180; i> = 0; i-) {RadarServo.pisati (i); kašnjenje (50); udaljenost = sonar.ping_cm (); for (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {nastavi; } Serial.print (i); // Šalje trenutnu diplomu u Serial Port Serial.print (","); // Šalje znak za dodavanje tik do prethodne vrijednosti potrebne kasnije u IDE -u obrade za indeksiranje Serial.print (j); // Šalje trenutni stupanj u Serial Port Serial.print ("*"); Serial.print (-1); // Šalje vrijednost udaljenosti u serijski port Serial.print ("/"); // Šalje znak za dodavanje pored prethodne vrijednosti potrebne kasnije u IDE -u za obradu za indeksiranje Serial.print (udaljenost); // Šalje vrijednost udaljenosti u Serial Port Serial.print ("."); // Šalje znak za dodavanje pored prethodne vrijednosti potrebne kasnije u IDE -u obrade za indeksiranje}}}

Preporučuje se: