Ultraschall-Sensor mit ftDuino ansprechen

Alle APIs oder Firmwares für den TXT: Community-Firmware, .net, C++, usw.
Forumsregeln
Bitte beachte die Forumsregeln!

Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 22 Jul 2018, 10:52

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
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon robbi2011 » 22 Jul 2018, 11:49

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.
Benutzeravatar
robbi2011
 
Beiträge: 144
Registriert: 17 Mär 2011, 10:26

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon MasterOfGizmo » 22 Jul 2018, 14:10

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:

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);
}
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1409
Registriert: 30 Nov 2014, 08:44

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 22 Jul 2018, 14:42

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
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon MasterOfGizmo » 22 Jul 2018, 16:22

FischRob hat geschrieben:Allerdings nur wenn 9V Spannung anliegt - es ist ja eigentlich ein Eingang und kein Ausgang.

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:Anleitung gemäß link runterzuladen - funktioniert leider nicht.


Bei mir geht der Link. Was genau meinst Du denn mit "funktioniert leider nicht"?
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1409
Registriert: 30 Nov 2014, 08:44

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 22 Jul 2018, 16:33

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
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon EstherM » 22 Jul 2018, 17:35

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


Es gibt keine Reaktion, aber das Dokument wird trotzdem heruntergeladen. So ist es jedenfalls bei mir.
Gruß
Esther
EstherM
 
Beiträge: 177
Registriert: 11 Dez 2011, 22:24

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 22 Jul 2018, 17:53

Hallo,
Du hast recht ist bei mir jetzt auch gegangen.

Vielen Dank

FischRob
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 28 Jul 2018, 17:59

Hallo,
ich kämpfe jetzt schon eine Weile an diesem Sketch


#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);

ich bekomme immer die Fehlermeldung "else without if"
Was mache ich falsch

Gruß
FischRob
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon davidrpf » 28 Jul 2018, 18:08

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
Polarkoordinaten Plotter https://youtu.be/u6XwKxZuxqk
Fertigungsanlage: https://youtu.be/H9mDs_pAOy4
davidrpf
 
Beiträge: 155
Registriert: 14 Jul 2015, 14:27

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon Cymbaline » 28 Jul 2018, 18:16

FischRob hat geschrieben:Hallo,
ich kämpfe jetzt schon eine Weile an diesem Sketch


#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);

ich bekomme immer die Fehlermeldung "else without if"
Was mache ich falsch

Gruß
FischRob


Hallo,

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;


[edit:] Ah, davidrpf war schneller...
Zuletzt geändert von Cymbaline am 28 Jul 2018, 18:18, insgesamt 1-mal geändert.
Het leven is hard. Een kokosnoot ook.
Cymbaline
 
Beiträge: 27
Registriert: 01 Nov 2010, 08:28
Wohnort: Reuver, NL

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 28 Jul 2018, 18:17

Hallo,

vielen Dank für Deine Nachricht. Leider bekomme ich trotz Deiner geschweiften Klammern die gleiche Fehlermeldung.

Was mach ich falsch ???

Gruß
FischRob
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon davidrpf » 28 Jul 2018, 18:23

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
Polarkoordinaten Plotter https://youtu.be/u6XwKxZuxqk
Fertigungsanlage: https://youtu.be/H9mDs_pAOy4
davidrpf
 
Beiträge: 155
Registriert: 14 Jul 2015, 14:27

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 28 Jul 2018, 18:42

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
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon MasterOfGizmo » 28 Jul 2018, 20:22

Das ist keine vollständige Fehlermeldung. Da müsste noch einiges davor stehen.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1409
Registriert: 30 Nov 2014, 08:44

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 29 Jul 2018, 11:27

Hier die koplette Fehlermeldung:


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.


Was läuft da schief ???

Gruß
FischRob
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon MasterOfGizmo » 29 Jul 2018, 12:51

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.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1409
Registriert: 30 Nov 2014, 08:44

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 29 Jul 2018, 14:39

Hallo,

hier nochmal die letzte Version meines Programmes:




#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);
}



Was stimmt hier nicht ???

Gruß

FischRob
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon MasterOfGizmo » 29 Jul 2018, 17:05

Es muss in beiden Aufrufen von ftduino.output_set() statt

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);


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.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1409
Registriert: 30 Nov 2014, 08:44

Re: Ultraschall-Sensor mit ftDuino ansprechen

Beitragvon FischRob » 29 Jul 2018, 17:25

Danke

es funktioniert.

Gruß
FischRob
FischRob
 
Beiträge: 75
Registriert: 01 Nov 2010, 10:51

Nächste

Zurück zu TXT-Sonderprogrammierungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste