Kā padarīt viedu atkritumu tvertni, izmantojot Arduino?

Pasaule pārvietojas ātri, un tehnoloģija ar to pārvietojas arī elektronikas jomā. Viss šajā mūsdienu laikmetā kļūst gudrs. Kāpēc mēs nepadarām atkritumu urnas gudras? Tā ir izplatīta problēma, kas redzama mūsu apkārtnē, ka lielākā daļa atkritumu tvertņu ir pārklāta no augšas. Cilvēki jūtas neērti pieskarties vākam un atvērt to, lai iemestu tajā izsitumus. Mēs varam atrisināt šo dažu cilvēku problēmu, automatizējot atkritumu tvertnes vāku.



Viedā miskaste

Lai izveidotu viedu atkritumu tvertni, var integrēt Arduino un ultraskaņas sensoru kopā ar servomotoru. Ja atkritumu tvertne atrod kādu atkritumu priekšā, tas automātiski atvērs vāku un vāks tiks aizvērts pēc dažu sekunžu kavēšanās.



Kā automātiski atvērt un aizvērt atkritumu tvertnes vāku, izmantojot Arduino?

Tagad, kad mēs zinām projekta kopsavilkumu, virzīsimies uz priekšu un sāksim vākt vairāk informācijas par komponentiem, darbu un shēmu, lai nekavējoties sāktu strādāt pie projekta.



1. darbība: komponentu savākšana

Ja vēlaties izvairīties no neērtībām jebkura projekta vidū, vislabākā pieeja ir izveidot visu to komponentu pilnīgu sarakstu, kurus mēs izmantosim. Otrais solis, pirms sākt ķēdi, ir īss visu šo komponentu izpēte. Visu šajā projektā nepieciešamo komponentu saraksts ir sniegts zemāk.



  • [Amazon Link = ”B07QTQ72GJ” nosaukums = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” nosaukums = ”Ultraskaņas sensors” /]
  • [Amazon Link = ”B07D3L25H3” nosaukums = ”Servo motors” /]
  • [Amazon Link = ”B07PPP185M” nosaukums = ”Maizes dēlis” /]
  • [Amazon Link = ”B01D9ZM6LS” nosaukums = ”Maizes paneļa jumpera vadi” /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” 5 V strāvas adapteris Arduino ”/]

2. solis: Komponentu izpēte

Tagad, kad mums ir pilns visu komponentu saraksts, virzīsimies vienu soli uz priekšu un veiksim īsu pētījumu par katra komponenta darbību.

Arduino Nano ir maizes dēlim draudzīga mikrokontrolleru plate, kas tiek izmantota dažādu uzdevumu kontrolei vai veikšanai ķēdē. Mēs sadedzinām a C kods uz Arduino Nano pateikt mikrokontrolleru panelim, kā un kādas darbības veikt. Arduino Nano ir tieši tāda pati funkcionalitāte kā Arduino Uno, bet diezgan mazā izmērā. Arduino Nano dēļa mikrokontrolleris ir ATmega328p. ja jums nav Arduino Nano, varat izmantot arī Arduino Uno vai Arduino Maga.

Arduino Nano



HC-SR04 dēlis ir ultraskaņas sensors, ko izmanto, lai noteiktu attālumu starp diviem objektiem. Tas sastāv no raidītāja un uztvērēja. Raidītājs pārveido elektrisko signālu par ultraskaņas signālu, un uztvērējs pārveido ultraskaņas signālu atpakaļ par elektrisko signālu. Kad raidītājs sūta ultraskaņas viļņu, tas atstaro pēc sadursmes ar noteiktu objektu. Attālumu aprēķina, izmantojot laiku, kas nepieciešams ultraskaņas signālam, lai pārietu no raidītāja un atgrieztos pie uztvērēja.

Ultraskaņas sensors.

TO Servomotors ir rotējošs vai lineārs izpildmehānisms, kuru var vadīt un pārvietot ar precīzu soli. Šie motori atšķiras no līdzstrāvas motoriem. Šie motori ļauj precīzi kontrolēt leņķa vai rotācijas kustību. Šis motors ir savienots ar sensoru, kas sūta atsauksmes par tā kustību.

Servomotors

3. solis: darba izpratne

Mēs izgatavojam atkritumu tvertni, kuras vāks automātiski atvērsies un aizvērsies, un nebūs vajadzības tam fiziski pieskarties. Mums vienkārši būs jāiznes atkritumi atkritumu tvertnes priekšā. Ultraskaņas sensors automātiski noteiks atkritumus un ar servomotora palīdzību atvērs vāku. Kad vāks ir atvērts, mēs izmetīsim atkritumus atkritumu tvertnē, un, kad tas būs paveikts, vāks tiks aizvērts automātiski pēc dažu sekunžu kavēšanās. Šis ir vienkāršs šī projekta darbības princips.

4. solis: komponentu montāža

  1. Tvertnes malā piestipriniet maizes dēli. Ievietojiet tajā Arduino Nano dēli.
  2. Tvertnes priekšā piestipriniet ultraskaņas sensoru. sensoram jābūt vērstam nedaudz uz augšu ar nelielu pacēluma leņķi.
  3. Paņemiet servomotoru un nofiksējiet tajā servo roku. Pievienojiet servomotoru uz tvertnes un vāka savienojuma vietas ar karstas līmes palīdzību.
  4. Tagad izveidojiet visus savienojumus, izmantojot savienojošos vadus. Pievienojiet Vin un motora zemi un ultraskaņas sensoru Arduino 5V un zemei. Savienojiet sensora sprūda tapu ar tapu2 un atbalss tapu ar Arduino tapu3. Savienojiet servomotora PWM tapu ar Arduino pin5.
  5. Kad visi ķēdes savienojumi ir izveidoti, tam vajadzētu izskatīties šādi:

    Ķēdes shēma

5. solis: darba sākšana ar Arduino

Ja vēl neesat pazīstams ar Arduino IDE, neuztraucieties, jo tālāk ir paskaidrota pakāpeniska procedūra, kā iestatīt un izmantot Arduino IDE ar mikrokontrolleru paneli.

  1. Lejupielādējiet jaunāko Arduino IDE versiju no Arduino.
  2. Pievienojiet savu Arduino Nano dēli klēpjdatoram un atveriet vadības paneli. vadības panelī noklikšķiniet uz Aparatūra un skaņa . Tagad noklikšķiniet uz Ierīces un printeri. Šeit atrodiet portu, kuram ir pievienota jūsu mikrokontrolleru plate. Manā gadījumā tā ir COM14 bet dažādos datoros tas ir atšķirīgs.

    Ostas atrašana

  3. Noklikšķiniet uz izvēlnes Rīks. un iestatiet dēli uz Arduino Nano no nolaižamās izvēlnes.

    Dēļu iestatīšana

  4. Tajā pašā izvēlnē Rīks iestatiet portu uz porta numuru, kuru iepriekš novērojāt Ierīces un printeri .

    Portas iestatīšana

  5. Tajā pašā izvēlnē Rīks iestatiet Procesors uz ATmega328P (Old Bootloader).

    Procesors

  6. Lai ierakstītu kodu servomotoru darbināšanai, mums ir nepieciešama īpaša bibliotēka, kas mums palīdzēs uzrakstīt vairākas funkcijas servomotoriem. Šī bibliotēka ir pievienota kopā ar kodu zemāk esošajā saitē. Lai iekļautu bibliotēku, noklikšķiniet uz Skice> Iekļaut bibliotēku> Pievienot ZIP. Bibliotēka.

    Iekļaut bibliotēku

  7. Lejupielādējiet zemāk pievienoto kodu un ielīmējiet to savā Arduino IDE. Noklikšķiniet uz augšupielādēt pogu, lai ierakstītu kodu mikrokontrolleru dēlī.

    Augšupielādēt

Lai lejupielādētu kodu, noklikšķiniet šeit.

6. solis: izpratne par kodeksu

Kods ir diezgan labi komentēts, bet tomēr tas ir īsumā paskaidrots zemāk.

1. Sākumā ir iekļauta bibliotēka, lai servomotora darbināšanai varētu izmantot iebūvētās funkcijas. Tiek inicializēti arī divi Arduino Nano dēļa tapas, lai tos varētu izmantot ultraskaņas sensora palaidējam un atbalss tapai. Tiek izgatavots arī objekts, lai to varētu izmantot servomotoru vērtību iestatīšanai. Tiek deklarēti arī divi mainīgie, lai ultraskaņas signāla attāluma un laika vērtību varētu saglabāt un pēc tam izmantot formulā.

#include // Iekļaut bibliotēku servomotoram Servo servo; // Deklarēt objektu servomotoram int const trigPin = 2; // Savienojiet arduino pin2 ar ultraskaņas sensora trigeri int const echoPin = 3; // Savienojiet arduino pin3 ar ultraskaņas sensora atbalsi int ilgums, attālums; Deklarēt mainīgos, lai saglabātu ultraskaņas signāla attālumu un veidu

2. anulēt iestatīšanu () ir funkcija, kurā mēs inicializējam Arduino dēļa tapas, lai tās izmantotu kā INPUT vai OUTPUT. Trigera tapa tiks izmantota kā izeja, un atbalss tapa tiks izmantota kā ievade. Mēs izmantojām objektu servo , lai pievienotu motoru Arduino nano 5. tapai. Pin5 var izmantot PWM signāla nosūtīšanai. Šajā funkcijā ir iestatīts arī pārraides ātrums. Buda ātrums ir biti sekundē ātrums, ar kuru mikrokontrolleris sazinās ar ārējām ierīcēm.

void setup () {Sērijas.sākt (9600); // mikrokontrollera pinMode (trigPin, OUTPUT) pārraides ātruma iestatīšana; // trig pin tiks izmantots kā izejas pinMode (echoPin, INPUT); // atbalss tapa tiks izmantota kā ievade servo.attach (5); // Pievienojiet servomotoru arduino pin5}

3. void loop () ir funkcija, kas darbojas atkal un atkal ciklā. Šajā lokā ultraskaņas vilnis tiek nosūtīts apkārtnē un saņemts atpakaļ. Nobraukto attālumu mēra, izmantojot signāla laiku, lai atstātu sensoru un atgrieztos pie tā. Tad nosacījums tiek attiecīgi piemērots attālumam.

void loop () {digitalWrite (trigPin, HIGH); // ultraskaņas signāla nosūtīšana apkārtējā kavēšanās laikā (1); digitalWrite (trigPin, LOW); // Izmēra impulsa ievadi atbalss tapas ilgumā = pulseIn (echoPin, HIGH); // Attālums ir puse no ilguma, kas dalīts ar 29,1 (no datu lapas) attālums = (ilgums / 2) / 29,1; // ja attālums ir mazāks par 0,5 metriem un lielāks par 0 (0 vai mazāks nozīmē diapazonu), ja (attālums = 0) {servo.write (50); kavēšanās (3000); } else {servo.write (160); }}

Tagad, kad mēs zinām visus soļus, kas jāveic, lai izveidotu šo apbrīnojamo projektu, pasteidzieties un izbaudiet sava viedā atkritumu tvertnes izgatavošanu.