Kako napraviti pametni koš za smeće pomoću Arduina?

Svijet se brzo kreće, a tehnologija se s njim kreće i na polju elektronike. Sve u ovoj modernoj eri postaje pametno. Zašto ne bismo pametne kante učinili pametnima? Čest je problem koji se primjećuje u našoj okolini da je većina smeća pokrivena s vrha. Ljudi se osjećaju nelagodno dodirivati ​​poklopac i otvoriti ga kako bi u njega bacili osip. Ovaj problem nekih ljudi možemo riješiti automatiziranjem poklopca kante za smeće.



Pametni kanta za smeće

Arduino i ultrazvučni senzor zajedno sa servo motorom mogu se integrirati u pametnu kantu za smeće. Ako kanta otkrije smeće ispred sebe, automatski će otvoriti svoj poklopac, a poklopac će se zatvoriti nakon odgode od nekoliko sekundi.



Kako automatski otvoriti i zatvoriti poklopac smeća pomoću Arduina?

Sad kad znamo sažetak projekta, krenimo naprijed i počnite prikupljati više informacija o komponentama, radu i shemi sklopa kako bismo odmah počeli raditi na projektu.



Korak 1: Prikupljanje komponenata

Ako želite izbjeći bilo kakve neugodnosti usred bilo kojeg projekta, najbolji pristup je napraviti cjelovit popis svih komponenata koje ćemo koristiti. Drugi korak, prije početka izrade sklopa, je proći kroz kratko proučavanje svih tih komponenata. Popis svih komponenata koje su nam potrebne u ovom projektu dan je u nastavku.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ultrazvučni senzor” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Servo motor ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Breadboard” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Žice za kratkospojne pločice” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5V adapter za napajanje za Arduino ”/]

Korak 2: Proučavanje komponenata

Sada, budući da imamo cjelovit popis svih komponenata, pomaknimo se korak naprijed i prođite kroz kratku studiju rada svake komponente.

Arduino Nano je mikrokontrolerska ploča prilagođena pločama koja se koristi za upravljanje ili izvršavanje različitih zadataka u krugu. Izgaramo a C kod na Arduino Nano kako bi ploči mikrokontrolera rekao kako i koje radnje izvesti. Arduino Nano ima potpuno istu funkcionalnost kao Arduino Uno, ali u prilično maloj veličini. Mikrokontroler na ploči Arduino Nano je ATmega328p. ako nemate Arduino Nano, možete koristiti i Arduino Uno ili Arduino Maga.

Arduino Nano



Ploča HC-SR04 ultrazvučni je senzor koji se koristi za određivanje udaljenosti između dva predmeta. Sastoji se od odašiljača i prijamnika. Predajnik pretvara električni signal u ultrazvučni signal, a prijemnik ultrazvučni signal natrag u električni signal. Kada odašiljač pošalje ultrazvučni val, on se odražava nakon sudara s određenim objektom. Udaljenost se izračunava pomoću vremena koje je potrebno ultrazvučnom signalu da pređe s odašiljača i vrati se na prijemnik.

Ultrazvučni senzor.

DO Servo motor je rotacijski ili linearni aktuator kojim se može upravljati i pomicati u točnom koraku. Ovi se motori razlikuju od istosmjernih motora. Ovi motori omogućuju precizno upravljanje kutnim ili rotacijskim kretanjem. Ovaj je motor povezan sa senzorom koji šalje povratne informacije o svom kretanju.

Servo motor

Korak 3: Razumijevanje rada

Izrađujemo kantu za smeće čiji će se poklopac automatski otvoriti i zatvoriti i neće biti potrebe fizički je dodirivati. Jednostavno ćemo morati uzeti smeće ispred kante za smeće. Ultrazvučni senzor automatski će otkriti smeće i otvorit će poklopac uz pomoć servo motora. Kad je poklopac otvoren, bacit ćemo smeće u kantu, a kada završimo, poklopac će se automatski zatvoriti nakon odgode od nekoliko sekundi. Ovo je jednostavno načelo rada iza ovog projekta.

Korak 4: Sastavljanje komponenata

  1. Pričvrstite ploču za kruh na bočnu stranu kante. U njega umetnite ploču Arduino Nano.
  2. Pričvrstite ultrazvučni senzor ispred kante za smeće. senzor bi trebao biti okrenut malo prema gore s malim kutom elevacije.
  3. Uzmi servo motor i učvrsti servo ruku u njemu. Pomoću vrućeg ljepila pričvrstite servo motor na spoj kante i poklopca.
  4. Sada napravite sve veze putem spojnih žica. Spojite Vin i masu motora i ultrazvučni senzor na 5V i masu Arduina. Spojite iglu okidača senzora na pin2, a eho iglu na pin3 Arduina. Spojite PWM pin servo motora na pin5 Arduina.
  5. Sada kada su sve veze kruga uspostavljene, to bi trebalo izgledati ovako:

    Kružni dijagram

