Kako narediti pametni koš za smeti z uporabo Arduina?

Svet se hitro premika, tehnologija pa se z njim premika tudi na področju elektronike. Vse v tej moderni dobi postaja pametno. Zakaj ne naredimo smetnjakov pametnih? V naši okolici je pogosta težava, da je večina smetnjakov pokrita z vrha. Ljudje se počutijo neprijetno, če se dotaknejo pokrova in ga odprejo, da vanj vržejo izpuščaje. Težavo nekaterih ljudi lahko rešimo z avtomatizacijo pokrova smeti.



Pametni koš za smeti

Arduino in ultrazvočni senzor, skupaj s servo motorjem, je mogoče integrirati v pametni koš za smeti. Če zabojnik zazna nekaj smeti pred seboj, se samodejno odpre pokrov in pokrov se po nekaj sekundah zapre.



Kako samodejno odpreti in zapreti pokrov smetišča z uporabo Arduina?

Zdaj, ko poznamo povzetek projekta, pojdimo naprej in začnimo zbirati več informacij o komponentah, delu in vezju, da takoj začnemo delati na projektu.



1. korak: Zbiranje komponent

Če se želite izogniti nevšečnostim sredi katerega koli projekta, je najboljši pristop sestaviti popoln seznam vseh komponent, ki jih bomo uporabili. Drugi korak, preden začnete izdelovati vezje, je kratek študij vseh teh komponent. Seznam vseh komponent, ki jih potrebujemo v tem projektu, je spodaj.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ultrazvočni senzor” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Servo motor ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Breadboard” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Breadboard Jumper Wire” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5V napajalnik za Arduino ”/]

2. korak: Preučevanje komponent

Ko imamo zdaj popoln seznam vseh komponent, pojdimo korak naprej in si oglejmo kratko študijo o delovanju vseh komponent.

Arduino Nano je mikrokrmilnik, prijazen do plošče, ki se uporablja za nadzor ali izvajanje različnih nalog v vezju. Zažgemo a Koda C na Arduino Nano, da mikrokrmilniški plošči pove, kako in katere operacije je treba izvesti. Arduino Nano ima popolnoma enako funkcionalnost kot Arduino Uno, vendar v precej majhni velikosti. Mikrokrmilnik na plošči Arduino Nano je ATmega328p. če nimate Arduino Nano, lahko uporabite tudi Arduino Uno ali Arduino Maga.

Arduino Nano



Plošča HC-SR04 je ultrazvočni senzor, ki se uporablja za določanje razdalje med dvema predmetoma. Sestavljen je iz oddajnika in sprejemnika. Oddajnik pretvori električni signal v ultrazvočni signal, sprejemnik pa ultrazvočni signal nazaj v električni signal. Ko oddajnik pošlje ultrazvočni val, se ta po trčenju z določenim predmetom odbije. Razdalja se izračuna tako, da se uporabi čas, ki ga ultrazvočni signal potrebuje, da gre od oddajnika in se vrne v sprejemnik.

Ultrazvočni senzor.

TO Servo motor je rotacijski ali linearni pogon, ki ga je mogoče krmiliti in premikati v natančnem koraku. Ti motorji se razlikujejo od enosmernih motorjev. Ti motorji omogočajo natančen nadzor kotnega ali rotacijskega gibanja. Ta motor je povezan s senzorjem, ki pošilja povratne informacije o svojem gibanju.

Servo motor

3. korak: Razumevanje dela

Izdelujemo smetnjak, katerega pokrov se bo samodejno odprl in zaprl in ga ne bo treba fizično dotikati. Samo smeti bomo morali vzeti pred smeti. Ultrazvočni senzor samodejno zazna smeti in s pomočjo servo motorja odpre pokrov. Ko je pokrov odprt, bomo smeti vrgli v koš in ko končamo, se pokrov po nekaj sekundah samodejno zapre. To je preprosto delovno načelo tega projekta.

4. korak: Sestavljanje komponent

  1. Na stran koša pritrdite ploščo. Vanj vstavite ploščo Arduino Nano.
  2. Pred posodo pritrdite ultrazvočni senzor. senzor naj bo obrnjen rahlo navzgor z majhnim kotom dviga.
  3. Vzemite servo motor in vanj pritrdite servo roko. Servo motor pritrdite na spoj koša in pokrova s ​​pomočjo vročega lepila.
  4. Zdaj vzpostavite vse povezave prek povezovalnih žic. Vin in ozemljitev motorja ter ultrazvočni senzor priključite na 5 V in ozemljitev Arduina. Sprožilni zatič senzorja priključite na zatič 2, odmevni zatič pa na zatič 3 Arduina. Povežite zatič PWM servo motorja z zatičem5 Arduina.
  5. Zdaj, ko so vzpostavljene vse povezave vezja, bi moralo izgledati tako:

    Shema vezja

5. korak: Uvod v Arduino

