projeto escolar
estou fazer um projeto onde tenho de descobrir o tempo entra uma ponta de um tapete outra ponta (sao 2 tapetes) mas nao esta aparecer os valores tempo no lcd como devia.
alguem consegue descobrir o erro no programa?
ps: nao posso alterar os pins que estao ligados os sensores
alguem consegue descobrir o erro no programa?
ps: nao posso alterar os pins que estao ligados os sensores
code: [select]
#include <wire.h>
#include <liquidcrystal.h>
liquidcrystal lcd(8, 9, 4, 5, 6, 7);
int lcd_key = 0;
int adc_key_in = 0;
int sensor1 = 2;
int sensor2 = a5;
int sensor3 = 3;
int sensor4 = 13;
unsigned long time1 = 0;
unsigned long time2 = 0;
unsigned long time3 = 0;
unsigned long time4 = 0;
void setup()
{
pinmode(sensor1, input);
pinmode(sensor2, input);
pinmode(sensor3, input);
pinmode(sensor4, input);
lcd.begin(16, 2);
lcd.setcursor(0,0);
lcd.print ("* queda graves *");
lcd.setcursor(0,1);
lcd.print (" v1.0 2014 ");
delay (1500);
}
void loop ()
{
lcd.clear();
lcd.setcursor (0,0);
lcd.print ("tb1 ms");
lcd.setcursor (0,1);
lcd.print ("tb2 ms");
if (digitalread(sensor1) == high) {
time1 = millis ();
if (analogread(sensor2) == high) {
time2 = millis();
lcd.setcursor (5, 0);
delay(100);
lcd.print (time1 - time2);
serial.println(time1 - time2);
}
}
else if (digitalread(sensor3) == high) {
time3 = millis();
if (digitalread(sensor4) == high) {
time4 = millis();
lcd.setcursor (5, 1);
delay(100);
lcd.print (time3 - time4);
serial.println(time3 - time4);
}
}
}
tens de detectar um flanco... de low para high. neste momento estás medir todo o tempo que os sinais estão em high.
não entendo porque fazes medições analógicas se o pino estiver high, mas lá saberás melhor que eu.
não entendo porque fazes medições analógicas se o pino estiver high, mas lá saberás melhor que eu.
Arduino Forum > International > Portugues > projeto escolar
arduino
Comments
Post a Comment