Hur man gör en smart papperskorg med Arduino?

Världen rör sig snabbt, och tekniken rör sig också inom elektronikområdet. Allt i den här moderna eran blir smart. Varför gör vi inte papperskorgen smarta? Det är ett vanligt problem som vi ser i vår omgivning att de flesta soporna är täckta uppifrån. Människor känner sig obekväma att röra vid locket och öppna det för att kasta utslag i det. Vi kan lösa problemet hos vissa människor genom att automatisera papperskorgen.



Smart papperskorg

En Arduino och en ultraljudssensor tillsammans med servomotorn kan integreras för att skapa en smart papperskorg. Om soptunnan upptäcker något sopor framför det öppnar det locket automatiskt och locket stängs efter några sekunder.



Hur öppnar jag automatiskt och stänger locket på soptunnan med Arduino?

Nu som vi vet abstrakt av projektet, låt oss gå vidare och börja samla mer information om komponenterna, arbetet och kretsschemat för att omedelbart börja arbeta med projektet.



Steg 1: Samla in komponenterna

Om du vill undvika besvär mitt i något projekt är det bästa sättet att göra en fullständig lista över alla komponenter som vi ska använda. Det andra steget, innan du börjar göra kretsen, är att gå igenom en kort studie av alla dessa komponenter. En lista över alla komponenter som vi behöver i detta projekt ges nedan.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ultraljudsensor” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Servomotor ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Brödbräda” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Breadboard Jumper Wires” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5V nätadapter för Arduino ”/]

Steg 2: Studera komponenterna

Nu när vi har en komplett lista över alla komponenter, låt oss gå ett steg framåt och gå igenom en kort studie av hur varje komponent fungerar.

Arduino Nano är ett brädbrädevänligt mikrokontrollerkort som används för att styra eller utföra olika uppgifter i en krets. Vi bränner en C-kod på Arduino Nano för att berätta för mikrokontrollerkortet hur och vilka operationer som ska utföras. Arduino Nano har exakt samma funktionalitet som Arduino Uno men i ganska liten storlek. Mikrokontrollern på Arduino Nano-kortet är ATmega328p. om du inte har en Arduino Nano kan du också använda Arduino Uno eller Arduino Maga.

Arduino Nano



HC-SR04-kortet är en ultraljudssensor som används för att bestämma avståndet mellan två objekt. Den består av en sändare och en mottagare. Sändaren omvandlar den elektriska signalen till en ultraljudssignal och mottagaren konverterar ultraljudssignalen tillbaka till den elektriska signalen. När sändaren skickar en ultraljudsvåg reflekteras den efter kollision med ett visst föremål. Avståndet beräknas med hjälp av den tid det tar för ultraljudssignalen att gå från sändaren och komma tillbaka till mottagaren.

Ultraljudssensor.

TILL Servomotor är en roterande eller en linjär manöverdon som kan styras och flyttas i exakt steg. Dessa motorer skiljer sig från likströmsmotorer. Dessa motorer möjliggör exakt kontroll av vinkel- eller rotationsrörelse. Denna motor är kopplad till en sensor som skickar feedback om sin rörelse.

Servomotor

Steg 3: Förstå arbetet

Vi gör en soptunna vars lock automatiskt öppnas och stängs och det inte finns något behov av att röra vid det fysiskt. Vi måste bara ta papperskorgen framför papperskorgen. Ultraljudsgivaren upptäcker automatiskt papperskorgen och öppnar locket med hjälp av en servomotor. När locket är öppet slänger vi papperskorgen i soptunnan och när vi är färdiga stängs locket automatiskt efter en fördröjning på några sekunder. Detta är den enkla arbetsprincipen bakom detta projekt.

Steg 4: Montering av komponenterna

  1. Fäst en brödbräda på sidan av en soptunna. Sätt i ett Arduino Nano-kort i det.
  2. Fäst en ultraljudssensor framför soptunnan. sensorn ska vara vänd uppåt med en liten höjdvinkel.
  3. Ta servomotorn och fixera en servoarm i den. Fäst servomotorn på skarven på soptunnan och locket med hjälp av varmt lim.
  4. Gör nu alla anslutningar genom anslutningskablar. Anslut Vin och jordens motor och ultraljudssensorn till 5V och Arduino jord. Anslut sensorns utlösningsstift till pin2 och ekstiftet till pin3 på Arduino. Anslut PWM-stiftet på servomotorn till stift 5 på Arduino.
  5. Nu när alla kretsanslutningar är gjorda, bör det se ut så här:

    Kretsschema

