Dzięki za odpowiedź, trochę mi pomogła, ale nadal coś nie działa.
Jednak się przyznam co chcę zrobić. Ze starej drukarki wyciągnąłem transoptor i chciałbym go wykorzystać do obliczania prędkości - np. roweru, wiatru itp. - między elementy transoptora umieszczę koło ze szczelinami - gdy się będzie obracało, transoptor będzie podawał na Arduino 0 lub 1, i co np. co 5 sekund pokazywał wynik.
Oto schemat, który stworzyłem (dioda LED jest tylko po to abym wiedział czy transoptor faktycznie działa), aha - nie wiem czy mój transoptor to na pewno ten na schemacie.
Ogólnie jak między elementy transoptora coś wtykam, to LED gaśnie, jak wyjmuje zapala się. Czyli podłączenie jest chyba dobre.
http://w128.wrzuta.pl/obraz/2O7xC3cFI5p/skany_l_013
A oto mój kod:
unsigned long time;
int czujnik = 7; //czujnik podczerwieni - transopotor
int predkosc = 3; //wejście cyfrowe i ujemna nóżka diody LED
void setup()
{
pinMode(czujnik, OUTPUT); //transoptor daje na wyjscie - on ma świecić
pinMode(predkosc, INPUT); //odczyt z wejscia cyfrowego
Serial.begin(9600);
digitalWrite(czujnik, HIGH); //uruchamiam transoptor
}
void loop()
{
time = millis(); //włączam liczenie czasu
while(time < 5000){ //w czasie 5 sekund
for (int i=0; i<2000; i++) { //i<2000 wpisałem na oko - nie wiem ile maksymalnie odczytów da się zrobić w 5 sek, ale mam nadzieje, że do 2000 nie dojdzie
if (
digitalRead(predkosc)==HIGH){ //jeśli odczyt z pinu prędkości jest dodatni,
predkosc++; //to dodaje 1
}
}//gdy 5 sekund minie
}
Serial.print("Predkosc: "); //wyświetla wartość prędkości
Serial.println(predkosc);
time == 0; //kasuje czas na zero i zaczyna od nowa
}
Puszczam, ale nie działa. Tzn. LED gaśnie po osłonięciu transoptora, ale serial nie daje żadnych odczytów. (COMy i prędkość seriala się zgadzają)
Macie jakieś sugestie jak to rozwiązać?
Pozdrawiam