Kuinka tehdä älykäs roskakori Arduinolla?

Maailma liikkuu nopeasti, ja tekniikka liikkuu sen mukana myös elektroniikan alalla. Kaikki tällä modernilla aikakaudella on tulossa älykkääksi. Miksi emme tee roskakorista älykkäitä? Ympäristössämme nähdään yleinen ongelma, että suurin osa roskakorista on peitetty ylhäältä. Ihmiset tuntevat olonsa epämukavaksi koskettaa kansi ja avata se heittää ihottuma siihen. Voimme ratkaista tämän joidenkin ihmisten ongelman automatisoimalla roskakorin kannen.



Älykäs roskakori

Arduino ja ultraäänianturi sekä servomoottori voidaan integroida älykkään roskakorin tekemiseksi. Jos astia havaitsee roskia edessään, se avaa kannen automaattisesti ja kansi sulkeutuu muutaman sekunnin kuluttua.



Kuinka avata ja sulkea roskakorin kansi automaattisesti Arduinolla?

Nyt kun tiedämme projektin tiivistelmän, siirrytään eteenpäin ja aloitetaan keräämään lisätietoja komponenteista, toiminnasta ja kytkentäkaaviosta, jotta voimme heti aloittaa työn projektin parissa.



Vaihe 1: Komponenttien kerääminen

Jos haluat välttää vaivaa kesken minkä tahansa projektin, paras tapa on tehdä täydellinen luettelo kaikista komponenteista, joita aiomme käyttää. Toinen vaihe, ennen piirin aloittamista, on käydä läpi lyhyt tutkimus kaikista näistä komponenteista. Alla on luettelo kaikista tarvitsemistamme komponenteista tässä projektissa.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ultraäänianturi” /]
  • [Amazon Link = ”B07D3L25H3” otsikko = ”Servomoottori” /]
  • [Amazon Link = ”B07PPP185M” title = ”Leipälauta” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Leipälevyn hyppyjohdot” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5 V: n virtalähde Arduinolle ”/]

Vaihe 2: Komponenttien tutkiminen

Nyt kun meillä on täydellinen luettelo kaikista komponenteista, siirrymme eteenpäin ja käymme läpi lyhyen tutkimuksen jokaisen komponentin toiminnasta.

Arduino Nano on leipälevyystävällinen mikro-ohjainkortti, jota käytetään ohjaamaan tai suorittamaan erilaisia ​​tehtäviä piirissä. Poltamme a C-koodi Arduino Nanossa kertomaan mikrokontrollerilevylle, miten ja mitkä toiminnot suoritetaan. Arduino nanolla on täsmälleen sama toiminnallisuus kuin Arduino Unolla, mutta melko pienessä koossa. Arduino Nano -taulun mikrokontrolleri on ATmega328p. Jos sinulla ei ole Arduino Nanoa, voit käyttää myös Arduino Unoa tai Arduino Magaa.

Arduino Nano



HC-SR04-kortti on ultraäänianturi, jota käytetään kahden kohteen välisen etäisyyden määrittämiseen. Se koostuu lähettimestä ja vastaanottimesta. Lähetin muuntaa sähköisen signaalin ultraäänisignaaliksi ja vastaanotin muuntaa ultraäänisignaalin takaisin sähköiseksi signaaliksi. Kun lähetin lähettää ultraääniaallon, se heijastuu törmätessään tiettyyn esineeseen. Etäisyys lasketaan käyttämällä aikaa, jonka ultraäänisignaali menee lähettimestä ja palaa takaisin vastaanottimeen.

Ultraäänianturi.

TO Servo moottori on pyörivä tai lineaarinen toimilaite, jota voidaan ohjata ja liikuttaa tarkasti kerrallaan. Nämä moottorit eroavat tasavirtamoottoreista. Nämä moottorit mahdollistavat kulma- tai pyörimisliikkeen tarkan hallinnan. Tämä moottori on kytketty anturiin, joka lähettää palautetta liikkeestään.

Servo moottori

Vaihe 3: Työn ymmärtäminen

Teemme roskasäiliön, jonka kansi avautuu ja sulkeutuu automaattisesti eikä siihen tarvitse koskea fyysisesti. Meidän on vain vietävä roskakori roskakorin eteen. Ultraäänianturi tunnistaa roskat automaattisesti ja avaa kannen servomoottorin avulla. Kun kansi on auki, heitämme roskat roskiin ja kun olemme valmis, kansi sulkeutuu automaattisesti muutaman sekunnin viiveen jälkeen. Tämä on yksinkertainen toimintaperiaate tämän projektin taustalla.

Vaihe 4: Komponenttien kokoaminen

  1. Kiinnitä leipälauta astian sivulle. Aseta Arduino Nano -kortti siihen.
  2. Kiinnitä ultraäänianturi roskakorin eteen. anturin tulee olla hieman ylöspäin, pienellä korkeuskulmalla.
  3. Ota servomoottori ja kiinnitä siihen servovarsi. Kiinnitä servomoottori astian ja kannen liitokseen kuumalla liimalla.
  4. Tee nyt kaikki liitännät liitäntäjohtojen kautta. Liitä Vin ja moottorin maa ja ultraäänianturi Arduinon 5 V: n ja maadoitukseen. Liitä anturin liipaisintappi tapiin2 ja kaiutappi tapaan Arduino. Liitä servomoottorin PWM-tappi Arduinon nastaa 5.
  5. Nyt kun kaikki piirin liitännät on tehty, sen pitäisi näyttää tältä:

    Piirikaavio

