Ruderweg Messung mit Arduino

Eckehard

User
Update RC_ANGLE_THROW_KeypadShield_3.ino

Update RC_ANGLE_THROW_KeypadShield_3.ino

Hallo Zusammen,

anbei ein kleines Update meines RC_ANGLE_THROW_KeypadShield, mitlerweile Version 3...

-Fixes: Help Screen kommt nun zuverlaessiger, switch/case statt if/else
-Fixes: SerialDebug Schnittstelle, Ausgabe "Initialize Serial Port..." wird nun ausgegeben
-Verbesserung: Button RIGHT zeigt HELP Scren an
-Verbesserung: Ausgabe der Version und Datum

Anhang anzeigen RC_ANGLE_THROW_KeypadShield_3.zip.txt

Viel Spaß

Eckehard
 

Eckehard

User
Update: RC_ANGLE_THROW_KeypadShield_5.ino

Update: RC_ANGLE_THROW_KeypadShield_5.ino

Hallo Zusammen,

anbei ein kleines Update meines RC_ANGLE_THROW_KeypadShield, mitlerweile Version 5...

Änderungen gegenüber Version 3:
-Erweitert: Wert CHORD wird mit Button SELECT im EEPROM gespeichert
-Maximalwert CHORD 999mm begrenzt
-Ausgabe der Prefixe ANG und THR reduzuiert, damit konfigurierter Wert CHRORD angezeigt werden kann
-Sensor2 (rechter Sensor): Orientierung angepasst, Sensor um 180Grad gegenüber Sensor1 gedreht eingesetzt wird
-Code Review, Vereinfachung der Programmstruktur, LCD Ausgabe und Aktion in einem switch/case/.../default vereint

Anhang anzeigen RC_ANGLE_THROW_KeypadShield_5.zip.txt

Viel Spaß

Eckehard
 
Hallo,
hat vielleicht jemand einen Link zu einem Gehäuse für das Keypadshield? Suche etwas wo das Display vernünftig reinpasst und gleich die Taster bzw. Verlängerungen für die Taster integriert sind. Müsste es doch eigentlich geben, oder? Fin aber nix :-(

Gruß Jochen
 
... das hab ich auch gefunden; Bilder von selber gedruckten Gehäusen gibt´s genug. Zu kaufen sind aber nur die grünen / orangenen für 20 € das Stück mit Versand.

Trotzdem Danke
Gruß Jochen
 
@ Stein Elektronik: Kann man auch mehrere AT Meter gleichzeitig genutzten und in der App darstellen. Zb. Um einen 4 Klappenflügel einzustellen?

VG Jan
 
Hallo Jan,

da geht immer nur ein AT Wizard mit der Bluetooth Verbindung.
Es würden sich auch nur wenige Leute deswegen mehrere Wizards kaufen. Wäre auch unnötig.
Es gibt ja die Klemmhalterung und man kann jederzeit beim Wechsel auf ein anderes Ruder den Nullpunkt neu setzen.
 
Hallo,

Ich bin da andere Meinung. Bei F3B Besenstielen wären min 2 Sensoren gleichzeitig sehr gut. Da man meistens zwei Ruder gleichzeitig zueinander ausrichtet.

Dauerndes Umstecken bei CFK Flügeln ist doch bisschen nervig. Wenn ihr einen Package Preis aus mehreren Sensoren machen würdet. Wäre es sicherlich ein deutlicher Schritt nach vorne.

VG Jan
 

kalle123

User
Hallo,

Ich bin da andere Meinung. Bei F3B Besenstielen wären min 2 Sensoren gleichzeitig sehr gut. Da man meistens zwei Ruder gleichzeitig zueinander ausrichtet.

Dauerndes Umstecken bei CFK Flügeln ist doch bisschen nervig. Wenn ihr einen Package Preis aus mehreren Sensoren machen würdet. Wäre es sicherlich ein deutlicher Schritt nach vorne.

VG Jan

Hallo Jan, du siehst aber auch den Thementitel diese Threads hier!?

Thema: Ruderweg Messung mit Arduino

Schicke der Firma STEIN doch eine PM. Ansonsten bau die hier beschriebene "Bastellösung" nach. Da kannst du für kleines Geld auch 4 Sensoren an eine Fläche zeitgleich zu Messungen anbringen ... ;)

