Ako si vyrobiť inteligentný kôš pomocou Arduina?

Svet ide rýchlo ďalej a s ním sa pohybuje aj technológia v oblasti elektroniky. Všetko v tejto modernej dobe sa stáva inteligentným. Prečo nevyrobíme koše inteligentne? V našom okolí je bežným problémom, že väčšina košov je zakrytá zhora. Ľudia sa cítia nepríjemne, keď sa dotýkajú viečka a otvárajú ho, aby doň vrhli vyrážku. Tento problém niektorých ľudí môžeme vyriešiť automatizáciou veka odpadkového koša.



Inteligentný kôš

Do inteligentného koša je možné integrovať Arduino a ultrazvukový senzor spolu so servomotorom. Ak kôš zistí pred sebou nejaký odpad, automaticky otvorí veko a po niekoľkých sekundách sa veko zatvorí.



Ako automaticky otvárať a zatvárať veko nádoby na prach pomocou Arduina?

Keď už vieme abstrakt projektu, posuňme sa ďalej a začnime zhromažďovať ďalšie informácie o komponentoch, práci a schéme zapojenia, aby sme mohli okamžite začať pracovať na projekte.



Krok 1: Zhromaždenie komponentov

Ak sa chcete vyhnúť nepríjemnostiam uprostred každého projektu, najlepším riešením je vytvoriť kompletný zoznam všetkých komponentov, ktoré budeme používať. Druhým krokom, pred začatím výroby obvodu, je prejsť krátkym štúdiom všetkých týchto komponentov. Zoznam všetkých komponentov, ktoré v tomto projekte potrebujeme, je uvedený nižšie.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ultrazvukový senzor” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Servomotor ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Nepájivý panel” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Jumperové prepojovacie káble” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5V napájací adaptér pre Arduino ”/]

Krok 2: Štúdium komponentov

Teraz, keď máme kompletný zoznam všetkých komponentov, posuňme sa o krok vpred a urobme si krátku štúdiu fungovania všetkých komponentov.

Arduino Nano je doštička mikrokontroléra priateľská k doske, ktorá sa používa na riadenie alebo vykonávanie rôznych úloh v obvode. Pálime a Zákonníka C. na Arduino Nano, aby povedal doske mikrokontroléra, ako a aké operácie majú vykonávať. Arduino Nano má úplne rovnakú funkcionalitu ako Arduino Uno, ale v celkom malom rozmere. Mikrokontrolér na doske Arduino Nano je ATmega328p. ak nemáte Arduino Nano, môžete použiť aj Arduino Uno alebo Arduino Maga.

Arduino Nano



Doska HC-SR04 je ultrazvukový senzor, ktorý sa používa na určenie vzdialenosti medzi dvoma objektmi. Skladá sa z vysielača a prijímača. Vysielač prevádza elektrický signál na ultrazvukový signál a prijímač prevádza ultrazvukový signál späť na elektrický signál. Keď vysielač vysiela ultrazvukové vlnenie, odráža sa po zrážke s určitým predmetom. Vzdialenosť sa počíta pomocou času, ktorý trvá ultrazvukový signál od vysielača a vráti sa späť k prijímaču.

Ultrazvukový senzor.

TO Servo motor je otočný alebo lineárny pohon, ktorý je možné ovládať a pohybovať v presných krokoch. Tieto motory sa líšia od jednosmerných motorov. Tieto motory umožňujú presné riadenie uhlového alebo rotačného pohybu. Tento motor je spojený so snímačom, ktorý vysiela spätnú väzbu o svojom pohybe.

Servo motor

Krok 3: Pochopenie fungovania

Vyrábame popolnicu, ktorej veko sa automaticky otvára a zatvára a nebude sa ho treba fyzicky dotýkať. Budeme len musieť vziať odpadky pred odpadkový kôš. Ultrazvukový senzor automaticky detekuje odpadky a pomocou servomotora otvorí veko. Keď je veko otvorené, odhodíme odpadky do koša a po dokončení sa veko po niekoľkých sekundách automaticky zatvorí. Toto je jednoduchý princíp fungovania tohto projektu.

Krok 4: Zostavenie komponentov

  1. Na bočnú časť koša pripevnite nepájivú dosku. Vložte do nej dosku Arduino Nano.
  2. Pred kôš pripevnite ultrazvukový snímač. snímač by mal smerovať mierne nahor s malým uhlom prevýšenia.
  3. Vezmite servomotor a zafixujte do neho rameno serva. Servomotor pripevnite pomocou horúceho lepidla na spoj nádoby a veka.
  4. Teraz urobte všetky pripojenia prostredníctvom spojovacích vodičov. Pripojte Vin a uzemnenie motora a ultrazvukový snímač k 5 V a zemi Arduino. Pripojte spúšťací pin snímača k pin2 a pin echo k pin3 Arduino. Pripojte pin PWM servomotora k pin5 na Arduine.
  5. Teraz, keď sú vykonané všetky pripojenia obvodu, malo by to vyzerať takto:

    Schéma zapojenia

Krok 5: Začíname s Arduino

