hello, can't recieve output when run code.
the code supposed turn on circut when sensor registrating less 15 cm, , reset circuit 10 seconds when button pressed.
int vcc = 2; //attach pin 2 vcc
int trig = 3; // attach pin 3 trig
int echo = 4; //attach pin 4 echo, kan slettes?
int gnd = 5; //kan slettes?
int sw_pin = 6; //der du kobler til bryteren som lammer kretsen
int krets =7; //der du kobler til kretsen, high når krets er på, ellers low.
//initialiserer variabler først:
long duration, cm, event_dist, event_sw;
void setup()
{
pinmode (vcc,output); //gjer strum?
pinmode(trig, output);
pinmode(echo,input);
pinmode(sw_pin, input);
pinmode(krets, output);
event_sw = millis(); //vent 10 sec ved oppstart før me kan bruke koden:)
event_dist = millis();
}
void loop() {
if (abs(event_sw - millis()) > 10000) {
//pinger bare dersom det er 10 sec sidan brytar vart skrud på
digitalwrite(trig, low); //forbereder signalsending
delaymicroseconds(2);
digitalwrite(trig, high); //starter high
delaymicroseconds(5); //venter minimum tid @ signal skal sendes
digitalwrite(trig, low); //stopper high..
duration = pulsein(echo, high); //leser av når "low" signalet når fram
cm = microsecondstocentimeters(duration); //konverterer tid til avstand
if (abs(event_dist - millis()) > 10000) { //venter 6+4 sec før den tillater ein ny event
if (cm <= 15) event_dist = millis(); //dersom avstanden er liten marker event_dist
}
if (abs(event_dist - millis()) < 6000) digitalwrite(krets, high);
else digitalwrite(krets, low); //
}
if (digitalread(sw_pin) == high) {
digitalwrite(krets, low); //skrur av kretsen
event_sw = millis(); //lagrer tid når bryter vart skrudd på
}
}
long microsecondstocentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
//slå på krets når mindre enn 15 cm, duration 6 sec
//restart funksjon... slår av signal 10 sec...
the code supposed turn on circut when sensor registrating less 15 cm, , reset circuit 10 seconds when button pressed.
int vcc = 2; //attach pin 2 vcc
int trig = 3; // attach pin 3 trig
int echo = 4; //attach pin 4 echo, kan slettes?
int gnd = 5; //kan slettes?
int sw_pin = 6; //der du kobler til bryteren som lammer kretsen
int krets =7; //der du kobler til kretsen, high når krets er på, ellers low.
//initialiserer variabler først:
long duration, cm, event_dist, event_sw;
void setup()
{
pinmode (vcc,output); //gjer strum?
pinmode(trig, output);
pinmode(echo,input);
pinmode(sw_pin, input);
pinmode(krets, output);
event_sw = millis(); //vent 10 sec ved oppstart før me kan bruke koden:)
event_dist = millis();
}
void loop() {
if (abs(event_sw - millis()) > 10000) {
//pinger bare dersom det er 10 sec sidan brytar vart skrud på
digitalwrite(trig, low); //forbereder signalsending
delaymicroseconds(2);
digitalwrite(trig, high); //starter high
delaymicroseconds(5); //venter minimum tid @ signal skal sendes
digitalwrite(trig, low); //stopper high..
duration = pulsein(echo, high); //leser av når "low" signalet når fram
cm = microsecondstocentimeters(duration); //konverterer tid til avstand
if (abs(event_dist - millis()) > 10000) { //venter 6+4 sec før den tillater ein ny event
if (cm <= 15) event_dist = millis(); //dersom avstanden er liten marker event_dist
}
if (abs(event_dist - millis()) < 6000) digitalwrite(krets, high);
else digitalwrite(krets, low); //
}
if (digitalread(sw_pin) == high) {
digitalwrite(krets, low); //skrur av kretsen
event_sw = millis(); //lagrer tid når bryter vart skrudd på
}
}
long microsecondstocentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
//slå på krets når mindre enn 15 cm, duration 6 sec
//restart funksjon... slår av signal 10 sec...
you never set 'vcc' high.
Arduino Forum > Using Arduino > Project Guidance > Problem with recieving readings from sonar device HC-SR04
arduino
Comments
Post a Comment