Wolle62
02.09.2018, 14:56
Werte Gemeinde,
ich bin noch beim lernen und habe schon viele kleine Übungen erfolgreich mit dem Uno gemacht.
Nun habe ich das Ultraschallmodul HC-SR04 bei den Ohren.
Verwende ich das Beispielsketch dafür (Trigger an Pin7 und Echo an Pin6) klappt alles super.
Nun wollte ich das Modul an andere Pins anschließen (Trigger an Pin17 und Echo an Pin16),
Dazu las ich im Netz :
Der Arduino hat 20 ( zwanzig ) Digitale Ein/Ausgänge. Die Pins 0 bis 13 und die Analogen Pins A0 bis A5, die als Digitale Ein/Ausgänge verwendet werden können. Wenn Du einen analogen Eingang mit pinMode als digitalen Ein/Ausgang definierst werden aus A0 bis A5 die Pins 14 bis 19.
Leider läuft der selbe Code nun nicht mehr. Was übersehe ich hier? Haben die Pins 16 und 17
doch andere Eigenschaften als Pin 6 und 7 ?
int trigger=7; //Pin für den Trigger
int echo=6; //Pin für das Echo
long dauer=0;
long entfernung=0;
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT); //Die eingebaute LED soll was anzeigen
pinMode(trigger, OUTPUT); //Trigger Pin auf Ausgang
pinMode(echo, INPUT); //Echo Pin auf Eingang
}
void loop() {
digitalWrite(trigger, LOW); //Den Trigger Pin erst auf Low
delay(5); //kurz warten
digitalWrite(trigger, HIGH); //Den Trigger Pin auf High
delay(10); //kurz warten
digitalWrite(trigger, LOW); //Den Trigger Pin wieder auf Low
dauer = pulseIn(echo, HIGH); //Echo Pin wartet, das Pin High wird > Schallimpuls ist zurück
entfernung = (dauer/2) * 0.03432; //Entfernungsberechnung in cm
delay(300);
if(entfernung <=10)
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
else
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
return(entfernung);
}
Kurz noch der Beispielcode dazu
DANKE!
ich bin noch beim lernen und habe schon viele kleine Übungen erfolgreich mit dem Uno gemacht.
Nun habe ich das Ultraschallmodul HC-SR04 bei den Ohren.
Verwende ich das Beispielsketch dafür (Trigger an Pin7 und Echo an Pin6) klappt alles super.
Nun wollte ich das Modul an andere Pins anschließen (Trigger an Pin17 und Echo an Pin16),
Dazu las ich im Netz :
Der Arduino hat 20 ( zwanzig ) Digitale Ein/Ausgänge. Die Pins 0 bis 13 und die Analogen Pins A0 bis A5, die als Digitale Ein/Ausgänge verwendet werden können. Wenn Du einen analogen Eingang mit pinMode als digitalen Ein/Ausgang definierst werden aus A0 bis A5 die Pins 14 bis 19.
Leider läuft der selbe Code nun nicht mehr. Was übersehe ich hier? Haben die Pins 16 und 17
doch andere Eigenschaften als Pin 6 und 7 ?
int trigger=7; //Pin für den Trigger
int echo=6; //Pin für das Echo
long dauer=0;
long entfernung=0;
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT); //Die eingebaute LED soll was anzeigen
pinMode(trigger, OUTPUT); //Trigger Pin auf Ausgang
pinMode(echo, INPUT); //Echo Pin auf Eingang
}
void loop() {
digitalWrite(trigger, LOW); //Den Trigger Pin erst auf Low
delay(5); //kurz warten
digitalWrite(trigger, HIGH); //Den Trigger Pin auf High
delay(10); //kurz warten
digitalWrite(trigger, LOW); //Den Trigger Pin wieder auf Low
dauer = pulseIn(echo, HIGH); //Echo Pin wartet, das Pin High wird > Schallimpuls ist zurück
entfernung = (dauer/2) * 0.03432; //Entfernungsberechnung in cm
delay(300);
if(entfernung <=10)
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
else
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
return(entfernung);
}
Kurz noch der Beispielcode dazu
DANKE!