Ak ešte nemáte skúsenosti s Arduino IDE, nebojte sa, pretože nižšie je vysvetlený krok za krokom postup nastavenia a používania Arduino IDE s doskou mikrokontroléra.

  1. Stiahnite si najnovšiu verziu Arduino IDE z Arduino.
  2. Pripojte dosku Arduino Nano k notebooku a otvorte ovládací panel. na ovládacom paneli kliknite na Hardvér a zvuk . Teraz kliknite na Zariadenia a tlačiarne. Tu nájdite port, ku ktorému je pripojená doska vášho mikrokontroléra. V mojom prípade to tak je COM14 ale na rôznych počítačoch je to iné.

    Hľadá sa prístav

  3. Kliknite na ponuku Nástroj. a nastavte dosku na Arduino Nano z rozbaľovacej ponuky.

    Nastavovacia doska

  4. V rovnakej ponuke nástrojov nastavte port na číslo portu, ktoré ste pozorovali predtým v priečinku Zariadenia a tlačiarne .

    Nastavenie portu

  5. V tej istej ponuke nástrojov nastavte procesor na ATmega328P (starý bootloader).

    procesor

  6. Aby sme mohli napísať kód na prevádzku servomotorov, potrebujeme špeciálnu knižnicu, ktorá nám pomôže napísať niekoľko funkcií pre servomotory. Táto knižnica je pripojená spolu s kódom do nižšie uvedeného odkazu. Ak chcete zahrnúť knižnicu, kliknite na Náčrt> Zahrnúť knižnicu> Pridať ZIP. Knižnica.

    Zahrnúť knižnicu

  7. Stiahnite si nižšie priložený kód a vložte ho do svojho Arduino IDE. Klikni na nahrať tlačidlo na vypálenie kódu na doske vášho mikrokontroléra.

    Nahrať

Ak chcete stiahnuť kód, kliknite tu.

Krok 6: Porozumenie Kódexu

Tento kód je dosť dobre komentovaný, ale napriek tomu je stručne vysvetlený nižšie.

1. Na začiatku je zahrnutá knižnica, aby sme mohli používať vstavané funkcie na obsluhu servomotora. Inicializované sú tiež dva piny na doske Arduino Nano, aby sa dali použiť na spúšť a echo pin ultrazvukového snímača. Je tiež vyrobený predmet, ktorý možno použiť na nastavenie hodnôt pre servomotory. Deklarujú sa tiež dve premenné, aby bolo možné uložiť hodnotu vzdialenosti a čas ultrazvukového signálu a potom ich použiť vo vzorci.

#include // Zahrnúť knižnicu pre servomotor Servo servo; // Deklarovať objekt pre servomotor int const trigPin = 2; // Pripojte pin2 arduina k trigu ultrazvukového snímača int const echoPin = 3; // Pripojte pin3 arduina s ozvenou ultrazvukového senzora int trvanie, vzdialenosť; // Deklarujte premenné na ukladanie vzdialenosti a typu ultrazvukového signálu

2. nastavenie neplatnosti () je funkcia, pri ktorej inicializujeme piny dosky Arduino na použitie ako VSTUP alebo VÝSTUP. Spúšťací pin sa použije ako výstup a echo pin sa použije ako vstup. Použili sme objekt servo , na pripojenie motora k pinu 5 na Arduino nano. Pin5 možno použiť na odoslanie signálu PWM. V tejto funkcii je tiež nastavená prenosová rýchlosť. Prenosová rýchlosť je rýchlosť bitov za sekundu, ktorou mikrokontrolér komunikuje s externými zariadeniami.

void setup () {Serial.begin (9600); // nastavenie prenosovej rýchlosti mikrokontroléra pinMode (trigPin, OUTPUT); // trig pin sa použije ako výstupný pinMode (echoPin, INPUT); // echo pin sa použije ako vstup servo.attach (5); // Pripojte servomotor k pinu 5 Arduina}

3. neplatná slučka () je funkcia, ktorá beží znova a znova v slučke. V tejto slučke je ultrazvuková vlna vysielaná do okolia a prijímaná späť. Prekonaná vzdialenosť sa meria pomocou času potrebného na opustenie senzora a návrat k nemu. Potom sa podmienka primerane použije na vzdialenosť.

void loop () {digitalWrite (trigPin, HIGH); // vyslanie ultrazvukového signálu do okolitého oneskorenia (1); digitalWrite (trigPin, LOW); // Zmerajte pulzny vstup v trvani echo pinu = pulseIn (echoPin, HIGH); // Vzdialenosť je polovica trvania delená 29,1 (z údajového listu) distance = (duration / 2) / 29,1; // ak je vzdialenosť menšia ako 0,5 metra a väčšia ako 0 (0 alebo menšia znamená prekročenie rozsahu) if (vzdialenosť = 0) {servo.write (50); oneskorenie (3 000); } else {servo.write (160); }}

Teraz, keď poznáme všetky kroky, ktoré musíte urobiť, aby sme vytvorili tento úžasný projekt, poponáhľajte sa a užite si výrobu svojho inteligentného koša.