Če še niste seznanjeni z Arduino IDE, ne skrbite, ker je v nadaljevanju razložen podroben postopek za nastavitev in uporabo Arduino IDE z mikrokrmilnikom.

  1. Prenesite najnovejšo različico Arduino IDE iz Arduino.
  2. Povežite ploščo Arduino Nano s prenosnikom in odprite nadzorno ploščo. na nadzorni plošči kliknite Strojna oprema in zvok . Zdaj kliknite na Naprave in tiskalniki. Tu poiščite vrata, na katera je priključena plošča vašega mikrokrmilnika. V mojem primeru je COM14 v različnih računalnikih pa je drugače.

    Iskanje pristanišča

  3. Kliknite meni Orodje. in nastavite tablo na Arduino Nano iz spustnega menija.

    Nastavitvena plošča

  4. V istem meniju Orodja nastavite vrata na številko vrat, ki ste jih opazili prej v Naprave in tiskalniki .

    Nastavitev vrat

  5. V istem meniju orodja nastavite procesor na ATmega328P (stari zagonski nalagalnik).

    Procesor

  6. Za pisanje kode za upravljanje servo motorjev potrebujemo posebno knjižnico, ki nam bo pomagala napisati več funkcij za servo motorje. Ta knjižnica je priložena skupaj s kodo na spodnji povezavi. Če želite vključiti knjižnico, kliknite Skica> Vključi knjižnico> Dodaj ZIP. Knjižnica.

    Vključi knjižnico

  7. Prenesite spodnjo kodo in jo prilepite v svoj Arduino IDE. Kliknite na naložite za zapisovanje kode na ploščo mikrokrmilnika.

    Naloži

Če želite prenesti kodo, Klikni tukaj.

6. korak: Razumevanje kodeksa

Koda je precej dobro komentirana, a vseeno je na kratko pojasnjena v nadaljevanju.

1. Na začetku je vključena knjižnica, da lahko uporabljamo vgrajene funkcije za upravljanje servo motorja. Inicializirana sta tudi dva zatiča plošče Arduino Nano, ki ju je mogoče uporabiti za sprožilec in odmevni zatič ultrazvočnega senzorja. Predmet je narejen tudi tako, da se z njim lahko nastavljajo vrednosti za servo motorje. Navedeni sta tudi dve spremenljivki, tako da lahko vrednost razdalje in časa ultrazvočnega signala shranimo in nato uporabimo v formuli.

#include // Vključi knjižnico za servo motor Servo servo; // prijava predmeta za servo motor int const trigPin = 2; // Pin2 arduina povežemo s trig ultrazvočnega senzorja int const echoPin = 3; // pin3 arduina povežemo z odmevom ultrazvočnega senzorja int trajanje, razdalja; // Navedite spremenljivke za shranjevanje razdalje in vrste ultrazvočnega signala

2. void setup () je funkcija, pri kateri inicializiramo nožice plošče Arduino, da se uporabljajo kot VHOD ali IZHOD. Sprožilni zatič bo uporabljen kot izhod, eho zatič pa kot vhod. Predmet smo uporabili servo , za priključitev motorja na zatič 5 nano Arduino. Pin5 lahko uporabite za pošiljanje signala PWM. V tej funkciji je nastavljena tudi hitrost prenosa. Hitrost prenosa je bit v sekundi na hitrost, s katero mikrokrmilnik komunicira z zunanjimi napravami.

void setup () {Serial.begin (9600); // nastavitev hitrosti prenosa mikrokrmilnika pinMode (trigPin, OUTPUT); // trig pin bo uporabljen kot izhodni pinMode (echoPin, INPUT); // echo pin bo uporabljen kot vhodni servo.attach (5); // priklopite servo motor na pin5 arduino}

3. void loop () je funkcija, ki se vedno znova izvaja v zanki. V tej zanki se ultrazvočni val pošlje v okolico in sprejme nazaj. Prevoženo razdaljo izmerimo tako, da signal porabi čas, da zapusti senzor in se nanj vrne. Nato se pogoj ustrezno uporabi za razdaljo.

void loop () {digitalWrite (trigPin, HIGH); // pošiljanje ultrazvočnega signala v okoliški zakasnitvi (1); digitalWrite (trigPin, LOW); // izmerimo vhodni impulz v trajanju echo pin-a = pulseIn (echoPin, HIGH); // Razdalja je polovica trajanja, razdeljenega na 29.1 (iz podatkovnega lista) distance = (duration / 2) / 29.1; // če je razdalja manjša od 0,5 metra in večja od 0 (0 ali manj pomeni prekoračenje), če (razdalja = 0) {servo.write (50); zamuda (3000); } else {servo.write (160); }}

Zdaj, ko poznamo vse korake, ki jih moramo narediti za izdelavo tega neverjetnega projekta, pohitite in uživajte v izdelavi pametnega koša za smeti.