Grüße KH
 

Eckehard

User
Hallo Kalle,

das zeitgleiche Messen von 2 Klappen war ja auch meine Motivation hier mit zumachen..... s.w.o.

Du schreibst:
Da kannst du für kleines Geld auch 4 Sensoren an eine Fläche zeitgleich zu Messungen anbringen

Hm, dann brauchst Du aber mindestens 2 von "meinen" RC-Meter Umsetzungen (mit jeweils 2 Sensoren (ADXL Breackout Boards)).

Hm, ok, mit 2 Sensor Werten wirds eh schon eng auf einem 16x2 LCDisplay.... okok, das ist ja auch aus den 80ern.... nicht mehr state of the art....

Und aktuell (in meinem Code) mit über I2C angebundene ADXL Breakout Boards sind nur 2 verschiedene Adressen konfigurierbar (0x1D und 0x53), also sind maximal pro Arduino auch nur 2 Sensoren möglich...


Ahhhhh ;), es sei denn, man bindet die Sensoren statt über I2C über SPI an den Arduino an....

Müste man mal probieren.... wie gut der Sensor mit SPI funktioniert....

Grüße
Eckehard
 

kalle123

User
Hallo Eckehard.

Hab hauptsächlich auf Jans Beitrag geantwortet, weil es sich hier im thread doch um eine einfache, kostengünstige "Bastellösung" handeln soll, wobei das Rechenverfahren (im Gegensatz zu kommerziellen Angeboten) offen liegt.

Klar, ein LCD1602 ist recht beschränkt, ... aber billig! Ein LCD 2004 bietet etwas mehr Raum. Mit I2C gehen max. 2 ADXL Sensoren am Controller. Aber es soll ja eine
einfache, kostengünstige "Bastellösung" sein. ;) Also Kabel vom Sensor zum Controller.

Kann mir daher vielleicht vorstellen, rechte Fläche ein Controller mit 2 Sensoren und linke Fläche ebenso. Dann vielleicht über BT auf eine Smartphone App zur Anzeige der Werte ...

Gruß KH
 

Eckehard

User
Hi Kalle,

ja genau, es geht um eine einfache und günstige Lösung...

Jetzt noch ein weiteres Gerät (Smartphone mit passender App für iOS und Android) zur Anzeige zu benötigen geht imho in die falsche Richtung.

Das schöne an dem LCD+Keypad+Shield ist ja gerade, dass sich alle Aufgaben, also sowohl Einstellungen und Anzeige damit erledigen lassen...

Der/ein Controler/Arduino-Board ist meiner Einschätzung nach auch nicht überfordert, wenn er sich um 4 Sensoren und Anzeige kümmern soll....was jedoch zu überprüfen wäre....
Dazu fehlt mich jedoch ein Hinweis/Link, der sich mit diesen Themen (Performance, Speicherauslastung, Prozessorlast beim Arduino) beschäftigt.
Hat hier jemand mal einen Link?


Bin gespannt auf die eine oder andere Rückmeldung von Mitstreitern, die das RC-Meter nachgebaut haben....

Grüße
Eckehard
 

Feigao

User
Verkabelung Arduino mit 1602 Keypadshield

Verkabelung Arduino mit 1602 Keypadshield

Hallo Eckehard,

bevor ich lang google frag ich einfach dich:

Kannst du mal posten wie die Verkabelung Arduino, Sensoren und dem 1602 Keypadshield aussieht. Am besten für einen Pro Micro oder Nano.

Dank dir schon Mal, Gruß Heinz
 

kalle123

User
Hallo Heinz.

Schön das du dich meldest.

Du willst also Eckehards Ansatz nachbauen. Klasse. Aber ich versuche mal schnell einzuspringen. @Eckehard, bitte korrigiere mich, falls ich nen Fehler mache.

Wichtig ist ein Plan des Keypad shield. Z.B. der hier.

Anhang anzeigen LCDKeypad Shield V1.0 SCH.pdf

Das Display wird angeschlossen an GND und Vcc (5V), dann noch D4,D5,D6,D7,D8,D9

Das ist das Display.

Dann kommt da noch die Kette mit den 5 Tasten. GND und Vcc (5V) und A0.

Eine Bemerkung. Die Widerstände in der Tasterkette sind von Lieferant zu Lieferant unterschiedlich und müssen ggfs. im Programm angepasst werden.

Vielleicht sagt da Eckehard noch was zu.

Grüße KH
 

kalle123

User
Gerade gefunden.

Hier ist ein kleines Programm, um die Tasten vom keypadshield abzugleichen.
 

Anhänge

  • KeypadShield_Button_Values.ino.txt
    4,3 KB · Aufrufe: 92

Eckehard

User
Hallo Heinz,

eigentlich ist alles schon von Kalle beantwortet (Danke, Kalle):

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

--> Anzeige geht mit meinem Code über Arduino Pin: D4,5,6,7 und D8,9

adc_key_in = analogRead(0);

--> Auswertung der Buttons geht über Arduino Pin:A0

i2C Bus am Arduino ist A4 - (SDA) and A5 – (SCL).

--> Die beiden ADXL345 Breakoutboards hängen am I2C Bus, der geht über Arduino Pin:A4 und A5

Zum I2C Bus noch folgende Anmerkungen:

In Post 126 hat Kalle123 das Schaltbild der auch von mir verwendeten Breakout Boards gepostet... Dort sieht man bereits zwei Pullups mit je 4k7....
Damit ist der I2C Bus, bestehend aus Bus Master Arduino und einem Bus Slave ADXL345 Breakoutboard-1 also terminiert. Nur dadurch sind die OpenDrain Ausgänge des Bus Master im inaktiven Zustand auf Vcc gepulled.....

Du ahnst es ja vielleicht bereits......was jetzt kommt ist nicht optimal, es funktioniert aber bei mir...

Ich habe nun einfach den zweiten Bus Slave ADXL345 Breakoutboard-2 auf den Bus gelegt. Auch dieses Breakoutboard-2 hat die Pullup Wiederstände...
Effektiv ergibt sich also ein Pullup Wert von ca. 2k3.....

Weiterhin habe ich noch einen weiteren "Fehler" gemacht, denn ich habe die Kabel der beiden ADXL345 Breakoutboards am Bus Master (Arduino UNO) zusammengeführt, also eine Art Sternverkabelung....

Ohje, aber auch dies funktioniert.....

Wenn Du es in allen Punkten richtig/perfekt machen möchtest, dann könnte man folgendes noch beachten:
(Der Bus besteht aus den beiden Signalen SDA und SCL)

- den Bus am "Anfang" oder am "Ende" terminieren, also nur einmal Pullups am Busmaster (Anfang) oder am "letzten" Bus Slave (Ende)

- Pullups passend zur Geschwindigkeit wählen, jedoch nicht unter 1k. Bei dieser Anwendung "passen" dei 2k3, soll heißen, es funktioniert.

- keine Pullups auf den Bus Slaves, vorhandene entlöten/fernen

- keine sternförmige Verdrahtung, sondern
vom Master zum Slave1
und von diesem Slave 1 zum Slave2
und von diesem Slave 2 zum Slave3
.....

Hilfreich ist bei bei Problemen vielleicht auch ein I2C Scanner Sketch, siehe:

https://playground.arduino.cc/Main/I2cScanner

Aber, das ist dann "I2C Bus Aufbau nach Lehrbuch" . Bei mir funktioniert die Sternverkabelung und Terminierung an beiden Slaves trotzdem....


Viel Spaß beim Nachbauen...

Eckehard
 

Gorbi

User
Hallo Kalle
Bin auch am Nachbau der Ruderweg Messung. Ich würde gerne auch noch die y und z Achse messen. Kannst Du hierzu bitte die Formel auch angeben?
Gruss
Gorbi
 
Ansicht hell / dunkel umschalten
Oben Unten