Korak 5: Početak rada s Arduinom

Ako već niste upoznati s Arduino IDE-om, ne brinite jer je u nastavku objašnjen korak po korak za postavljanje i upotrebu Arduino IDE-a s pločom mikrokontrolera.

  1. Preuzmite najnoviju verziju Arduino IDE sa Arduino.
  2. Spojite svoju Arduino Nano ploču s prijenosnim računalom i otvorite upravljačku ploču. na upravljačkoj ploči kliknite na Hardver i zvuk . Sada kliknite na Uređaji i pisači. Ovdje pronađite priključak na koji je spojena vaša ploča mikrokontrolera. U mom slučaju jest COM14 ali je različito na različitim računalima.

    Pronalaženje luke

  3. Kliknite izbornik Alat. i postavite ploču na Arduino Nano s padajućeg izbornika.

    Odbor za postavljanje

  4. U istom izborniku Alata postavite port na broj porta koji ste prije primijetili u Uređaji i pisači .

    Postavka porta

  5. U istom izborniku Alata postavite procesor na ATmega328P (stari pokretač).

    Procesor

  6. Za pisanje koda za upravljanje servo motorima potrebna nam je posebna biblioteka koja će nam pomoći da napišemo nekoliko funkcija za servo motore. Ova je knjižnica priložena zajedno s kodom u donjoj poveznici. Da biste uključili knjižnicu, kliknite na Skica> Uključi biblioteku> Dodaj ZIP. Knjižnica.

    Uključi biblioteku

  7. Preuzmite dolje priloženi kôd i zalijepite ga u svoj Arduino IDE. Klikni na Učitaj gumb za snimanje koda na ploči mikrokontrolera.

    Učitaj

Da biste preuzeli kôd, kliknite ovdje.

Korak 6: Razumijevanje kodeksa

Kôd je prilično dobro komentiran, ali ipak, ukratko je objašnjen u nastavku.

1. Na početku je uključena knjižnica kako bismo mogli koristiti ugrađene funkcije za upravljanje servo motorom. Dvije pinove ploče Arduino Nano također su inicijalizirane tako da se mogu koristiti za okidač i eho iglu ultrazvučnog senzora. Objekt je također napravljen tako da se pomoću njega mogu postaviti vrijednosti za servo motore. Dvije su varijable također deklarirane tako da se vrijednost udaljenosti i vremena ultrazvučnog signala mogu spremiti i zatim koristiti u formuli.

#include // Uključi biblioteku za servo motor Servo servo; // Deklariranje objekta za servo motor int const trigPin = 2; // Spojimo pin2 arduina s trigom ultrazvučnog senzora int const echoPin = 3; // Povežite pin3 arduina s odjekom ultrazvučnog senzora int trajanje, udaljenost; // Deklarirajte varijable za pohranu udaljenosti i vrste ultrazvučnog signala

2. void postavljanje () je funkcija u kojoj inicijaliziramo pinove ploče Arduino kako bi se koristili kao ULAZ ili IZLAZ. Okidač će se koristiti kao izlaz, a eho pin kao ulaz. Koristili smo objekt servo , za spajanje motora na pin 5 nano Arduino. Pin5 se može koristiti za slanje PWM signala. Brzina prijenosa je također postavljena u ovoj funkciji. Brzina prijenosa je bitovi u sekundi brzinom kojom mikrokontroler komunicira s vanjskim uređajima.

void setup () {Serial.begin (9600); // postavljanje brzine prijenosa mikrokontrolera pinMode (trigPin, OUTPUT); // trig pin će se koristiti kao izlazni pinMode (echoPin, INPUT); // echo pin će se koristiti kao ulazni servo.attach (5); // Spojite servo motor na pin5 arduina}

3. petlja void () je funkcija koja se uvijek iznova izvodi u petlji. U ovoj se petlji ultrazvučni val šalje u okolinu i prima natrag. Pređena udaljenost mjeri se korištenjem vremena koje je potrebno signalu da napusti senzor i vrati mu se. Tada se uvjet primjenjuje na udaljenost u skladu s tim.

void loop () {digitalWrite (trigPin, HIGH); // slanje ultrazvučnog signala u okolnom kašnjenju (1); digitalWrite (trigPin, LOW); // Izmjerite ulaz impulsa u trajanju echo pin-a = pulseIn (echoPin, HIGH); // Udaljenost je polovica trajanja podijeljena sa 29.1 (iz podatkovnog lista) distance = (duration / 2) / 29.1; // ako je udaljenost manja od 0,5 metra i veća od 0 (0 ili manje znači prekoračenje) if (distance = 0) {servo.write (50); kašnjenje (3000); } else {servo.write (160); }}

Sad kad znamo sve korake koje treba proći da bismo napravili ovaj nevjerojatan projekt, požurite i uživajte u izradi svog pametnog koša za smeće.