Vaihe 5: Arduinon käytön aloittaminen

Jos et ole vielä perehtynyt Arduino IDE -ohjelmaan, älä huoli, koska vaiheittainen menettely Arduino IDE: n asettamiseksi ja käyttämiseksi mikrokontrollerikortin kanssa selitetään alla.

  1. Lataa uusin Arduino IDE -versio osoitteesta Arduino.
  2. Liitä Arduino Nano -kortti kannettavaan tietokoneeseen ja avaa ohjauspaneeli. napsauta ohjauspaneelissa Laitteisto ja ääni . Napsauta nyt Laitteet ja tulostimet. Täältä löydät portin, johon mikrokontrollerikortti on kytketty. Minun tapauksessani se on COM14 mutta se on erilainen eri tietokoneissa.

    Portin löytäminen

  3. Napsauta Työkalu-valikkoa. ja aseta lauta asentoon Arduino Nano avattavasta valikosta.

    Asennuslauta

  4. Määritä samassa Työkalu-valikossa portiksi sen portin numero, jonka havaitsit aiemmin Laitteet ja tulostimet .

    Portin asettaminen

  5. Aseta samassa Työkalu-valikossa Suoritin asentoon ATmega328P (vanha käynnistyslatain).

    Suoritin

  6. Koodin kirjoittamiseen servomoottoreiden käyttöön tarvitaan erityinen kirjasto, joka auttaa meitä kirjoittamaan useita toimintoja servomoottoreille. Tämä kirjasto on liitetty koodin mukana alla olevaan linkkiin. Lisää kirjasto napsauttamalla Luonnos> Sisällytä kirjasto> Lisää ZIP. Kirjasto.

    Sisällytä kirjasto

  7. Lataa alla oleva koodi ja liitä se Arduino IDE -laitteeseesi. Klikkaa lataa -painiketta polttaaksesi koodin mikro-ohjainkortillesi.

    Lähetä

Lataa koodi Klikkaa tästä.

Vaihe 6: Koodin ymmärtäminen

Koodi on melko hyvin kommentoitu, mutta silti se selitetään lyhyesti alla.

1. Alussa mukana on kirjasto, jotta voimme käyttää sisäänrakennettuja toimintoja servomoottorin käyttämiseen. Kaksi Arduino Nano -taulun nastaa alustetaan myös siten, että niitä voidaan käyttää ultraäänianturin liipaisimessa ja kaiutapissa. Esine valmistetaan myös siten, että sitä voidaan käyttää servomoottoreiden arvojen asettamiseen. Kaksi muuttujaa ilmoitetaan myös siten, että ultraäänisignaalin etäisyyden ja ajan arvo voidaan tallentaa ja käyttää sitten kaavassa.

#include // Sisällytä kirjasto servomoottorille Servo-servo; // Ilmoita objekti servomoottorille int const trigPin = 2; // Yhdistä arduinon nasta 2 ultraäänianturin laukaisuun int const echoPin = 3; // Yhdistä arduinon pin3 ultraäänianturin kaikuun int kesto, etäisyys; // Ilmoita muuttujat ultraäänisignaalin etäisyyden ja tyypin tallentamiseksi

2. mitätön asennus () on toiminto, jossa alustamme Arduino-kortin nastat käytettäväksi INPUT tai OUTPUT. Liipaisintappia käytetään lähtöön ja kaiutappia käytetään tulona. Olemme käyttäneet esinettä servo , kytke moottori Arduino nanonapaan 5. Pin5: tä voidaan käyttää PWM-signaalin lähettämiseen. Siirtonopeus on asetettu myös tähän toimintoon. Siirtonopeus on bittiä sekunnissa, jolla mikro-ohjain kommunikoi ulkoisten laitteiden kanssa.

void setup () {Sarja.alku (9600); // mikro-ohjaimen pinMode (trigPin, OUTPUT) siirtonopeuden asettaminen; // trig-nastaa käytetään lähtönä pinMode (echoPin, INPUT); // kaiunastaa käytetään syötteen servo.attach (5); // Cnnect servomoottori arduinon pin5: een}

3. void loop () on toiminto, joka toimii yhä uudestaan ​​silmukassa. Tässä silmukassa ultraääni aalto lähetetään ympäröivään ja vastaanotetaan takaisin. Kuljettu matka mitataan käyttämällä signaalin ottamaa aikaa anturista poistumiseen ja paluuseen siihen. Sitten ehto sovelletaan etäisyyttä vastaavasti.

void loop () {digitalWrite (trigPin, HIGH); // lähetetään ultraäänisignaali ympäröivässä viiveessä (1); digitalWrite (trigPin, LOW); // Mittaa pulssitulo kaiunastan kesto = pulseIn (echoPin, HIGH); // Etäisyys on puolet kestosta jaettuna 29,1 (datalehdestä) etäisyys = (kesto / 2) / 29,1; // jos etäisyys on alle 0,5 metriä ja yli 0 (0 tai vähemmän tarkoittaa yli kantaman) if (etäisyys = 0) {servo.write (50); viive (3000); } else {servo.write (160); }}

Nyt kun tiedämme kaikki vaiheet tämän hämmästyttävän projektin toteuttamiseksi, kiirehdi ja nauti älykkään roskakorin valmistamisesta.