07-07-2015, 23:40
(Ten post był ostatnio modyfikowany: 25-07-2015, 16:10 przez CEO.
Powód edycji: Używamy znaczników kodu
)
Witam. Mam problem ze znalezieniem błedu w programie.
Leonardo+ czujnik HC-SR04+lcd 4x20 z konwerterem i2c. (Echo podlaczone do 4, trig do pinu 3).
W szeregowym monitorze wyswietlane jest tylko 0. Czujnik -sprawny- jest sprawdzony na innym programie.
Leonardo+ czujnik HC-SR04+lcd 4x20 z konwerterem i2c. (Echo podlaczone do 4, trig do pinu 3).
W szeregowym monitorze wyswietlane jest tylko 0. Czujnik -sprawny- jest sprawdzony na innym programie.
Kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
int TRIG=3;
int ECHO=4;
int pulseTERAZ=0;
int pulseWCZESNIEJ;
int counter=-1;
int counterWCZESNIEJ;
void setup()
{
lcd.begin (20,4);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
}
void loop()
{
digitalWrite(TRIG, HIGH);
delayMicroseconds(4);
digitalWrite(TRIG, LOW);
pulseTERAZ=pulseIn(ECHO, HIGH);
if(counter==-1)
{
pulseWCZESNIEJ=pulseTERAZ;
counter++;
}
Serial.print(abs(pulseTERAZ-pulseWCZESNIEJ));
Serial.print("\n");
if(abs(pulseTERAZ-pulseWCZESNIEJ)>200)
{
counter++;
}
pulseWCZESNIEJ=pulseTERAZ;
lcd.setCursor(0,0);
lcd.print("ODWIEDZIN: ");
lcd.setCursor(11,0);
lcd.print(counter/2);
delay(500);
}