Forum

Einloggen | Registrieren | RSS  

Arduino oder was? (Elektronik)

verfasst von bastelix(R), 18.12.2018, 01:23 Uhr

Servus,
» Was nehme ich da am Besten? Arduino?
Es gibt da ja ein paar Arduinos, ein Arduino Uno ist ein ATMega328p (8bit 16MHz) ein Arduino Due ist ein SAM3X8E ARM Cortex-M3 (32bit 84MHz), da liegen schon Welten dazwischen.

Nehmen wir mal den Uno (ist günstiger und sollte für deine Anforderungen reichen), ein Mini würde es auch tun, ist der gleiche µC, nur kompaktere Platine. Vorausgesetzt, dein Aufbau mit den Lichtschranken funktioniert prinzipiell und es liegt nur am Basic-Code oder der aktuell verwendeten Hardware.

» Kann der Dateien schreiben?
Du kannst ein Shield oder ein Breakout-Board mit einem SD-Karten-Slot verwenden um die Daten zu speichern. Alternativ könntest du auch etwas mit LAN oder WLAN verwenden, was aber teuer wird.
Ich würde ein SD-Breakout-Board empfehlen (z.B. https://www.adafruit.com/product/254 gibt auch günstigere Alternativen). Die Lib für das SD-Karten-Modul gehört zu den Standard-Libs https://www.arduino.cc/en/Reference/SD (müsste eigentlich mit der Arduino IDE ausgeliefert werden).

Dann verwendest du für jede Lichtschranke einen eigenen Interrupt-Handler der bei jedem Auslösen die aktuelle Systemzeit ( https://www.arduino.cc/reference/en/language/functions/time/millis/ ) im RAM speichert. Wenn das Fahrzeug beide Lichtschranken passiert hat berechnest du anhand der gespeicherten Zeitstempel die Dauer der Unterbrechung pro Lichtschranke. Ich denke das ist dir soweit von deinem Basic-Programm bekannt. Wichtig ist nur, dass du die Berechnung nicht im Interrupt-Handler machst, sondern in der Main-Loop und dabei auch berücksichtigst, dass unter Umständen während der Berechnung schon ein weiterer Interrupt ausgelöst werden kann. Spontan würde ich eine Round-Robin-Datenstruktur zum speichern der Triggerzeigen je Lichtschranke verwenden. Die berechneten Werte kannst du dann auf der SD-Karte speichern (das ist der Zeitaufwändigste Teil pro Messung).

Falls du Lust hast, kannst du auch noch ein RTC-Breakout verwenden um die Messwerte mit Datum und Uhrzeit zu speichern. Für die ersten Versuche würde ich das aber weglassen (vor allem weil Arduino für dich ein neues Thema zu sein scheint)



Gesamter Thread:

Arduino oder was? - RR, 17.12.2018, 18:37 (Elektronik)
Arduino oder was? - Hartwig(R), 17.12.2018, 21:20
Arduino oder was? - RR, 17.12.2018, 22:09
Arduino oder was? - Hartwig(R), 19.12.2018, 13:29
Arduino oder was? - bastelix(R), 18.12.2018, 01:23
Arduino oder was? - RR, 18.12.2018, 14:48
Arduino oder was? - bastelix(R), 18.12.2018, 22:53
Arduino oder was? - RR, 18.12.2018, 23:45