Arduino Trash-Bot (automatisch openen/sluiten prullenbak)
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps en online services
|
Over dit project
Alles wordt slimmer toch? Dus waarom niet je prullenbak? Deze prullenbak opent en sluit zijn deksel als hij afval voor zich ziet. Je hoeft er alleen maar het afval naar toe te brengen en het gaat automatisch open en zal wachten tot je het meer voedt, dan na een bepaalde vertraging zal het automatisch sluiten. Bekijk de video om te zien wat het precies kan.
Laten we beginnen.
Stap 1:Componenten
(2 meer afbeeldingen)
- Arduino Uno (elk bord)
- Servomotor (ik gebruik micro-servo sg90)
- HCSR04 ultrasone sensor
- Servo-armen (naast de servo in foto 2)
- Kartonnen (gewoon stuk snijden)
- Prullenbak
Stap 2:Bouw het circuit
De schakeling is zo eenvoudig. Omdat de servo en sonar slechts minder stroom nodig hebben, kun je ze gewoon rechtstreeks vanuit de Arduino 5v-bron voeden. Vergeet niet om de Arduino van stroom te voorzien met meer dan 7,4 V DC of minstens 7v.
- Servogegevens (geel) naar pin 3 van arduino
- Servo vcc (rood) naar 5v van Arduino
- Servo-aarde (zwart/grijs) naar Arduino Gnd
- Sonarsensor triggeren naar Arduino 6
- Echo van sonarsensor naar Arduino 5
- Vcc naar Arduino 5v
- Gnd naar Arduino Gnd
Stap 3:Sluit de servo-arm aan
Neem gewoon deze servo-arm en sluit hem aan op een lang stuk karton met hete lijm of andere lijmen. In plaats van karton kun je ook een ijsstokje gebruiken. Sluit vervolgens de lange servoarm aan op de servomotor.
Stap 4:voeg servo- en sonarsensor toe aan de prullenbak
Sluit de sonarsensor op deze manier aan op de bak. En voeg dan de servomotor toe zoals deze op foto 2 &3, zodat de servo naar boven kan draaien.
Stap 5:De code
Codelink:https://github.com/ashraf-minhaj/Trash-bot
Ik heb de Arduino zo geprogrammeerd dat als hij afval (letterlijk alles) in een bereik van 50 cm ziet, de servo naar 50 graden gaat en het bovenste deksel van de bak raakt, zodat het bovenste deksel wordt geopend, drie seconden wacht, draait dan automatisch naar 160 graden en zo wordt het bovenste deksel gesloten. Dus nu zie je een automatisch openen/sluiten prullenbak.
#includeServo servo;int const trigPin =6;int const echoPin =5;void setup(){pinMode(trigPin, OUTPUT); pinMode (echoPin, INPUT); servo.attach(3);}void loop(){ int duur, afstand;digitalWrite(trigPin, HIGH); delay(1);digitalWrite(trigPin, LOW);// Meet de pulsinvoer in echo pinduration =pulseIn(echoPin, HIGH);// Afstand is de helft van de duur gedeeld door 29,1 (van datasheet)distance =(duration/2) / 29.1;// als afstand minder dan 0,5 meter en meer dan 0 (0 of minder betekent meer dan bereik) if (afstand <=50 &&afstand>=0) { servo.write(50); delay(3000);} else { servo.write(160);}
Stap 6:Je bent klaar
Dus voed de Arduino nu gewoon met meer dan 7v en je hebt een vuilnisbakrobot.
Dank je.
[Als je mijn werk leuk vindt, steun me dan door je te abonneren op mijn YouTube-kanaal]
Code
- arduino trash-bot-code
arduino trash-bot codeC/C++
#includeServo servo;int const trigPin =6;int const echoPin =5;void setup(){pinMode(trigPin, OUTPUT); pinMode (echoPin, INPUT); servo.attach(3);}void loop(){ int duur, afstand;digitalWrite(trigPin, HIGH); delay(1);digitalWrite(trigPin, LOW);// Meet de pulsinvoer in echo pinduration =pulseIn(echoPin, HIGH);// Afstand is de helft van de duur gedeeld door 29,1 (van datasheet)distance =(duration/2) / 29.1;// als afstand minder dan 0,5 meter en meer dan 0 (0 of minder betekent meer dan bereik) if (afstand <=50 &&afstand>=0) { servo.write(50); delay(3000);} else { servo.write(160);}// 60 ms wachten kan geen kwaad onedelay(60);}
Schema's
arduino trash-bot-code
https://github.com/ashraf-minhaj/Trash-botProductieproces