Steg 5: Komma igång med Arduino

Om du inte redan är bekant med Arduino IDE, oroa dig inte eftersom en steg för steg-procedur för att ställa in och använda Arduino IDE med ett mikrokontrollerkort förklaras nedan.

  1. Ladda ner den senaste versionen av Arduino IDE från Arduino.
  2. Anslut ditt Arduino Nano-kort till din bärbara dator och öppna kontrollpanelen. Klicka på på kontrollpanelen Hårdvara och ljud . Klicka nu på Enheter och skrivare. Här hittar du porten som ditt mikrokontrollkort är anslutet till. I mitt fall är det COM14 men det är annorlunda på olika datorer.

    Hitta port

  3. Klicka på Verktyg-menyn. och sätt styrelsen till Arduino Nano från rullgardinsmenyn.

    Inställningsbräda

  4. I samma verktygsmeny ställer du in porten till det portnummer som du observerade tidigare i Enheter och skrivare .

    Ställ in port

  5. I samma verktygsmeny ställer du in processorn på ATmega328P (Old Bootloader).

    Processor

  6. För att skriva kod för att styra servomotorerna behöver vi ett speciellt bibliotek som hjälper oss att skriva flera funktioner för servomotorer. Detta bibliotek bifogas tillsammans med koden i länken nedan. Klicka på för att inkludera biblioteket Skiss> Inkludera bibliotek> Lägg till ZIP. Bibliotek.

    Inkludera bibliotek

  7. Ladda ner koden som bifogas nedan och klistra in den i din Arduino IDE. Klicka på ladda upp -knappen för att bränna koden på ditt mikrokontrollerkort.

    Ladda upp

För att ladda ner koden, Klicka här.

Steg 6: Förstå koden

Koden är ganska bra kommenterad men ändå förklaras den kort nedan.

1. I början ingår ett bibliotek så att vi kan använda inbyggda funktioner för att manövrera servomotorn. Två stift på Arduino Nano-kortet initialiseras också så att de kan användas för ultraljudssensorns utlösare och ekstift. Ett objekt är också gjort så att det kan användas för att ställa in värden för servomotorerna. Två variabler deklareras också så att värdet på ultraljudssignalens avstånd och tid kan sparas och sedan användas i formeln.

#include // Inkludera bibliotek för Servo Motor Servo servo; // Förklara ett objekt för servomotor int const trigPin = 2; // Anslut pin2 av arduino med trig av ultraljudssensor int const echoPin = 3; // Anslut pin3 av ​​arduino med eko av ultraljudssensor int varaktighet, avstånd; // Förklara variabler för att lagra avstånd och typ av ultraljudssignalen

2. ogiltig installation () är en funktion där vi initialiserar stiften på Arduino-kortet för att användas som INPUT eller OUTPUT. Trigger pin kommer att användas som utgång och ett echo pin kommer att användas som input. Vi har använt objektet servo- , för att ansluta motorn till stift 5 i Arduino nano. Pin5 kan användas för att skicka PWM-signalen. Baudhastighet ställs också in i denna funktion. Baudhastighet är bitarna per sekund som mikrokontrollern kommunicerar med de externa enheterna.

ogiltig installation () {Serial.begin (9600); // ställa in baudhastigheten för mikrokontroller pinMode (trigPin, OUTPUT); // trig pin kommer att användas som utgång pinMode (echoPin, INPUT); // echo pin kommer att användas som ingångsservo.attach (5); // Anslut servomotorn till pin5 i arduino}

3. ogiltig slinga () är en funktion som körs om och om igen i en slinga. I denna slinga skickas en ultraljudsvåg i omgivningen och tas emot tillbaka. Avståndet som täcks mäts med hjälp av den tid det tar av signalen att lämna sensorn och komma tillbaka till den. Sedan tillämpas villkoret på avståndet i enlighet därmed.

void loop () {digitalWrite (trigPin, HIGH); // sänder en ultraljudssignal i den omgivande fördröjningen (1); digitalWrite (trigPin, LOW); // Mät pulsinmatningen i ekotappens varaktighet = pulseIn (echoPin, HIGH); // Avståndet är halva längden dividerad med 29.1 (från databladet) avstånd = (varaktighet / 2) / 29.1; // om avstånd mindre än 0,5 meter och mer än 0 (0 eller mindre betyder över räckvidd) om (avstånd = 0) {servo.write (50); fördröjning (3000); } annat {servo.write (160); }}

Nu när vi känner till alla steg för att göra detta fantastiska projekt, skynda dig och njut av att göra din smarta papperskorg.