Ultraschall-Sensor mit ftDuino ansprechen
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
ich möchte einen Ultraschall-Sensor 133009 mit ftDuino ansteuern. Die Kabel sind rot bei 9V - grün bei C1 und rot(schwarzes Kabel) bei C2.
Wo finde ich hierzu ein Beispiel ???
Wer kann mir eien Sketch zusenden ???
Vielen Dank
FischRob
ich möchte einen Ultraschall-Sensor 133009 mit ftDuino ansteuern. Die Kabel sind rot bei 9V - grün bei C1 und rot(schwarzes Kabel) bei C2.
Wo finde ich hierzu ein Beispiel ???
Wer kann mir eien Sketch zusenden ???
Vielen Dank
FischRob
Re: Ultraschall-Sensor mit ftDuino ansprechen
Eigentlich musst Du den Sensor anders anschließen:
Rot->9V
Grün->Masse
Schwarz->I-Eingang
Vielleicht geht es dann?
Die C-Eingänge sind die schnellen Zähleingänge, eigentlich kommen da nur die Encodermotoren oder Encoder im Selbstbau (mit Tastern) dran.
Rot->9V
Grün->Masse
Schwarz->I-Eingang
Vielleicht geht es dann?
Die C-Eingänge sind die schnellen Zähleingänge, eigentlich kommen da nur die Encodermotoren oder Encoder im Selbstbau (mit Tastern) dran.
- MasterOfGizmo
- Beiträge: 2725
- Registriert: 30 Nov 2014, 07:44
Re: Ultraschall-Sensor mit ftDuino ansprechen
Die Frage geht um den ftDuino. Dort schließt man den US-Sensor anders an als beim TXT.
Ein Verdrahtungsschema zum US-Sensor findet sich auf Seite 15 der Anleitung. Die Funktion zum Abfragen ist auf Seite 113 in Abschnitt 8.2.16 beschrieben.
Und in der Tat ist kein Beispiel dabei. Das liefere ich demnächst nach. Bis dahin hilft Dir ggf. das folgende Beispiel, das 1 mal pro Sekunde den gemessenen Wert über USB ausgibt:
Ein Verdrahtungsschema zum US-Sensor findet sich auf Seite 15 der Anleitung. Die Funktion zum Abfragen ist auf Seite 113 in Abschnitt 8.2.16 beschrieben.
Und in der Tat ist kein Beispiel dabei. Das liefere ich demnächst nach. Bis dahin hilft Dir ggf. das folgende Beispiel, das 1 mal pro Sekunde den gemessenen Wert über USB ausgibt:
Code: Alles auswählen
#include <Ftduino.h>
void setup(void) {
Serial.begin(115200);
while(!Serial); // warte auf USB-Verbindung zu PC
ftduino.init();
ftduino.ultrasonic_enable(Ftduino::ON);
}
void loop(void) {
int16_t distance = ftduino.ultrasonic_get();
String dist_str = String(distance) +"cm";
if(distance < 0) dist_str = "..."; // kein gueltiger Werte
else if(distance == 1023) dist_str = ">10m"; // maximale Distanz erreicht
Serial.println("Distance: " + dist_str);
delay(1000);
}
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
vielen Dank! Das Beispiel funktioniert. Allerdings nur wenn 9V Spannung anliegt - es ist ja eigentlich ein Eingang und kein Ausgang.
Zu der Beschreibung vom ftDuino habe ich wahrscheinlich noch eine Alte vom 21.05.2018. Meine geht nur bis Seite 99. Ich habe versucht die deutsche Anleitung gemäß link runterzuladen - funktioniert leider nicht.
Woher bekomme ich die neue Beschreibung?
Nochmals vielen Dank der US-Sensor funktioniert.
Gruß
FischRob
vielen Dank! Das Beispiel funktioniert. Allerdings nur wenn 9V Spannung anliegt - es ist ja eigentlich ein Eingang und kein Ausgang.
Zu der Beschreibung vom ftDuino habe ich wahrscheinlich noch eine Alte vom 21.05.2018. Meine geht nur bis Seite 99. Ich habe versucht die deutsche Anleitung gemäß link runterzuladen - funktioniert leider nicht.
Woher bekomme ich die neue Beschreibung?
Nochmals vielen Dank der US-Sensor funktioniert.
Gruß
FischRob
- MasterOfGizmo
- Beiträge: 2725
- Registriert: 30 Nov 2014, 07:44
Re: Ultraschall-Sensor mit ftDuino ansprechen
Ist es auch. Aber wenn der Sensor nunmal 9V haben will kann ich da leider wenig dran ändern. Die Eingänge des ftDuino gehen auch ohne die 9V.FischRob hat geschrieben:Allerdings nur wenn 9V Spannung anliegt - es ist ja eigentlich ein Eingang und kein Ausgang.
Bei mir geht der Link. Was genau meinst Du denn mit "funktioniert leider nicht"?FischRob hat geschrieben: Anleitung gemäß link runterzuladen - funktioniert leider nicht.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Ultraschall-Sensor mit ftDuino ansprechen
Wenn Ich auf den link drücke füe deutsche Version - habe ich keine Reaktion.
der link : Hier geht es zur deutschsprachigen Anleitung.
Gruß FischRob
der link : Hier geht es zur deutschsprachigen Anleitung.
Gruß FischRob
Re: Ultraschall-Sensor mit ftDuino ansprechen
Es gibt keine Reaktion, aber das Dokument wird trotzdem heruntergeladen. So ist es jedenfalls bei mir.FischRob hat geschrieben:Wenn Ich auf den link drücke füe deutsche Version - habe ich keine Reaktion.
der link : Hier geht es zur deutschsprachigen Anleitung.
Gruß FischRob
Gruß
Esther
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
Du hast recht ist bei mir jetzt auch gegangen.
Vielen Dank
FischRob
Du hast recht ist bei mir jetzt auch gegangen.
Vielen Dank
FischRob
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
ich kämpfe jetzt schon eine Weile an diesem Sketch
Was mache ich falsch
Gruß
FischRob
ich kämpfe jetzt schon eine Weile an diesem Sketch
ich bekomme immer die Fehlermeldung "else without if"
#include <Ftduino.h>
void setup(void) {
ftduino.init();
ftduino.ultrasonic_enable(true);
Serial.begin(115200);
}
void loop(void) {
int16_t distance = ftduino.ultrasonic_get();
String dist_str = String(distance) + "cm";
if(distance <= 8) ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
delay(500);
else
ftduino.output_set(Ftduino::O8, Ftduino::HI::MAX);
Serial.println("Distance: " + dist_str);
delay(500);
Was mache ich falsch
Gruß
FischRob
Re: Ultraschall-Sensor mit ftDuino ansprechen
Das liegt daran, dass du geschweifte Klammern nur sehr sparsam verwendest: Für den Compiler (genauso wie für mich) ist es daher nicht nachvollziehbar, wie lange die Anweisungsblöcke von if- bzw. else reichen:
if(distance <= 8)
{
ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
delay(500);
}
else
{
ftduino.output_set(Ftduino::O8, Ftduino::HI::MAX);
Serial.println("Distance: " + dist_str);
delay(500);
}
Ich schätze mal, dass der Programmcode so gemeint war, oder?
Gruß,
David
if(distance <= 8)
{
ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
delay(500);
}
else
{
ftduino.output_set(Ftduino::O8, Ftduino::HI::MAX);
Serial.println("Distance: " + dist_str);
delay(500);
}
Ich schätze mal, dass der Programmcode so gemeint war, oder?
Gruß,
David
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,FischRob hat geschrieben:Hallo,
ich kämpfe jetzt schon eine Weile an diesem Sketch
ich bekomme immer die Fehlermeldung "else without if"
#include <Ftduino.h>
void setup(void) {
ftduino.init();
ftduino.ultrasonic_enable(true);
Serial.begin(115200);
}
void loop(void) {
int16_t distance = ftduino.ultrasonic_get();
String dist_str = String(distance) + "cm";
if(distance <= 8) ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
delay(500);
else
ftduino.output_set(Ftduino::O8, Ftduino::HI::MAX);
Serial.println("Distance: " + dist_str);
delay(500);
Was mache ich falsch
Gruß
FischRob
Du hast nur ein Statement im 'if' (ftduino.outputset), danach ein 'delay' und dann ein 'else'.
Wenn das 'delay' auch unter 'if' gehört sollst du etwas wie folgendes nutzen:
Code: Alles auswählen
if(condition) { <-----
statement1;
statement2;} <----
else
statement3;
Zuletzt geändert von Cymbaline am 28 Jul 2018, 18:18, insgesamt 1-mal geändert.
Het leven is hard. Een kokosnoot ook.
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
vielen Dank für Deine Nachricht. Leider bekomme ich trotz Deiner geschweiften Klammern die gleiche Fehlermeldung.
Was mach ich falsch ???
Gruß
FischRob
vielen Dank für Deine Nachricht. Leider bekomme ich trotz Deiner geschweiften Klammern die gleiche Fehlermeldung.
Was mach ich falsch ???
Gruß
FischRob
Re: Ultraschall-Sensor mit ftDuino ansprechen
Ich hab nicht genau genug hingeschaut: Ganz am Ende fehlt noch eine geschweifte Klammer, die den loop schließt. Jetzt sollte alles passen.
Gruß,
David
Gruß,
David
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
der if -else Fehler ist jetzt weg. Nun bekomme ich den Fehler:
"exit status 1
Fehler beim Kompilieren für das Board ftDuino"
Hat jemand eine Idee ??
Gruß FischRob
der if -else Fehler ist jetzt weg. Nun bekomme ich den Fehler:
"exit status 1
Fehler beim Kompilieren für das Board ftDuino"
Hat jemand eine Idee ??
Gruß FischRob
- MasterOfGizmo
- Beiträge: 2725
- Registriert: 30 Nov 2014, 07:44
Re: Ultraschall-Sensor mit ftDuino ansprechen
Das ist keine vollständige Fehlermeldung. Da müsste noch einiges davor stehen.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hier die koplette Fehlermeldung:
Gruß
FischRob
Was läuft da schief ???
n file included from d:\Users\WMuel\Documents\Arduino\Arduino_Programme\FTDuinoUltraschll_2\FTDuinoUltraschll_2.ino:4:0:
d:\Users\WMuel\Documents\Arduino\Arduino_Programme\FTDuinoUltraschll_2\FTDuinoUltraschll_2.ino: In function 'void loop()':
C:\Users\WMuel\AppData\Local\Arduino15\packages\ftduino\hardware\avr\0.0.8\libraries\Ftduino/Ftduino.h:195:24: error: 'Ftduino::HI' is not a class, namespace, or enumeration
#define HI Ftduino::HI
^
d:\Users\WMuel\Documents\Arduino\Arduino_Programme\FTDuinoUltraschll_2\FTDuinoUltraschll_2.ino:19:66: note: in expansion of macro 'HI'
if(distance <= 8) { ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
^
C:\Users\WMuel\AppData\Local\Arduino15\packages\ftduino\hardware\avr\0.0.8\libraries\Ftduino/Ftduino.h:195:24: error: 'Ftduino::HI' is not a class, namespace, or enumeration
#define HI Ftduino::HI
^
d:\Users\WMuel\Documents\Arduino\Arduino_Programme\FTDuinoUltraschll_2\FTDuinoUltraschll_2.ino:25:48: note: in expansion of macro 'HI'
ftduino.output_set(Ftduino::O8, Ftduino::HI::MAX);
^
exit status 1
Fehler beim Kompilieren für das Board ftDuino.
Gruß
FischRob
- MasterOfGizmo
- Beiträge: 2725
- Registriert: 30 Nov 2014, 07:44
Re: Ultraschall-Sensor mit ftDuino ansprechen
Da wir Dein Programm nicht kennen können wir nur raten. Ich nehme an, dass Du die #include <Ftduino.h>-Zeile nicht am Anfang Deines Programmes sondern irgendwo nach der Void loop()-Zeile hast. Ist aber schwer zu erraten ohne das Programm zu sehen.
Generell klingt das, als würdest Du einfach irgendwelche Befehle hintereinander schreiben und dann nicht weiter kommen. Folge doch erstmal dem 'Programmieren'-Kapitel aus der Anleitung. Es ist immer hilfreich mit was funktionierendem zu starten. Dann merkt man genau, in welchem Schritt Fehler auftauchen und man geht einfach einen Schritt zurück und denkt nochmal drüber nach.
Generell klingt das, als würdest Du einfach irgendwelche Befehle hintereinander schreiben und dann nicht weiter kommen. Folge doch erstmal dem 'Programmieren'-Kapitel aus der Anleitung. Es ist immer hilfreich mit was funktionierendem zu starten. Dann merkt man genau, in welchem Schritt Fehler auftauchen und man geht einfach einen Schritt zurück und denkt nochmal drüber nach.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Ultraschall-Sensor mit ftDuino ansprechen
Hallo,
hier nochmal die letzte Version meines Programmes:
Gruß
FischRob
hier nochmal die letzte Version meines Programmes:
Was stimmt hier nicht ???
#include <Ftduino.h>
void setup(void) {
Serial.begin(115200);
ftduino.init();
ftduino.ultrasonic_enable(true);
delay(1000);
}
void loop(void){
int16_t distance = ftduino.ultrasonic_get();
String dist_str = String(distance) + "cm";
if(distance <= 8) { ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
delay(500);
}
else
ftduino.output_set(Ftduino::O8, Ftduino::HI::MAX);
Serial.println("Distance: " + dist_str);
delay(500);
}
Gruß
FischRob
- MasterOfGizmo
- Beiträge: 2725
- Registriert: 30 Nov 2014, 07:44
Re: Ultraschall-Sensor mit ftDuino ansprechen
Es muss in beiden Aufrufen von ftduino.output_set() statt
heissen. Dann ist es übersetzbar.
Aber ich denke nicht, dass das Programm macht was Du willst. Du willst, dass die Lampe an O7 leuchtet, wenn ein Objekt näher als 8cm ist und die an O8, wenn es weiter weg ist, oder? Das wird bei Deinem Programm so nicht passieren, weil Du die Lampen zwar korrekt einschaltest, sie aber nie wieder auschaltest.
Aber wie gesagt: Dieses etwas ziellose Code-Aneinanderreihen wird Dich nicht recht weiterbringen. Du lernst ja nichts, wenn andere Leute dann immer den Fehler für Dich suchen. Schau' Dir das entsprechende Kapitel in der Anleitung doch erst einmal in Ruhe an.
Code: Alles auswählen
ftduino.output_set(Ftduino::O7, Ftduino::HI::MAX);
Code: Alles auswählen
ftduino.output_set(Ftduino::O7, Ftduino::HI, Ftduino::MAX);
Aber ich denke nicht, dass das Programm macht was Du willst. Du willst, dass die Lampe an O7 leuchtet, wenn ein Objekt näher als 8cm ist und die an O8, wenn es weiter weg ist, oder? Das wird bei Deinem Programm so nicht passieren, weil Du die Lampen zwar korrekt einschaltest, sie aber nie wieder auschaltest.
Aber wie gesagt: Dieses etwas ziellose Code-Aneinanderreihen wird Dich nicht recht weiterbringen. Du lernst ja nichts, wenn andere Leute dann immer den Fehler für Dich suchen. Schau' Dir das entsprechende Kapitel in der Anleitung doch erst einmal in Ruhe an.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32
Re: Ultraschall-Sensor mit ftDuino ansprechen
Danke
es funktioniert.
Gruß
FischRob
es funktioniert.
Gruß
FischRob