Hogyan készítsünk intelligens kukát az Arduino használatával?

A világ gyorsan mozog, és a technika is mozog vele az elektronika területén. Ebben a modern korban minden okos. Miért nem teszünk okossá a szemeteseket? Környezetünkben gyakori probléma, hogy a kukák nagy részét felülről fedik le. Az emberek kényelmetlenül érzik magukat a fedél megérintésével és kinyitásával, hogy a kiütésüket beledobja. Néhány ember problémáját megoldhatjuk a kuka fedelének automatizálásával.



Intelligens kuka

Az Arduino és az ultrahangos érzékelő a szervomotorral együtt integrálható, hogy okos szemetet készítsen. Ha a kuka észlel némi szemetet maga előtt, automatikusan kinyitja a fedelét, és a fedél néhány másodperces késés után bezáródik.



Hogyan lehet automatikusan kinyitni és bezárni a szemétdoboz fedelét az Arduino használatával?

Most, hogy ismerjük a projekt absztraktját, lépjünk előre, és kezdjünk el további információkat gyűjteni az alkatrészekről, a működésről és a kapcsolási rajzról, hogy azonnal elkezdhessünk dolgozni a projekten.



1. lépés: Az alkatrészek összegyűjtése

Ha bármilyen projekt közepette el akarja kerülni a kellemetlenségeket, a legjobb megoldás az, ha elkészítjük az összes összetevő teljes listáját, amelyet használni fogunk. A második lépés, mielőtt megkezdenénk az áramkört, át kell tekintenünk mindezen összetevők rövid tanulmányozását. Az alábbiakban felsoroljuk a projektben szükséges összes összetevőt.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = “Ultrahangos érzékelő” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Szervómotor ”/]
  • [Amazon Link = ”B07PPP185M” title = “Breadboard” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Breadboard Jumper Wires” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5 V-os hálózati adapter Arduino számára ”/]

2. lépés: Az alkatrészek tanulmányozása

Most, hogy az összes alkatrészről teljes listánk van, lépjünk előre és lépjünk át egy rövid tanulmányt az egyes alkatrészek működéséről.

Arduino Nano egy kenyérlemez-barát mikrokontroller kártya, amelyet egy áramkörben különböző feladatok irányítására vagy végrehajtására használnak. Égetünk egy C kód az Arduino Nano-n, hogy elmondja a mikrokontroller táblának, hogyan és milyen műveleteket hajtson végre. Az Arduino Nano pontosan ugyanolyan funkcionalitással rendelkezik, mint az Arduino Uno, de meglehetősen kicsi. Az Arduino Nano táblán található mikrovezérlő az ATmega328p. ha nincs Arduino Nano, akkor használhatja az Arduino Uno vagy az Arduino Maga alkalmazást is.

Arduino Nano



A HC-SR04 tábla egy ultrahangos érzékelő, amelyet két tárgy közötti távolság meghatározására használnak. Adóból és vevőből áll. Az adó átalakítja az elektromos jelet ultrahangos jellé, a vevő pedig az ultrahangos jelet visszaalakítja elektromos jellé. Amikor az adó ultrahangos hullámot küld, akkor az visszatükröződik, miután ütközött egy bizonyos objektummal. A távolság kiszámítása az idő felhasználásával történik, amelyre az ultrahangos jelnek az adóból kell mennie, és vissza kell térnie a vevőhöz.

Ultrahangos érzékelő.

NAK NEK Szervómotor egy forgó vagy egy lineáris működtető, amely pontos lépésenként szabályozható és mozgatható. Ezek a motorok különböznek az egyenáramú motoroktól. Ezek a motorok lehetővé teszik a szögletes vagy forgó mozgás pontos vezérlését. Ez a motor egy érzékelőhöz van kapcsolva, amely visszajelzést küld a mozgásáról.

Szervómotor

3. lépés: A munka megértése

Készítünk egy szemetesedényt, amelynek fedele automatikusan kinyílik és becsukódik, és nem lesz szükség fizikai érintésre. Csak ki kell vinnünk a szemetet a kuka elé. Az ultrahangos érzékelő automatikusan felismeri a szemetet, és egy szervomotor segítségével kinyitja a fedelet. Amikor a fedél nyitva van, a szemetet a kukába dobjuk, és ha elkészültünk, a fedél néhány másodperces késés után automatikusan bezáródik. Ez az egyszerű működési elv a projekt mögött.

4. lépés: Az alkatrészek összeszerelése

  1. Csatlakoztasson egy kenyérlemezt a kuka oldalához. Helyezzen bele egy Arduino Nano táblát.
  2. Helyezzen egy ultrahangos érzékelőt a kuka elé. az érzékelőnek kissé felfelé kell néznie, kis magassági szöggel.
  3. Fogja a szervomotort, és rögzítsen egy szervokart. Rögzítse a szervomotort a tartály és a fedél csatlakozójára forró ragasztó segítségével.
  4. Most csatlakoztassa az összes csatlakozást összekötő vezetékeken keresztül. Csatlakoztassa a Vin és a motor földjét, valamint az ultrahangos érzékelőt az Arduino 5 V-hoz és földeléséhez. Csatlakoztassa az érzékelő kioldócsapját az Arduino 2-es és a visszhangcsapot a 3-as csaphoz. Csatlakoztassa a szervomotor PWM-tűjét az Arduino pin5-ös csatlakozójához.
  5. Most, hogy az áramkör összes csatlakozása megtörtént, a következőképpen kell kinéznie:

    Kördiagramm

5. lépés: Az Arduino használatának megkezdése

Ha még nem ismeri az Arduino IDE-t, ne aggódjon, mert az Arduino IDE mikrokontroller-táblával történő beállításának és használatának lépésről lépésre történő leírását az alábbiakban ismertetjük.

  1. Töltse le az Arduino IDE legújabb verzióját innen: Arduino.
  2. Csatlakoztassa Arduino Nano kártyáját a laptophoz, és nyissa meg a kezelőpanelt. a vezérlőpulton kattintson a gombra Hardver és hang . Most kattintson a gombra Eszközök és nyomtatók. Itt keresse meg azt a portot, amelyhez a mikrokontroller kártya csatlakozik. Az én esetemben az COM14 de a különböző számítógépeken más.

    Port megtalálása

  3. Kattintson az Eszköz menüre. és állítsa a táblát Arduino Nano a legördülő menüből.

    Tábla beállítása

  4. Ugyanabban az Eszköz menüben állítsa be a portot arra a portszámra, amelyet korábban a Eszközök és nyomtatók .

    Port beállítása

  5. Ugyanebben az Eszköz menüben állítsa a processzort ATmega328P (Old Bootloader).

    Processzor

  6. A szervomotorok működtetéséhez szükséges kód megírásához speciális könyvtárra van szükségünk, amely segít a szervomotorok több funkciójának megírásában. Ez a könyvtár a kóddal együtt az alábbi linken található. A könyvtár felvételéhez kattintson a gombra Vázlat> Könyvtár hozzáadása> ZIP hozzáadása. Könyvtár.

    Könyvtár beillesztése

  7. Töltse le az alább csatolt kódot, és illessze be az Arduino IDE-be. Kattintson a feltölteni gombot a kód megírásához a mikrokontroller táblán.

    Feltöltés

A kód letöltéséhez kattints ide.

6. lépés: A kód megértése

A kód elég jól meg van kommentálva, de mégis röviden ismertetjük az alábbiakban.

1. Az elején egy könyvtár szerepel, hogy beépített funkciókat használhassunk a szervomotor működtetésére. Az Arduino Nano kártya két érintkezõje is inicializálva van, hogy azok felhasználhatók legyenek az ultrahangos érzékelõ ravaszához és visszhangcsapjához. Egy objektum is készül, hogy felhasználható legyen a szervomotorok értékeinek beállítására. Két változót is deklarálunk, így az ultrahangos jel távolságának és idejének értéke elmenthető, majd felhasználható a képletben.

#include // Könyvtár hozzáadása a szervomotorhoz Servo szervo; // A szervomotor objektumának deklarálása int const trigPin = 2; // Csatlakoztassa az arduino pin2-jét az ultrahangos érzékelő triggereihez int const echoPin = 3; // Csatlakoztassa az arduino pin3-át az ultrahangos érzékelő visszhangjához int időtartam, távolság; // Változók deklarálása az ultrahangos jel távolságának és típusának tárolására

2. void setup () egy olyan funkció, amelyben inicializáljuk az Arduino tábla csapjait INPUT vagy OUTPUT néven. A kioldó tüskét kimenetként, visszhangot fogják használni bemenetként. Felhasználtuk az objektumot szervo- , csatlakoztassa a motort az Arduino nano 5. tűjéhez. A Pin5 használható a PWM jel küldésére. Az átviteli sebesség szintén ebben a funkcióban van beállítva. Az átviteli sebesség az a bit / másodperc sebesség, amellyel a mikrovezérlő kommunikál a külső eszközökkel.

void setup () {Serial.begin (9600); // a pinMode (trigPin, OUTPUT) mikrovezérlő adatátviteli sebességének beállítása; // a trig pin lesz kimeneti pinMode (echoPin, INPUT); // az echo pin lesz a bemenet szervo.attach (5); // Cnnect a szervomotort az arduino pin5-ére}

3. void loop () olyan funkció, amely újra és újra fut egy ciklusban. Ebben a körben egy ultrahangos hullám kerül a környezetbe, és visszakapja azt. A megtett távolságot a jel által igénybe vett idő felhasználásával mérjük ki az érzékelőből és térjünk vissza hozzá. Ezután a feltételt ennek megfelelően alkalmazzák a távolságra.

void loop () {digitalWrite (trigPin, HIGH); // ultrahangos jel küldése a környező késésben (1); digitalWrite (trigPin, LOW); // Mérjük meg az impulzus bemenetét echo pin időtartamában = pulseIn (echoPin, HIGH); // A távolság az időtartam fele, elosztva 29,1-vel (az adatlaptól) távolság = (időtartam / 2) / 29,1; // ha a távolság kevesebb, mint 0,5 méter és több, mint 0 (0 vagy kevesebb azt jelenti, hogy a hatótávolságot meghaladja), ha (távolság = 0) {szervo.write (50); késés (3000); } else {servo.write (160); }}

Most, hogy ismerjük a csodálatos projekt elkészítéséhez szükséges összes lépést, siessen, és élvezze az intelligens kuka elkészítését.