Obsah:

Inteligentná smetná nádoba od Magicbit: 5 krokov
Inteligentná smetná nádoba od Magicbit: 5 krokov

Video: Inteligentná smetná nádoba od Magicbit: 5 krokov

Video: Inteligentná smetná nádoba od Magicbit: 5 krokov
Video: Эрик Вайнштейн и Мик Уэст: UAP, доказательства, скептицизм 2024, November
Anonim
Image
Image

V tomto návode sa naučíme, ako vytvoriť inteligentnú smetnú nádobu pomocou programu Magicbit dev. doska s Arduino IDE. Začnime.

Zásoby

  • Magicbit
  • Kábel USB-A na Micro-USB
  • Ultrazvukový senzor - HC -SR04 (generický)
  • Micro-servomotor SG90

Krok 1: Príbeh

Nastavenie hardvéru
Nastavenie hardvéru

Predtým, ako sa presunieme do projektu, pozrime sa, čo je to inteligentný odpadkový kôš. V každej domácnosti je jedna alebo viac smetných nádob. Mnohokrát ste to pokryli. Pretože to bude vo vašom dome cítiť. Keď teda chcete vyhodiť odpadky do koša, musíte ich otvoriť. Ale ak keď idete blízko smetného koša a odhodíte odpadky, automaticky sa otvorí kryt, ako to potom vyzerá. Bláznivé aaa …. to je teda múdra popolnica.

Krok 2: Teória a metodika

Teória je veľmi jednoduchá. Keď prídete blízko smetného koša, zistí vás to. Ak je vzdialenosť medzi vami a smetným košom menšia ako definovaná vzdialenosť, kryt popolnice sa automaticky otvorí. Na dokončenie oboch týchto predmetov používame ultrazvukový senzor HC-SRO4 a malé servomotory. Môžete získať akýkoľvek typ digitálneho servomotora.

Krok 3: Nastavenie hardvéru

Nastavenie hardvéru
Nastavenie hardvéru
Nastavenie hardvéru
Nastavenie hardvéru

Na tento projekt sme použili hlavne tri hardvérové komponenty. Sú to Magicbit, servomotor a ultrazvukový senzor. Spojenie medzi všetkými týmito časťami je znázornené na obrázku vyššie.

Na zapnutie bol použitý ultrazvukový senzor s napätím 3,3 V. Preto sme na pripojenie ultrazvukového senzora k Magicbitu použili pravý dolný port dosky Magicbit. Na správnu funkciu sa však používa servomotor 5 V, preto sme na pripojenie servomotora s Magicbit použili ľavý dolný port. V tomto prípade používame modul servo konektora Magic bit. Ak však tento modul nemáte, môžete použiť tri prepojovacie vodiče na pripojenie 5V až 5V, GND na GND a signálny pin na 26 pinov na magicbit.

Teraz sa pozrime na mechanickú stránku nášho projektu. Na otvorenie krytu používame veľmi jednoduchý pákový mechanizmus. Pripojili sme jednostrannú ručnú sponu servo k servu. Potom sme pomocou silného kovového drôtu spojili rohový otvor v sponke a kryt odpadkového koša. Kovový drôt sa môže otáčať vzhľadom na servopohon a kryt odpadkového koša. Študovaním špičkového obrazu a videa to môžete veľmi ľahko vytvoriť.

Krok 4: Nastavenie softvéru

Nastavenie softvéru
Nastavenie softvéru

Softvérová časť je tiež veľmi jednoduchá. Poďme sa pozrieť na kód IDE Arduino a na to, ako tento kód funguje.

Na pohon serva používame knižnicu serva ESP32. Táto knižnica je takmer súčasťou programu Magic Bit Board Manager v Arduino IDE. Na prácu s ultrazvukovým senzorom používame knižnicu newPing. Toto je možné stiahnuť z nasledujúceho odkazu.

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

Stiahnite si súbor zip a choďte na nástroje> zahrnúť knižnicu> pridať knižnicu Zip do Arduina. teraz vyberte stiahnutý súbor zip novej knižnice pinov. v kóde najskôr deklarujeme knižnice servo a ultrazvukových senzorov. Vo funkcii slučky vždy kontrolujeme vzdialenosť od smetného koša k najbližšiemu prednému objektu. Ak je toto strúhadlo viac ako 200, potom je vzdialený výstup knižnice 0. Keď je vzdialenosť menšia ako 60 cm, vykoná sa pre slučku na otvorenie krytu otáčaním servo. Ak je vzdialenosť väčšia ako 60 cm, kryt sa stiahne. Použitím logickej premennej vždy kontrolujeme stav krytu. Ak je kryt dole, otvorí sa iba. Tiež naopak. Teraz vyberte správny port COM a dosku ako magcibit, potom nahrajte kód. Teraz je váš inteligentný odpadkový kôš pripravený na použitie.

Krok 5: Arduino kód

#zahrnúť

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // include servo library int distance; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Definuje, na ktorom kolíku je oneskorenie pripojeného servomotora (3000); } void loop () {// otočí servomotor o 15 až 165 stupňov pre (int i = 0; i <= 180; i ++) {RadarServo.write (i); oneskorenie (50); distance = sonar.ping_cm (); // Volá funkciu na výpočet vzdialenosti meranej ultrazvukovým senzorom pre každý stupeň pre (int j = 0; j0) {break; } Serial.print (i); // Odošle aktuálny stupeň do sériového portu Serial.print (","); // Odošle dodatkový znak hneď vedľa predchádzajúcej hodnoty potrebnej neskôr v IDE spracovania na indexovanie Serial.print (j); // Odošle aktuálny stupeň do sériového portu Serial.print ("*"); Serial.print (1); // Odošle hodnotu vzdialenosti do sériového portu Serial.print ("/"); // Pošle znak sčítania hneď vedľa predchádzajúcej hodnoty potrebnej neskôr v IDE spracovania na indexovanie Serial.print (vzdialenosť); // Odošle hodnotu vzdialenosti do sériového portu Serial.print ("."); // Pošle sčítací znak hneď vedľa predchádzajúcej hodnoty potrebnej neskôr v IDE spracovania pre indexovanie}} // Opakuje predchádzajúce riadky od 165 do 15 stupňov pre (int i = 180; i> = 0; i-) {RadarServo.písať (i); oneskorenie (50); vzdialenosť = sonar.ping_cm (); pre (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {pokračovanie; } Serial.print (i); // Odošle aktuálny stupeň do sériového portu Serial.print (","); // Odošle dodatkový znak hneď vedľa predchádzajúcej hodnoty potrebnej neskôr v IDE spracovania na indexovanie Serial.print (j); // Odošle aktuálny stupeň do sériového portu Serial.print ("*"); Serial.print (-1); // Odošle hodnotu vzdialenosti do sériového portu Serial.print ("/"); // Pošle znak sčítania hneď vedľa predchádzajúcej hodnoty potrebnej neskôr v IDE spracovania na indexovanie Serial.print (vzdialenosť); // Odošle hodnotu vzdialenosti do sériového portu Serial.print ("."); // Odošle dodatkový znak hneď vedľa predchádzajúcej hodnoty potrebnej neskôr v IDE spracovania na indexovanie}}}

Odporúča: