Třídění pet lahví a plechovek
V tomto projektu jsem se snažil automatizovat odpadkový koš na inteligentní koš, který bude třídit jak už z názvu vypovídá plastové lahve a plechovky. Cílem bylo, že když fotorezistor bude detekovat světlo procházející přes pet lahev, které vysílaly diody, tak se krokový motor posune o daný počet kroků na levou stranu a poté se vrátí do startovací pozice, z které začínal. Pokud jsme ale místo pet lahve vložili plechovku zamezili jsme přísun světla na fotorezistor a tím pádem se motor otočil zase o daný počet kroků doprava.
Jediné s čím jsem měl problémy bylo, když se motor vracel zpět do startovací pozice, protože led diody pořád svítily. Osobně bych ještě do obvodu přidal senzor na detekci předmětu (když bych nějaký měl) jestli je v zásobníku položena pet lahev nebo plechovka. Usnadnilo by to problém, který nastával při vracení do startovací pozice.
Kód:
#include <Stepper.h>
const int stepsPerRevolution = 200; //Počet kroků na jedno otočení motoru
Stepper myStepper(stepsPerRevoluton, 8, 9, 10, 11); //Piny pro ovládání motoru
const int photoresistorPin = A0; // Pin pro připojení fotorezistoru
void setup() {
Serial.begin(9600);
}
void loop() {
int lightValue = analogRead(photoresistorPin);
//Rozsah hodnot pro osvětlení fotorezistoru - upravte podle vašich potřeb
int threshold = 500;
if (lightValue > threshold) {
//Osvětleno - točení motoru o 120 stupňů vpravo
myStepper.setSpeed(100); //Nastavte rychlost motoru podle potřeby
myStepper.step(stepsPerRevolution / 3);
} else {
//Neosvětleno - točení motoru o 120 stupňů doleva
myStepper.setSpeed(100); //Nastavte rychlost motoru podle potřeby
myStepper.step(-stepsPerRevolution / 3);
}
//Vrácení motoru do původní pozice
myStepper.setSpeed(100); //Nastavte rychlost motoru podle potřeby
myStepper.step(stepsPerRevolution / 3);
delay(1000); // Čekání 1 sekundu mezi každým cyklem
}
Koponenty:
-Arduino Uno, Fotorezistor, Kabely, Krokový motor, driver pro krokový motor a led diody
Autor: domácí bastlíř