05-07-2016, 21:05
Witam,
Ostatnio chciałem zbudować sobie chronograf (do asg) przy próbie budowy korzystałem z 2 źródeł:
-http://www.forbot.pl/forum/topics74/chronograf-kodowanie-vt11922.htm
-http://gadjetsblog.blogspot.com/2013/05/chronograph-update.html
Jednak napotkałem następujący problem: jeśli przesuwam przez bramki powoli jakiś przedmiot np kawałek kartonu wszystko jest ok tzn. są odczyty z bramek, jeśli jednak robię to szybko nie ma żadnej reakcji bramki zbudowane są z:
-Nadajnik IR 5mm 940nm LIRED5B-940-H https://botland.com.pl/szukaj?controller...it_search=
-Odbiornik podczerwieni TSOP2236 - 36 kHz https://botland.com.pl/odbiorniki-podcze...&results=6
Pytanie czy to może być wina komponentów, które użyłem czy może jest coś nie tak w kodzie?
Za wszelką podpowiedź z góry dziękuję.
Kod programu:
Ostatnio chciałem zbudować sobie chronograf (do asg) przy próbie budowy korzystałem z 2 źródeł:
-http://www.forbot.pl/forum/topics74/chronograf-kodowanie-vt11922.htm
-http://gadjetsblog.blogspot.com/2013/05/chronograph-update.html
Jednak napotkałem następujący problem: jeśli przesuwam przez bramki powoli jakiś przedmiot np kawałek kartonu wszystko jest ok tzn. są odczyty z bramek, jeśli jednak robię to szybko nie ma żadnej reakcji bramki zbudowane są z:
-Nadajnik IR 5mm 940nm LIRED5B-940-H https://botland.com.pl/szukaj?controller...it_search=
-Odbiornik podczerwieni TSOP2236 - 36 kHz https://botland.com.pl/odbiorniki-podcze...&results=6
Pytanie czy to może być wina komponentów, które użyłem czy może jest coś nie tak w kodzie?
Za wszelką podpowiedź z góry dziękuję.
Kod programu:
Kod:
#include <Wire.h>
#define sensor1 2
#define sensor2 3
unsigned long time1;
unsigned long time2;
float fps, elap;
int czujnik1;
int czujnik2;
void setup() {
Serial.begin(9600);
pinMode (sensor1, INPUT);
pinMode (sensor2, INPUT);
digitalWrite(sensor1, HIGH);
digitalWrite(sensor2, HIGH);
}
void loop() {
Serial.println("Wal...");
while(digitalRead(sensor1) == 0);
while(digitalRead(sensor1));
time1 = micros();
while(digitalRead(sensor2));
time2 = micros();
printserial();
}
void printserial(){
elap = time2 - time1;
fps = 328083/elap;
Serial.println(fps );
}