Sadržaj:

Pametna kanta za smeće iz Magicbita: 5 koraka
Pametna kanta za smeće iz Magicbita: 5 koraka

Video: Pametna kanta za smeće iz Magicbita: 5 koraka

Video: Pametna kanta za smeće iz Magicbita: 5 koraka
Video: Праздник. Новогодняя комедия 2024, Studeni
Anonim
Image
Image

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

Pribor

  • Magicbit
  • USB-A do mikro-USB kabel
  • Ultrazvučni senzor - HC -SR04 (generički)
  • SG90 Mikro servo motor

Korak 1: Priča

Postavljanje hardvera
Postavljanje hardvera

Prije nego prijeđete na projekt, pogledajmo što je pametna kanta za smeće. U svakom domu postoji jedna ili više kanti za smeće. U mnogo ste navrata to pokrili. Zato što će u vašem domu mirisati. Dakle, kad želite staviti smeće na kantu za smeće, morate ga otvoriti. Ali ako se, kad 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 definirane udaljenosti, poklopac kante za otpatke će se automatski otvoriti. 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 priključak Magicbit ploče za povezivanje ultrazvučnog senzora na Magicbit. No, servo motor se koristi 5V za pravilan rad, stoga smo koristili donji lijevi priključak za povezivanje servo motora s Magicbitom. U ovom slučaju koristimo Magic bit servo priključni modul. Ali ako nemate taj modul, možete upotrijebiti tri kratkospojne žice za spajanje 5V na 5V, Gnd na Gnd i signalni pin na 26 pin na magicbit -u.

Pogledajmo sada mehaničku stranu našeg projekta. Za otvaranje poklopca koristimo vrlo jednostavan mehanizam poluge. 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čavanjem vrhunske slike i videa to možete 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 knjižnica gotovo uključuje čarobni upravitelj ploča u Arduino IDE -u. Za rad s ultrazvučnim senzorom koristimo knjižnicu newPing. Ovo se može preuzeti sa sljedeće veze.

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

Preuzmite zip datoteku i idite alati> uključi biblioteku> dodaj Zip biblioteku u Arduino. sada odaberite preuzetu zip datoteku nove knjižnice pin -ova. u kodu prvo deklariramo knjižnice 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 izlaz knjižnice 0. Kad 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đer obratno. Sada odaberite ispravan COM port i ploču kao magcibit, a zatim prenesite kôd. Sada je vaša pametna kanta za smeće spremna za uporabu.

Korak 5: Arduino kod

#uključi

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // uključi servo knjižnicu int udaljenost; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Određuje na kojem je pinu kašnjenje priključeno na servo motor (3000); } void loop () {// rotira servo motor od 15 do 165 stupnjeva 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 stupanj za (int j = 0; j0) {break; } Serial.print (i); // Šalje trenutni stupanj u Serial Port Serial.print (","); // Šalje znak za dodavanje tik do prethodne vrijednosti potrebne kasnije u IDE -u za obradu za indeksiranje Serial.print (j); // Šalje trenutni stupanj u Serial Port Serial.print ("*"); Serijski.ispis (1); // Šalje vrijednost udaljenosti u Serial Port Serial.print ("/"); // Šalje znak za dodavanje tik do 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 tik uz prethodnu vrijednost koja je potrebna kasnije u IDE-u obrade za indeksiranje}} // Ponavlja prethodne retke od 165 do 15 stupnjeva 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 trenutni stupanj u Serial Port Serial.print (","); // Šalje znak za dodavanje tik do prethodne vrijednosti potrebne kasnije u IDE -u za obradu za indeksiranje Serial.print (j); // Šalje trenutni stupanj u Serial Port Serial.print ("*"); Serijski.ispis (-1); // Šalje vrijednost udaljenosti u Serial Port Serial.print ("/"); // Šalje znak za dodavanje tik do 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 tik do prethodne vrijednosti potrebne kasnije u IDE -u obrade za indeksiranje}}}

Preporučeni: