Třídění pet lahví a plechovek

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íř

Další podobné články

OVLÁDÁNÍ LED NEBO ZÁSUVKY S MODULEM CC1101 433.92Mhz

Po prvních pokusech s moduly CC1101 433.92Mhz jsem se po čase rozhodl si vyzkoušet napsat program na jednoduché ovládání led diody tak aby jeden modul pravidelně vysílal hodnoty které se na druhém modulu vyhodnotí a tento pak bude pravidelně blikat led diodou. Po tomto programu a jeho odzkoušení jsem se rozhodl si napsat další program na zjištění číselných hodnot tlačítek na dálkovém ovladači pro bezdrátové zásuvky 433Mhz, a tyto pak ovládat dalším napsaným programem na zapínání a vypínání zásuvky. Pro ovládání jsem použil Arduino Nano které jsem pro testování osadil do Arduino IO shieldu, pro komunikaci mezi Arduino a modulem CC1101 jsem použit 8 – kanálový obousměrný převodník logických úrovní (5V – 3.3V) a pro napájení celé sestavy jsem použil vyrobený napájecí zdroj s výstupním napětím 8V pro napájení  Arduino Nano,  5V a 3.3V pro napájení převodníku a modulu CC1101. Uvedené přípravky rozšiřují zapojení uveřejněná v [1].