Innehållsförteckning:

Smart soptunna från Magicbit: 5 steg
Smart soptunna från Magicbit: 5 steg

Video: Smart soptunna från Magicbit: 5 steg

Video: Smart soptunna från Magicbit: 5 steg
Video: 9 THINGS almost EVERYONE always does WRONG💥(You too?)🤯 2024, November
Anonim
Image
Image

I denna handledning lär vi oss hur man gör en smart soptunna med Magicbit dev. bräda med Arduino IDE. Låt oss komma igång.

Tillbehör

  • Magicbit
  • USB-A till mikro-USB-kabel
  • Ultraljudssensor - HC -SR04 (Generisk)
  • SG90 Micro-servomotor

Steg 1: Berättelse

Hardware Setup
Hardware Setup

Innan vi går in i projektet kan vi titta på vad som är Smart papperskorg. Det finns en eller flera soptunnor i varje hem. I många gånger täckte du det. För det kommer att lukta i ditt hem. Så när du vill lägga lite skräp i papperskorgen måste du öppna det. Men om, när du går nära soptunnan för att lägga soporna och det automatiskt öppnar locket, så ser det ut. Galet aaa …. så det är den smarta soptunnan.

Steg 2: Teori och metodik

Teorin är väldigt enkel. När du går nära papperskorgen kommer det att upptäcka dig. Om avståndet mellan dig och soptunnan är mindre än ett visst avstånd öppnas locket till soptunnan automatiskt. För att slutföra båda dessa objekt använder vi HC-SRO4 ultraljudssensor och små servomotorer. Du kan få vilken typ av digital servomotor som helst.

Steg 3: Hårdvaruinstallation

Hardware Setup
Hardware Setup
Hardware Setup
Hardware Setup

För detta projekt använde vi främst tre hårdvarukomponenter. De är Magicbit, servomotor och ultraljudssensor. Förbindelsen mellan alla dessa delar visas i figuren ovan.

Ultraljudssensor används 3,3 v för uppstart. Därför använde vi den högra nedre porten på Magicbit -kortet för att ansluta ultraljudssensorn till Magicbit. Men servomotorn används 5V för korrekt funktion, därför använde vi vänster nedre port för att ansluta servomotor med Magicbit. I det här fallet använder vi Magic bit servokontaktmodul. Men om du inte har den modulen kan du använda tre bygelkablar för att ansluta 5V till 5V, Gnd till Gnd och signalstift till 26 -stift på magicbit.

Låt oss nu titta på den mekaniska sidan av vårt projekt. För att öppna locket använder vi en mycket enkel spakmekanism. Vi kopplade ena sidan servo handklämma till servo. Sedan kopplade vi hörnhålet i klämman och soptunnan med stark metalltråd. Metalltråden kan rotera med avseende på servoklämma och soptunnelhölje. Genom att studera toppbild och video kan du bygga det mycket enkelt.

Steg 4: Programvaruinstallation

Programvaruinstallation
Programvaruinstallation

Programvarudelen är också mycket enkel. Låt oss titta på Arduino IDE -koden och hur den koden fungerar.

För att köra servo använder vi ESP32 servobibliotek. Detta bibliotek innehåller nästan i magic bit board manager i Arduino IDE. För att hantera ultraljudssensor använder vi newPing -biblioteket. Detta kan laddas ner från följande länk.

bitbucket.org/teckel12/arduino-new-ping/d…

Ladda ner zip -filen och gå till verktyg> inkludera bibliotek> lägg till zip -bibliotek i Arduino. välj nu din nedladdade zip -fil i det nya pin -biblioteket. i koden deklarerar vi först servo och ultraljuds sensorbibliotek. I loop -funktionen kontrollerar vi alltid avståndet från papperskorgen till närmaste främre objekt. Om det rivjärnet än 200 är biblioteksdistans avstånd 0. När avståndet är lägre än 60 cm, kör det för slinga för att öppna locket genom att rotera servo. Om avståndet är större än 60 cm kommer locket att läggas ner. Genom att använda booleska variabel kontrollerar vi alltid kåpan. Om locket är nere öppnas bara det. Även tvärtom. Välj nu rätt COM -port och styrkort som magcibit, ladda sedan upp koden. Nu är din smarta soptunna klar att använda.

Steg 5: Arduino -kod

#omfatta

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 NewPing -ekolod (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #inkludera // inkludera servobibliotek int distans; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Definierar på vilken stift är servomotorn ansluten fördröjning (3000); } void loop () {// roterar servomotorn från 15 till 165 grader för (int i = 0; i <= 180; i ++) {RadarServo.write (i); fördröjning (50); distance = sonar.ping_cm (); // Anropar en funktion för att beräkna avståndet mätt av ultraljudssensorn för varje grad för (int j = 0; j0) {break; } Serial.print (i); // Skickar den aktuella graden till Serial Port Serial.print (","); // Skickar tilläggstecken bredvid det tidigare värdet som behövs senare i Processing IDE för indexering av Serial.print (j); // Skickar den aktuella graden till Serial Port Serial.print ("*"); Serial.print (1); // Skickar avståndsvärdet till Serial Port Serial.print ("/"); // Skickar tilläggstecken bredvid det tidigare värdet som behövs senare i Processing IDE för indexering av Serial.print (avstånd); // Skickar avståndsvärdet till Serial Port Serial.print ("."); // Skickar tilläggstecken bredvid det tidigare värdet som behövs senare i Processing IDE för indexering}} // Upprepar föregående rader från 165 till 15 grader för (int i = 180; i> = 0; i-) {RadarServo.skriv (i); fördröjning (50); avstånd = sonar.ping_cm (); för (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {fortsätt; } Serial.print (i); // Skickar den aktuella graden till Serial Port Serial.print (","); // Skickar tilläggstecken bredvid det tidigare värdet som behövs senare i Processing IDE för indexering av Serial.print (j); // Skickar den aktuella graden till Serial Port Serial.print ("*"); Serial.print (-1); // Skickar avståndsvärdet till Serial Port Serial.print ("/"); // Skickar tilläggstecken bredvid det tidigare värdet som behövs senare i Processing IDE för indexering av Serial.print (avstånd); // Skickar avståndsvärdet till Serial Port Serial.print ("."); // Skickar tilläggstecken bredvid det tidigare värdet som behövs senare i Processing IDE för indexering}}}

Rekommenderad: