Hvordan laver man en smart papirkurv ved hjælp af Arduino?

Verden bevæger sig hurtigt, og teknologien bevæger sig også inden for elektronikområdet. Alt i denne moderne æra bliver smart. Hvorfor gør vi ikke skraldespandene smarte? Det er et almindeligt problem, der ses i vores omgivelser, at de fleste skraldespand er dækket ovenfra. Folk føler sig ubehagelige med at røre ved låget og åbne det for at smide deres udslæt i det. Vi kan løse dette problem for nogle mennesker ved at automatisere låget på skraldespanden.



Smart papirkurv

En Arduino og en ultralydssensor sammen med servomotoren kan integreres for at lave en smart skraldespand. Hvis papirkurven registrerer noget affald foran den, åbner den låget automatisk, og låget lukkes efter en forsinkelse på nogle sekunder.



Sådan åbnes og lukkes låget til skraldespanden automatisk ved hjælp af Arduino?

Nu som vi kender abstraktet af projektet, lad os gå videre og begynde at samle mere information om komponenterne, arbejdet og kredsløbsdiagrammet for straks at begynde at arbejde på projektet.



Trin 1: Samling af komponenterne

Hvis du vil undgå ulemper midt i ethvert projekt, er den bedste tilgang at lave en komplet liste over alle de komponenter, som vi skal bruge. Det andet trin, inden du begynder at oprette kredsløbet, er at gennemgå en kort undersøgelse af alle disse komponenter. Nedenfor vises en liste over alle de komponenter, vi har brug for i dette projekt.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Ultralydssensor” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Servomotor ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Breadboard” /]
  • [Amazon Link = ”B01D9ZM6LS” title = ”Breadboard Jumper Wires” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5V strømadapter til Arduino ”/]

Trin 2: Studere komponenterne

Nu, da vi har en komplet liste over alle komponenterne, lad os gå et skridt fremad og gennemgå en kort undersøgelse af, hvordan hver komponent fungerer.

Arduino Nano er et brødbrætvenligt mikrokontrolkort, der bruges til at styre eller udføre forskellige opgaver i et kredsløb. Vi brænder en C-kode på Arduino Nano for at fortælle mikrocontrolbrættet, hvordan og hvilke operationer der skal udføres. Arduino Nano har nøjagtig den samme funktionalitet som Arduino Uno, men i en ganske lille størrelse. Mikrocontrolleren på Arduino Nano-kortet er ATmega328p. hvis du ikke har en Arduino Nano, kan du også bruge Arduino Uno eller Arduino Maga.

Arduino Nano



HC-SR04-kort er en ultralydssensor, der bruges til at bestemme afstanden mellem to objekter. Den består af en sender og en modtager. Senderen konverterer det elektriske signal til et ultralydssignal, og modtageren konverterer ultralydssignalet tilbage til det elektriske signal. Når senderen sender en ultralydsbølge, reflekteres den efter kollision med en bestemt genstand. Afstanden beregnes ved hjælp af den tid, det tager ultralydssignal at gå fra senderen og komme tilbage til modtageren.

Ultralydssensor.

TIL Servomotor er en roterende eller en lineær aktuator, som kan styres og bevæges i nøjagtig stigning. Disse motorer adskiller sig fra jævnstrømsmotorer. Disse motorer tillader nøjagtig kontrol af vinkel- eller rotationsbevægelse. Denne motor er koblet til en sensor, der sender feedback om dens bevægelse.

Servomotor

Trin 3: Forstå arbejdet

Vi laver en skraldespand, hvis låg automatisk åbnes og lukkes, og der er ikke behov for at røre ved det fysisk. Vi bliver bare nødt til at tage skraldespanden foran skraldespanden. Ultralydssensoren registrerer automatisk skraldet og åbner låget ved hjælp af en servomotor. Når låget er åbent, smider vi affaldet i skraldespanden, og når vi er færdige, lukkes låget automatisk efter en forsinkelse på nogle sekunder. Dette er det enkle arbejdsprincip bag dette projekt.

Trin 4: Samling af komponenterne

  1. Fastgør et brødbræt på siden af ​​en skraldespand. Indsæt et Arduino Nano-kort i det.
  2. Fastgør en ultralydssensor foran skraldespanden. sensoren skal vende lidt opad med en lille højdevinkel.
  3. Tag servomotoren, og fastgør en servoarm i den. Fastgør servomotoren på skraldespanden og låget ved hjælp af varm lim.
  4. Foretag nu alle forbindelser gennem tilslutningsledninger. Forbind Vin og jorden af ​​motoren og ultralydssensoren til 5V og jorden af ​​Arduino. Tilslut sensorens udløserstift til pin2 og echo pin til pin3 på Arduino. Tilslut PWM-stiften på servomotoren til pin5 på Arduino.
  5. Nu da alle forbindelser i kredsløbet er lavet, skal det se sådan ud:

    Kredsløbsdiagram

Trin 5: Kom godt i gang med Arduino

Hvis du ikke allerede er fortrolig med Arduino IDE, skal du ikke bekymre dig, fordi en trinvis procedure til opsætning og brug af Arduino IDE med et mikrocontrollerkort forklares nedenfor.

  1. Download den nyeste version af Arduino IDE fra Arduino.
  2. Tilslut dit Arduino Nano-kort til din bærbare computer, og åbn kontrolpanelet. i kontrolpanelet skal du klikke på Hardware og lyd . Klik nu på Enheder og printere. Her finder du den port, som dit mikrocontrollerkort er tilsluttet. I mit tilfælde er det COM14 men det er anderledes på forskellige computere.

    Find port

  3. Klik på værktøjsmenuen. og sæt tavlen til Arduino Nano fra rullemenuen.

    Indstillingsbræt

  4. I den samme værktøjsmenu skal du indstille porten til det portnummer, du tidligere har observeret i Enheder og printere .

    Indstilling af port

  5. I samme værktøjsmenu skal du indstille processoren til ATmega328P (gammel bootloader).

    Processor

  6. For at skrive kode til betjening af servomotorer har vi brug for et specielt bibliotek, der hjælper os med at skrive flere funktioner til servomotorer. Dette bibliotek er vedhæftet sammen med koden i nedenstående link. Klik på for at inkludere biblioteket Skitse> Inkluder bibliotek> Tilføj ZIP. Bibliotek.

    Inkluder bibliotek

  7. Download koden nedenfor, og indsæt den i din Arduino IDE. Klik på upload knap for at brænde koden på dit mikrocontrollerkort.

    Upload

For at downloade koden, Klik her.

Trin 6: Forstå koden

Koden er ret godt kommenteret, men det forklares stadig kort nedenfor.

1. I starten medfølger et bibliotek, så vi kan bruge indbyggede funktioner til at betjene servomotoren. To ben på Arduino Nano-kortet initialiseres også, så de kan bruges til udløseren og ekko-stiften på ultralydssensoren. Et objekt er også lavet, så det kan bruges til at indstille værdier for servomotorer. To variabler erklæres også, så værdien af ​​afstanden og tiden for ultralydssignalet kan gemmes og derefter bruges i formlen.

#include // Inkluder bibliotek til Servo Motor Servo servo; // Erklær et objekt for servomotor int const trigPin = 2; // Forbind pin2 af arduino med trig af ultralydssensor int const echoPin = 3; // Forbind pin3 af arduino med ekko af ultralydssensor int varighed, afstand; // Erklær variabler for at gemme afstand og type af ultralydssignalet

2. ugyldig opsætning () er en funktion, hvor vi initialiserer stifterne på Arduino-kortet, der skal bruges som INPUT eller OUTPUT. Trigger pin bruges som output, og en echo pin bruges som input. Vi har brugt objektet servo , for at forbinde motoren til pin 5 i Arduino nano. Pin5 kan bruges til at sende PWM-signalet. Baudrate er også indstillet i denne funktion. Baudhastighed er bit pr. Sekund hastighed, hvormed mikrocontrolleren kommunikerer med de eksterne enheder.

ugyldig opsætning () {Serial.begin (9600); // indstilling af baudhastigheden for mikrokontroller pinMode (trigPin, OUTPUT); // trig pin bruges som output pinMode (echoPin, INPUT); // echo pin vil blive brugt som input servo.attach (5); // Tilslut servomotoren til pin5 i arduino}

3. ugyldig sløjfe () er en funktion, der kører igen og igen i en løkke. I denne sløjfe sendes en ultralydsbølge i omgivelserne og modtages tilbage. Den tilbagelagte afstand måles ved hjælp af den tid, det tager af signalet, at forlade sensoren og komme tilbage til den. Derefter anvendes betingelsen til afstanden i overensstemmelse hermed.

void loop () {digitalWrite (trigPin, HIGH); // udsendelse af et ultralydssignal i den omgivende forsinkelse (1); digitalWrite (trigPin, LOW); // Mål pulsindgangen i echo pin-varighed = pulseIn (echoPin, HIGH); // Afstand er halvdelen af ​​varigheden divideret med 29,1 (fra datablad) distance = (varighed / 2) / 29,1; // hvis afstand mindre end 0,5 meter og mere end 0 (0 eller mindre betyder over rækkevidde) hvis (afstand = 0) {servo.write (50); forsinkelse (3000); } andet {servo.write (160); }}

Nu da vi kender alle trinene til at gennemføre dette fantastiske projekt, skal du skynde dig og nyde at lave din smarte skraldespand.