MoBa-Speed Versuchsaufbau

MoBa-Speed for Arduino – Modellgeschwindigkeit messen

Zur Messung gibt es bereits mehr oder weniger komfortable Lösungen am Markt und in Foren. Durch einen Arduino Nano ist unser MoBa-Speed preisgünstig, kompakt und auf aktuellem Stand der Technik.

Preisgünstig, kompakt und mobil mit unserem MoBa-Speed

Update: 11.05.2019 (siehe unten)

Geschwindigkeitsmessungen auf der Modellbahn haben lange Tradition. Sei es nur um zu wissen wie schnell sich eine Zug, eine Lok gerade bewegt oder werden diese Messdaten sogar für Zugsteuerungssoftware zum Einmessen der Geschwindigkeit dringend benötigt.  Meist werden hier relativ aufwendige und stationäre Aufbauten mittels Lichtschranken, Kontaktgleisen o. ä. vorgenommen Unser MoBa-Speed soll hier eine simple und günstige Variante bieten. 

Hier kommt eines unserer Lieblingsspielzeuge in letzter Zeit zum Einsatz, der Arduino. Dieses kleine, Microcontroller gesteuerte Entwicklerboard erlaubt mit seinen analogen und digitalen Ein- und Ausgängen, die per Software verschalten werden können, so manche technische Spielerei für den Laien.  

Hier zeigen wir euch, wie ihr mit wenigen Bauteilen und zu erschwinglichen Preisen, euch dieses Gerät ganz einfach nachbauen und ggf. auf eure eigenen Bedürfnisse anpassen könnt. Auch die Software bekommt ihr dabei fertig von uns zum Download.

Bitte habt Verständnis, dass diese Art der Messung, günstig und kompakt ist, aber nicht die höchste Präzision aufweist! Vergleichsmessungen zeigten mir in Spurweite N bei einem Sensorabstand von 15cm folgende Abweichungen:

  • bei 40 Km/h (+/- 2 Km/h) 
  • bei 80 Km/h (+/- 4 Km/h)
  • bei 120 Km/h (+/- 5 Km/h)
  • über 160 Km/h (+/- 6 Km/h)

Genauer habe ich das nicht überprüft. Durch einen längeren Messabschnitt kann die Genauigkeit aber weiter gesteigert werden. Ebenso wird die Messung genauer, wenn die beiden Sensoren gleich ausgerichtet sind, was die Lage des Senders und Empfängers betrifft.

Ihr benötigt:

  • 1x Arduino Nano V3 Atmega328p oder größere Versionen (und USB-Kabel)
  • 1x OLED-Display 128x64px 0,96 Zoll I2C IIC SPI (für Arduino); Wenn ihr ein 1,3 Zoll Display verwenden wollt, beachtet bitte unsere Update Versionen weiter unten)
  • 2x Modul IR Refelexlichtschranke LM393 

Je nachdem ob ihr das ganze aus Fernost oder beim Elektronikfachhändler ordert, zahlt ihr insgesamt etwa 10,- bis 40,- EUR. Die Preisspanne bei diesen Bauteilen und Lieferanten ist immens! Aber hier sind 3er, 5er oder gar 10er Packungen teilweise günstiger als 2 einzelne Bauteile und es lohnt sich die Preise zu vergleichen.

Teile für den Versuchsaufbau MoBa-Speed for Arduino
Teile für den Versuchsaufbau MoBa-Speed for Arduino

Um das ganze einfach als Versuchsaufbau zu installieren, benutzt man eine Steckplatine, ein sogenanntes „Breadboard„. Hierauf lassen sich dann alle Komponenten einfach aufstecken und mit Kabeln verbinden. Zum Aufspielen der Software benötigt ihr noch einen PC/Mac mit Windows, IOS oder Linux. Dort müsst ihr die Software installieren oder das ganze aus dem Webeditor heraus bearbeiten. Beides findet ihr auf arduino.cc . In diesem Einführungsvideo wird alles anschaulich erklärt.

Der Versuchsaufbau:

FunktioN:

Die beiden Reflexlichtschrankenmodule vom Typ LM393 mit 3 Pins, werden wegen ihrer häufigen Verwendung auch als „line tracker“ bezeichnet. Diese gibt es. z.B. im 10er-Pack für 8,- EUR. Einzeln sind diese zusammen meist teurer. Hierbei handelt es sich um ein Modul auf welchem ein IR-Sender und -Empfänger verbaut sind (IR = Infrarot). Das IR-Signal wird dauerhaft ausgestrahlt. Sobal sich ein Gegenstand in unmittelbarer Nähe vor dem IR-Modul befindet, so wird über dessen Oberfläche das IR-Licht reflektiert und vom IR-Empfänger erkannnt. Über einen Drehpoti kann mit einem Schraubendreher die Empfindlichkeit bzw. Reichweite eingestellt werden. Zur Kontrolle kann man das Auslösen des Empfängers an einer LED erkennen. Für die richtige Einstellung sollte diese LED nicht leuchten, solange sich kein Objekt vor dem Sensor befindet. Sobald man mit seiner Hand vorbeifährt, muss die LED aufleuchten. Beim Auslösen sinkt die Spannung am Steuerausgang ab. 

Der Arduino Nano (ab ca. 3,- EUR) hat die Aufgabe die Steuerausgänge der Lichtschrankenmodule auszuwerten und daraus das Messergebnis zu berechnen, sowie das Display anzusteuern. Dafür wurden die Steuerausgänge der beiden Module auf die Digitaleingänge 6 und 7 gelegt. Im Programmcode (Sketch) wird geprüft, wann an den Eingängen die Spannung abfällt. Sobald dies der Fall ist wird die Systemzeit beim Auslösen gespeichert und auf das Auslösen des anderen Eingangs gewartet.  Sobald dieser auslöst, wird die Zeit wieder registriert und aus den beiden die Differenz errechnet. Zusammen mit den eingetragenen Werten im Sketch für den Sensorabstand und dem Modellmaßstab, wird die Modellgeschwindigkeit errechnet. Diese Werte werden am „Seriell Monitor“, also am PC/Mac sowie über das Display ausgegeben.

Das Display bildet die dritte Hauptkomponente unseres Aufbaus, vereinfacht das ablesen und macht das Gerät autark einsetzbar. Es wird aber nicht zwangsläufig benötigt, da die Daten auch am PC/Mac abgelesen werden können. Zum Einsatz kommt hier ein 0,96″ (Zoll/Inch) kleines Monochromdisplay das für bereits 4,- EUR erhältlich ist. Es wird in den Farben, blau, weiß und gelb/blau angeboten. Die Ansteuerung erfolgt über I2C, ISP . Hierfür werden am Arduino nur 2 Steuerausgänge benötigt und zusätzlich die Stromversorgung GND und VCC (3,3V). 

(Seit dem Update vom 11.05.2019 könnte ihr ein 1,3″ großes OLED Display verwenden. Mehr dazu ganz unten im Beitrag)

Die Stromversorgung des MoBa-Speed soll über den USB-Anschluss und mittels Handy-Ladekabeler oder Powerbank erfolgen.

Schaltplan:

MoBa-Speed for Arduino Schaltplan
MoBa-Speed for Arduino
Schalplan

Einstellungen für den Arduino

  1. Um den Arduino zu prgrammieren müsst ihr die Software „Arduino IDE“ an eurem PC oder Mac installieren. Anschließend schließt ihr den Arduino an einem freien USB-Port am Computer an und startet die „Arduino IDE“ um Einstellungen für die Kommunikation mit dem Arduino vorzunehmen.
  2. Nehmt nun unter dem Tab „Werkzeuge“ die Einstellungen für das Board, des von euch verwendeten Arduinotyps vor.  In unserem Fall ist das der „Arduino Nano“.
  3. Ebenso die Einstellung für den Prossertyp „ATmega328P“ und ich musste die Einstellung „Old Bootloader“ wählen, was aber abhängig vom Hersteller ist, den ihr verwendet.
  4. Wählt den com-Port, also die USB-Schnittstelle, an welcher der Arduino angesteckt ist – Achtung: dieser muss zu diesem Zeitpunkt angesteckt sein! Es werden nur die Ports angezeigt, an welcher auch ein Arduino erkannt wurde. Die für diesen Sketch verwendete „Baudrate“ beträgt 9600, was der Standardeinstellung entspricht und keiner Änderung bedarf!
  5. Über den „Serial Monitor“, im Programm rechts oben zu finden, könnt ihr die Abläufe des Arduinos verfolgen. Wird der Programmcode ausgeführt, so ist die Kommunikation hergestellt und der Arduino funktioniert. Durch drücken der Taste auf dem Arduino, könnt ihr den Programmcode erneut abspielen lassen.

Der Sketch und das Display

Hier findet ihr unseren original Sketch zum MoBa-Speed als Download und ebenso eine Sammlung aller MoBa-Speed Versionen bis 11.05.2019 (siehe Update, unten).

  1. Als erstes sucht Ihr euch den Sketch, also die Datei, welche ihr euch von uns in gepackter Form herunter geladen habt. Dann entpackt ihr diese und startet sie per Doppelklick. Die angezeigte Meldung bestätigt ihr damit der Sketch dem Programm bekannt ist.
  2. Um den Sketch ausführen zu können, müsst Ihr 2 Bibliotheken zur Steuerung des Displays laden. Diese ergänzen später den Code beim export auf den Arduino. Hierführ wechselt ihr über den Tab „Sketch“ in die Rubrik „Bibliotheken verwalten“.
  3. In der Sucheingabe gebt ihr den gleichen Namen der Bibliothek ein, wie er im Sketch aufgelistet wird = adafruit_gfx. Wenn ihr diese gefunden habt, klickt auf „installieren“. 
  4. In der Bibliothekenverwaltung könnt ihr nun gleich die zweite benötigte Bibliothek suchen und installieren = adafruit_ssd1306.  Achtung, bei einem 1,3″ Display benötigt ihr eine andere Bibliothek, die ihr selbst downloaden müsst!)
  5. Bei den gebräuchlichen und günstigen Displays am Markt handelt es sich um Nachbauten aus Fernost. Diese Displays besitzen eine andere Adresse als Ihre Original von Adafruit. Bei den günstigen Nachbauten lautet die Adresse 0x3C anstelle der Originaladresse 0x3D. Dieser eine Buchstabe kann darüber entscheiden ob das Display später angesteuert wird oder nicht. Unser Sketch ist für die häufig verwendeten Displays aus China ausgelegt, ggf. müsst ihr die Adresse, relativ weit unten im Sketch zu finden anpassen!

Eingaben für die richtige Messung

Damit die Messung später korrekt arbeitet, sind noch 2-3 wesentlich Eingaben von euch zu tätigen. Der Einfachheit halber habe ich euch diese Angaben relativ weit oben und direkt untereinander im Sketch platziert, so dass ihr nicht lange suchen müsst.

Als erstes ist die Entfernung der Lichtschrankenmodule einzugeben (in mm). Bitte hierfür exakt messen! Z.B. kann der Abstand von Linker Seite des ersten Moduls zur linken Seite des zweiten Moduls gemessen werden, oder von Mitte zu Mitte. Im Beispiel= 150.0 (150mm – Bitte Schreibweise „00.0“ exakt beibehalten!) Je länger der Messabschnitt, desto genauer kann die Messung erfolgen.

Als zweites euer Modellmaßstab. Hier im Sketch eingetragen ist natürlich unsere Spurweite 1/160. Dafür tragt ihr NUR den Wert nach dem Bruchstrich ein, also in diesem Fall N= 160.  Oder für die Spurweiten H0= 87;  TT= 120; Z= 220

Danach könnt ihr noch die Wartezeit (ms) verändern, bis die Messung erneut gestartet ist. Die Wartezeit muss vorhanden sein, sonst funktioniert die Messung nicht korrekt. Dauert die Fahrt bis zum Ende der Lok oder des Zuges länger als die eingestellte Wartezeit, so erfolgt eine Fehlmessung nach Ablauf der Zeit, was aber auch kein wirkliches Problem darstellt. Die angegebenen 12000 Millisekunden schienen mir praktisch, was aber von der Länge eures Messabschnittes und den gefahrenen Geschwindigkeiten abhängt.

//Distance from sensor Left to sensor Right - your distance (mm)
const double distance = 150.0; 

//Your model scale 1/xx
int scale = 160;

//Waiting time for train, to move out of measurement array (ms)
int waitingtime = 12000;

 

Sketch kompilieren und hochladen

Um den Sketch auf den Arduino zu laden muss dieser kompiliert werden. Dies geschieht, indem ihr das entsprechende icon mit dem Haken, links oben anklickt. Hierbei fügt die Software euren Code und die Codes der angegebenen Bibliotheken zu einem zusammen, überprüft ob der Code fehlerfrei ist und wandelt diesen im Hintergrund in einen Maschinencode um, welcher später vom Arduino ausgeführt werden kann. Dies kann einige Sekunden dauern. Ist der Code fehlerfrei, so erhaltet ihr im Fenster unten die Meldung wie viel Speicherplatz verbraucht wird. Der Text ist dabei in weißer Schrift gehalten. Erhaltet ihr einen orange-roten Text, so enthält der Code an den beschriebenen Stellen Fehler und kann nicht übertragen werden!

Durch Anklicken des Icons mit Pfeil nach rechts „hochladen“, startet ihr den Upload auf den Arduino. Sollte der Sketch vorher noch nicht kompiliert worden sein, so geschieht dies jetzt automatisch vor dem eigentlichen Upload.

Nach dem erfolgreichen Upload startet der Arduino automatisch damit den abzuarbeiten. Es erscheint unser Startscreen und danach die Anzeige „READY“ auf dem Display und dem Serial Monitor. Nun könnt ihr das ganze Testen, indem ihr eure Hand oder einen Gegenstand in geringem Abstand vor den Sensoren vorbei bewegt. Dabei sollte die Messung ausgelöst werden und das Ergebnis auf dem Display und dem Serial Monitor am Computer angezeigt werden. Nach der eingestellten Wartezeit erscheint wieder die Schrift „READY“, das Gerät ist damit bereit für die nächste Messung. Zur Stromversorgung ohne PC kann der USB-Port herangezogen werden. Ein passendes Handyladekabel oder eine Powerbank mit USB können hier für die benötigten 5V Stromversorgung dienen. Es wird ggf. ein Adapter auf den richtigen USB-Stecker benötigt, das der Arduino Nano standardmäßig mit einem recht unüblichen Mini-USB Port ausgestattet ist.

Unser Video zum Versuchsaufbau

hier seht ihr auch wie der MoBa-Speed funktioniert. Die Einbauanleitung in das Gehäuse gibt es in Kürze

 

Update 11.05.2019:

Die neuen Sketch-Versionen V1.1 bis V1.4 stehen zum Download bereit!

  • V1.1 – ist die Originalversion, wie Sie hier gezeigt und beschrieben wird für ein 0,96″ OLED-Display
  • V1.2 – ist eine Abwandlung für ein etwas größeres 1,3″ OLED-Display. Hier benötigt ihr unseren Sketch und die zugehörige Bibliothek SH1106, die ihr noch selbst downloaden und  in eurem „libraries-Ordner“ kopieren müsst!
  • V1.3 – wurde von Bernhard Raschke modifiziert und uns netterweise in dieser Form wieder zur Verfügung gestellt. Die Messung kann hier beliebig lange dauern und das Display zeigt „Speedcheck running..“ wärend einer laufenden Messung.
  • V1.4 – ist eine Kombination beider vorangegangener Versionen. Die Modifikation von Bernhard für ein größeren 1,3″ OLED-Display. Auch hier muss die Bibliothek wie in V1.2 verwendet werden!

63 comments on “MoBa-Speed for Arduino – Modellgeschwindigkeit messenAdd yours →

  1. Moin zusammen!
    Habe mein Messgerät nach einigen Problemen zum laufen bekommen .
    Ich würde jetzt noch gerne von euch wissen, in welchen ihr das ganze verbaut habt. Ihr wolltet doch eigentlich ein Video dazu machen. Kommt da noch was? Wäre ich toll.

    LG Bernd

  2. Hallo Jörg, habe den Aufbau abgeschlossen und diese Fehlermeldung erhalten, bin am verzweifeln was ich falsch gemacht habe. Hier die Fehlermeldung. Kannst Du mir bitte helfen !

    C:\Users\Horst\Desktop\MoBa-Speed\Sketch\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino: In function ‚void refresh_display()‘:
    C:\Users\Horst\Desktop\MoBa-Speed\Sketch\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino:171:3: error: ‚display‘ was not declared in this scope
    display.clearDisplay();
    ^~~~~~~
    C:\Users\Horst\Desktop\MoBa-Speed\Sketch\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino:171:3: note: suggested alternative: ‚delay‘
    display.clearDisplay();
    ^~~~~~~
    delay
    C:\Users\Horst\Desktop\MoBa-Speed\Sketch\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino: In function ‚void initialize_display()‘:
    C:\Users\Horst\Desktop\MoBa-Speed\Sketch\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino:221:3: error: ‚display‘ was not declared in this scope
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize OLED display (use adresse 0x3D for original Adafruit product)
    ^~~~~~~
    C:\Users\Horst\Desktop\MoBa-Speed\Sketch\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino:221:3: note: suggested alternative: ‚delay‘
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize OLED display (use adresse 0x3D for original Adafruit product)
    ^~~~~~~
    delay

    exit status 1

    Compilation error: ‚display‘ was not declared in this scope

    1. Moin Horst.
      Hat sich dein Problem erledigt. Wenn nicht, lade doch einfach noch mal das Programm runter. Ich hatte da keine Probleme mit dem compilieren.

  3. Hallo,
    ich habe den Moba-Speed nachgebaut, vorerst auf einem Steckbrett. Es funktioniert einwandfrei und bringt plausible Werte. Mir reicht das. Allerdings leuchten die LED’s am Arduino Nano rot und nicht grün. Hat das was zu bedeuten, oder ist es egal?
    Viele Grüße Sepp

  4. Hallo, had jemand jetz die infrarot gewechseld zum laser embfanger? Und so jah mit welcherem stuck? Ik habe ganz viel sonne in meiner raum und die IR had manch mal falsche meldung.

  5. Hallo und vielen Dank für MobaSpeed, hat sofort funktioniert.
    Allerdings habe ich das ganze als Tunnel aufgebaut und die IR Led gegenüber des Empfängers gesetzt. Nun durchfährt die Lok eine Lichtschranke, aus meiner Sicht ist das präziser da Fremdlicht und Fremdreflexionen ausgeschlossen sind.
    Natürlich muss man das im Scatch auch ändern in dem man alles HIGH auf LOW setzt und umgekehrt.
    Liebe Grüße

  6. Hallo Jörg

    ich habe mir das Moba-Speed nachgebaut Läuft super.

    nur ist mir das 1,3 Display zu klein.
    ich würde das dieses Display verwenden wollen.
    https://www.pollin.de/p/2-42-oled-display-joy-it-com-oled2-42-811347?utm_source=google&utm_medium=fshopping&gclid=CjwKCAiA866PBhAYEiwANkIneNEHTAMk4CvqZBJmMSaqxi1xmwsXJqYKXS9grNJH0uPdUwzghlS9MhoCfpcQAvD_BwE
    nur leider reicht mein wissen leider nicht aus um den Sketch so an zupassen das das display läuft .

  7. Hallo Möchte das Projekt mit einem Mega 2560 R3 bauen. Die Geschwindigkeits Messung funktioniert.Das Display bekomme ich nicht zum laufen.Die Ports A4 und A5 geben nichts aus.Ist die Ausgabe(sketch) am Mega 2560 vielleicht auf andere Ports geschaltet,oder liegt es an an der Prozessor Struktur ? Wäre dankbar für eine Info lg tom

    1. Der Mega hat andere I2C-Ports. Das ist aber auch beschriftet. D20 = SDA und D21 = SCL. Das sind die beiden letzten Ports unten in der rechten Reihe.

  8. Hallo N-Bahner
    Ich hab die speed-messung entdeckt und finde sie toll.
    Ich möchte sie für H0 1:87 benutzen.
    Hab den zip-file runtergeladen und bekomme beim entpacken „unknown compression methode“
    Extracting N-Modellbahn_MoBa-Speed_for_Arduino_V1-4_by-Bernhard_OLED_1-3.ino Unknown compression method
    Könntet ihr das bitte mal prüfen??
    Danke Günther

    1. Hello Paco,
      so this is very cool to see. Absolute amazing, what you had done with the MoBa-Speed. Thank you so much for sharing your creations with us :). Also your PacoWagon Wifi – great idea!

      best regards
      Joerg

  9. Hallo ihr lieben, ich bin zwar NEU auf dem Arduino-Gebiet, habe mich aber dennoch auch mal an den Speedcheck für meine Spur N Anlage gewagt. Ich bin bei der Sketchüberprüfung hängengeblieben und komme gerade nicht weiter :-(.
    Es wird nach Adafruit_SH1106. h gefragt, die ich allerdings gedownloaded habe.
    Ich denke mal, dass ich die Datei in ein falsches Verzeichnis kopiert habe.
    Habt ihr bitte das korrekte Verzeichnis für mich ?
    Gruß Uwe

    1. Hallo Uwe,
      ich habe das selbe Problem.
      Habe die Datei sowohl in den Ordner des Sketches, als auch in den Ordner libraries der Arduino-Installation kopiert.
      Erhalte aber immer die Fehlermeldung, dass diese Datei nicht gefunden würde.
      Wenn ich statt #include das selbe in der Form #include „Adafruit_SH1106.h“ ändere, dann findet er zwar die Datei neben dem Sketch, aber dann erhalte ich andere Fehler.

  10. Hi, ich hab da mal eine Frage.
    Wozu ist die „Freetime“-Variable? Das versteh ich nicht. Bin aber auch ganz neu in dem Metier.
    Liebe Grüße, einen guten Rutsch und vor allem ein gesundes neues Jahr 2021.
    Michael

  11. Hello, fantastic and simple, what more could you ask for. Posts to ask :), could it be done from the detectors, if you connect with the two detectors detecting it will go from 1/160 to 1/87 and when it stops detecting it will memorize this option?
    Thank you very much, greetings from Barcelona

    Hola, fantástico y simple, que más se puede pedir. Puestos a pedir :), se podría hacer que de desde los detectores, si conectas con los dos detectores detectando pasara de de 1/160 a 1/87 y al dejar de detectar de memorizara esta opción?
    Muchas gracias , saludos desde Barcelona

  12. Search google for adding com ports to window 10 through the Device Manager. I’ve found by plugging in the usb cable it will also create a com port sometimes

  13. Hallo Hab noch nen Laptop noch mit dem Com Port und habe beim hochladen folgende Fehlermeldung bekommen.Arduino: 1.8.13 (Windows 10), Board: „Arduino Nano, ATmega328P (Old Bootloader)“

    C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\malte\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328old -vid-pid=0000_0000 -ide-version=10813 -build-path C:\Users\malte\AppData\Local\Temp\arduino_build_395866 -warnings=none -build-cache C:\Users\malte\AppData\Local\Temp\arduino_cache_318691 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\malte\Documents\Arduino\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino

    C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\malte\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328old -vid-pid=0000_0000 -ide-version=10813 -build-path C:\Users\malte\AppData\Local\Temp\arduino_build_395866 -warnings=none -build-cache C:\Users\malte\AppData\Local\Temp\arduino_cache_318691 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\malte\Documents\Arduino\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino

    Using board ’nano‘ from platform in folder: C:\Program Files\Arduino\hardware\arduino\avr

    Using core ‚arduino‘ from platform in folder: C:\Program Files\Arduino\hardware\arduino\avr

    Detecting libraries used…

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o nul -DARDUINO_LIB_DISCOVERY_PHASE

    Alternatives for SPI.h: [SPI@1.0]

    ResolveLibrary(SPI.h)

    -> candidates: [SPI@1.0]

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o nul -DARDUINO_LIB_DISCOVERY_PHASE

    Alternatives for Wire.h: [Wire@1.0]

    ResolveLibrary(Wire.h)

    -> candidates: [Wire@1.0]

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o nul -DARDUINO_LIB_DISCOVERY_PHASE

    Alternatives for Adafruit_GFX.h: [Adafruit_GFX_Library@1.10.2]

    ResolveLibrary(Adafruit_GFX.h)

    -> candidates: [Adafruit_GFX_Library@1.10.2]

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o nul -DARDUINO_LIB_DISCOVERY_PHASE

    Alternatives for Adafruit_SSD1306.h: [Adafruit_SSD1306@2.4.1]

    ResolveLibrary(Adafruit_SSD1306.h)

    -> candidates: [Adafruit_SSD1306@2.4.1]

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_SSD1306“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o nul -DARDUINO_LIB_DISCOVERY_PHASE

    Using cached library dependencies for file: C:\Program Files\Arduino\hardware\arduino\avr\libraries\SPI\src\SPI.cpp

    Using cached library dependencies for file: C:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire\src\Wire.cpp

    Using cached library dependencies for file: C:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp

    Alternatives for Adafruit_I2CDevice.h: [Adafruit_BusIO@1.6.0]

    ResolveLibrary(Adafruit_I2CDevice.h)

    -> candidates: [Adafruit_BusIO@1.6.0]

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_SPITFT.cpp

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_GFX_Library\glcdfont.c

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_BusIO_Register.cpp

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_I2CDevice.cpp

    Using cached library dependencies for file: C:\Users\malte\Documents\Arduino\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp

    Generating function prototypes…

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_SSD1306“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_BusIO“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\preproc\\ctags_target_for_gcc_minus_e.cpp“ -DARDUINO_LIB_DISCOVERY_PHASE

    „C:\\Program Files\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags“ -u –language-force=c++ -f – –c++-kinds=svpf –fields=KSTtzns –line-directives „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\preproc\\ctags_target_for_gcc_minus_e.cpp“

    Sketch wird kompiliert…

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++“ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src“ „-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_SSD1306“ „-IC:\\Users\\malte\\Documents\\Arduino\\libraries\\Adafruit_BusIO“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp“ -o „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp.o“

    Compiling libraries…

    Compiling library „SPI“

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\SPI\SPI.cpp.o

    Compiling library „Wire“

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Wire\Wire.cpp.o

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Wire\utility\twi.c.o

    Compiling library „Adafruit_GFX_Library“

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_GFX_Library\glcdfont.c.o

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_GFX_Library\Adafruit_GFX.cpp.o

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp.o

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_GFX_Library\Adafruit_SPITFT.cpp.o

    Compiling library „Adafruit_SSD1306“

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp.o

    Compiling library „Adafruit_BusIO“

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_BusIO\Adafruit_BusIO_Register.cpp.o

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_BusIO\Adafruit_I2CDevice.cpp.o

    Zuvor kompilierte Datei wird verwendet: C:\Users\malte\AppData\Local\Temp\arduino_build_395866\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp.o

    Compiling core…

    Using precompiled core: C:\Users\malte\AppData\Local\Temp\arduino_cache_318691\core\core_arduino_avr_nano_cpu_atmega328old_5638c217b04eda8279099c4937887265.a

    Linking everything together…

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-gcc“ -w -Os -g -flto -fuse-linker-plugin -Wl,–gc-sections -mmcu=atmega328p -o „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.elf“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\sketch\\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\SPI\\SPI.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Wire\\Wire.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Wire\\utility\\twi.c.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_GFX_Library\\glcdfont.c.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_GFX_Library\\Adafruit_GFX.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_GFX_Library\\Adafruit_GrayOLED.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_GFX_Library\\Adafruit_SPITFT.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_SSD1306\\Adafruit_SSD1306.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_BusIO\\Adafruit_BusIO_Register.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_BusIO\\Adafruit_I2CDevice.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866\\libraries\\Adafruit_BusIO\\Adafruit_SPIDevice.cpp.o“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/..\\arduino_cache_318691\\core\\core_arduino_avr_nano_cpu_atmega328old_5638c217b04eda8279099c4937887265.a“ „-LC:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866“ -lm

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy“ -O ihex -j .eeprom –set-section-flags=.eeprom=alloc,load –no-change-warnings –change-section-lma .eeprom=0 „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.elf“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.eep“

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy“ -O ihex -R .eeprom „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.elf“ „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.hex“

    Bibliothek SPI in Version 1.0 im Ordner: C:\Program Files\Arduino\hardware\arduino\avr\libraries\SPI wird verwendet

    Bibliothek Wire in Version 1.0 im Ordner: C:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire wird verwendet

    Bibliothek Adafruit_GFX_Library in Version 1.10.2 im Ordner: C:\Users\malte\Documents\Arduino\libraries\Adafruit_GFX_Library wird verwendet

    Bibliothek Adafruit_SSD1306 in Version 2.4.1 im Ordner: C:\Users\malte\Documents\Arduino\libraries\Adafruit_SSD1306 wird verwendet

    Bibliothek Adafruit_BusIO in Version 1.6.0 im Ordner: C:\Users\malte\Documents\Arduino\libraries\Adafruit_BusIO wird verwendet

    „C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-size“ -A „C:\\Users\\malte\\AppData\\Local\\Temp\\arduino_build_395866/N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino.elf“

    Der Sketch verwendet 18792 Bytes (61%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.

    Globale Variablen verwenden 661 Bytes (32%) des dynamischen Speichers, 1387 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

    Beim Hochladen des Sketches ist ein Fehler aufgetreten

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x91

    avrdude: stk500_recv(): programmer is not responding

    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x91

    Was muss ich tun?

  14. Hallo Das ist wirklich ein tolles Projekt.Hab mir jetzt alles besorgt und zusammengebaut und muss mit Schreck erkennen das mein Windows 10 kein Com Port hat. Gibt es noch eine andere Lösung? Gruß Malte

    1. Search google for adding com ports to window 10 through the Device Manager. I’ve found by plugging in the usb cable it will also create a com port sometimes

    2. Hallo Malte,
      Mit dem com-Port ist der USB-Anschluss gemeint. Bitte einen aktuellen PC und z.B. Windows 10 verwenden.

  15. Hallo Jörg!
    Ich habees nochmal versucht.
    Alles vom PC gelöscht und dann wieder neu installiert, neuer Aduino, angeschlossen ,Pc hat erkannt und eingerichtet.
    Im Serial Monitor vom Aduinoprogramm keine Reaktion von wegen Kommunikation mit dem Bord.
    Euren Sketch nochmal hochgeladen, alles so gemacht wie beschrieben und beim kompilieren dann untenstehende Fehlermeldung. ??????????
    Was kann ich tun?
    Danke schon mal für die Hilfe.
    Gruß Dirk

    Arduino: 1.8.13 (Windows 10), Board: „Arduino Nano, ATmega328P“

    C:\Users\Dirk\Documents\Arduino\sketch_oct10a\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino: In function ‚void setup()‘:

    N-Modellbahn_MoBa-Speed_for_Arduino_V1-1:104:6: error: redefinition of ‚void setup()‘

    void setup() {

    ^~~~~

    C:\Users\Dirk\Documents\Arduino\sketch_oct10a\sketch_oct10a.ino:1:6: note: ‚void setup()‘ previously defined here

    void setup() {

    ^~~~~

    C:\Users\Dirk\Documents\Arduino\sketch_oct10a\N-Modellbahn_MoBa-Speed_for_Arduino_V1-1.ino: In function ‚void loop()‘:

    N-Modellbahn_MoBa-Speed_for_Arduino_V1-1:116:6: error: redefinition of ‚void loop()‘

    void loop() {

    ^~~~

    C:\Users\Dirk\Documents\Arduino\sketch_oct10a\sketch_oct10a.ino:6:6: note: ‚void loop()‘ previously defined here

    void loop() {

    ^~~~

    Mehrere Bibliotheken wurden für „Adafruit_SSD1306.h“ gefunden

    Benutzt: C:\Users\Dirk\Documents\Arduino\libraries\Adafruit_SSD1306

    Nicht benutzt: C:\Users\Dirk\Documents\Arduino\libraries\Adafruit_SSD1306_Wemos_Mini_OLED

    exit status 1

    redefinition of ‚void setup()‘

    Dieser Bericht wäre detaillierter, wenn die Option
    „Ausführliche Ausgabe während der Kompilierung“
    in Datei -> Voreinstellungen aktiviert wäre.

  16. Habe das für TT nachgebaut, ging mit der Anleitung einfach sehr gut und funktioniert prima. Danke dafür.
    Was ist denn mit der Einbauanleitung in das Gehäuse, kommt die noch?

  17. Hallo Jörg bei treten fehlermeldungen auf und zwar
    avrdade: stk 500-getsync attempt 1of10 9of10 8of10 und das bis 10of10 not in sync:resp=0x00

    kannst du mir weiter helfen mfg jörg

    1. Hallo Jörg.
      ich kenne das Problem zwar nicht, aber bei meiner Recherche bin ich darauf gestoßen, dass hier vermutlich der falsche Arduino angesprochen wird. In meinem Beispiel muss hier der der Boardtyp: Arduino Nano und zusätzlich „Old Bootloader“ eingestellt werden. Das hängt aber immer ab vom genauen Typ, den du gekauft hast. Wenn die Einstellungen zu deinem verwendeten Board passen, sollte es auch klappen. Im Notfall kannst du einfach verschiedene Einstellungen ausprobieren falls du die richtige nicht kennst. Evtl. hilft dir hier auch eine Beschreibung bei deinem Lieferanten weiter.

  18. Hallo,
    Ich habe den Moba-Speed nachgebaut, den Sketch V1.4 downgeloaded und korrigiert wie beschrieben, bekomme aber beim Kompilieren und Hochladen die Fehlermeldung: ‚error: redefinition of class Adafruit_SH1106‘ und ‚note: previous definition of ‚class Adafruit_SH1106‘. Ich bin kein Programmierer, versuche schon seit Stunden den Fehler zu finden, kann jemand mir helfen?
    Grüsse, Alex

    1. Hallo Alex,
      habe den Sketch gerade nochmals probehalber kompiliert. Dieser funktioniert soweit. Hast du auch die Bibliothek SH1106 heruntergeladen und in den passenden Ordner kopiert?
      (Siehe Version V1.2).
      Ich denke, hier sollte laut dem Fehlerprotokoll die Ursache liegen.

      Jörg

  19. Hallo Jörg
    echt super Beitrag und geht echt super!
    ich hatte zwar beim Display mit GND und VCC schwierigkeiten, weil sie auf der Platine anders waren als auf der Zeichnung.
    Aber jetzt geht`s!
    Was anders gibt es wieder mal ein Fahrvideo von deiner Anlage?
    Die würde mir auch gefallen!
    Gruß Thomas

    1. Vielen Dank Thomas,
      ein Fahrvideo gab es inzwischen schon länger nicht mehr. Wäre sicher einmal wieder interessant

      Viele Grüße
      Jörg von N-Modellbahn.de

  20. Hallo allerseits,

    diesen Sketch finde ich echt super, gratuliere.
    Ich habe aber dazu doch noch eine Frage. Ihr verwendet unter anderem ein 2farbiges Display, könnt Ihr mir hier bitte die Bezeichnung oder Bezugsquelle nennen?

  21. Ausgezeichnet. Ich habe für meine TT anlage gebaut, es wirkt super. Ich habe kleine Probleme mit Display gehabt, aber habe ich schon die Lösung gefunden.
    Grüße
    Jacek

  22. Bei mir geht es nicht ob wohl ich die richtigen kommponeten habe. Ich habe ein bildschierm mit240x240 pixel .ich habe alles ausbrobiert .Was kann ich noch machen.Bitte um antwort

    1. Das ist nicht das richtige Display aus unserer Beschreibung! Der Sketch (Programmcode) ist nur für ein OLED-Display mit 128×64 oder 128×32 Pixel bestimmt. Für andere Displays muss der Sketch, was die Darstellung angeht, komplett umgeschrieben werden!

  23. Guten Tag zusammen.
    Erstmal großes Lob, kurz zusammen gesteckt und schon kann die Messung losgehen. Nach Einstellung der Lokdecoder laufen die Loks jetzt viel besser.
    Ich wollte mir das Ganze fest aufbauen und habe mir ein Display gekauft, dass leider die U8g2- Bibliothek benötigt. Der Versuch, den Scetch anzupassen ist kläglich gescheitert.
    Hat hier schon jemand mehr Erfolg gehabt und kann einen Scetch zu Verfügung stellen?? Wäre toll und ich wäre sehr dankbar
    Gruß Peter

    1. Gerne könnt ihr uns Modifikationen schicken, damit wir diese als alternativen Sketch zum Download anbieten. Ich selbst habe dafür nicht das passende auf Lager.

  24. Hallo, habe heute den Geschwindigkeits messer mit einem Pro Mini gebaut. Er spricht jetzt auch Niederländisch mit mir. Das ganze is in eine uralte dia-Box von ca. 16cm Breite eingebaut (ja, ja, ich stamme noch aus eine Zeit wo ich die in Masse geschossen habe), und mit ein schönes Front versehen. Schaltung wurde mit eine lipo-batterie und eine ladeschaltung erweitert damit es überall auf meine Anlage aufgestellt werden kann ohne Verkabelung. Funktioniert großartig!!
    Danke für die tolle Idee.

    Paul aus den Niederlande

    1. Danke für das Feedback und die tollen und kreativen Ideen dazu. Es freut uns immer so etwas zu lesen oder zu sehen 🙂 Viel Spaß noch damit und viele Grüße in die Niederlande

  25. Sehr schöne Sache, Dokumentation tadellos! War in 10 min auf dem Steckbrett nachgebaut(excl. Bestellung und Lieferung der Lichtschranken ;-)) und funktioniert. Damit hat sich das Ding fest verlötete Leitungen und ein anständiges Gehäuse verdient.
    Vielen Dank fürs Veröffentlichen!

    1. Hallo Martin
      Freut mich sehr dass es so gut klappt. Entschuldige die späte Antwort und Freigabe dieser und anderer Kommentare zu diesem Beitrag. Danke auch für den Link zu uns und noch viel Spaß damit 🙂

  26. Hallo Jörg,
    habe erst letzte Woche von deinem Projekt gelesen, ganz herzlichen Dank dafür. Nachdem die sofort bestellten Sachen vorhanden waren, hab ich das zusammengebaut und ausprobiert. Ich habe die Softwareversion 1.3 genommen. Und das Gute, es funktioniert! Allerdings nicht prima! Zwischen Vorwärts- und Rückwärtsfahrt liegt eine Differenz von fast genau 20km/h. Zeiten mit der Stoppuhr gemessen sind gleich. Wo könnte der Fehler liegen?

    Grüße,
    Gerd

    1. Hallo Gerd
      Grundsätzlich sollte die Messstrecke möglichst lang sein. 15cm oder mehr haben sich als recht zuverlässig erwiesen. Aber darum geht es ja gar nicht wirklich. Abweichungen zwischen den Richtungen könnten sein, dass die beiden Sensoren unterschiedlich zu einander aufgebaut sind. Es ist am sinnvollsten beide in der gleichen Anordnung zu verbauen (senkrecht, waagrecht, Empfänger oben oder unten – in beiden Fällen gleich). Leider habe ich das ganze erst jetzt gelesen. Die Frage ist, ob die Zeit selbst richtig gemessen wird und das Ergebnis falsch angezeigt oder wird eben die Zeit vom Moba-Speed falsch gemessen? Gegenlicht oder starker Sonnenschein könnten die Sensoren stören, ebenso wie spiegelnde Flächen aus poliertem Metall z.B.

    2. Das Problem hatte ich auch. Ich hab den Moba-Speed auf einem Holzbrett aufgebaut, das ergibt 27 cm Messstrecke. Auch bei mir waren die Abweichungen bei 20 km/h. Handgestoppt stimmte keine der Messungen. Das Problem konnte ich Lösen, indem ich die LEDs der Lichtschrankenmodule mit geschwärztem Malerkrep abgedeckt habe, so dass nur die Vorderseiten der LEDs frei sind.

  27. Bin begeistert von dem Teil…Respekt was ihr leistet… Und die Videos sehr aufschlussreich..
    Danke hab ihn nachgebaut für H0
    Top.. Danke fürs veröffentlichen

    1. Hallo Thomas,
      Vielen Dank für Dein positives Feedback. Es freut uns sehr wenn wir anderen Modellbahnern mit unseren Tips & Tricks helfen können

  28. Super Projekt, vielen Dank!!  funktioniert tadellos!! Ich hab mir gleich 2 gebaut. Eine 50 cm Strecke und ein kleines Teil für die „Tasche“.

    lg aus Wiener Neudorf / AT

    Wolfgang

  29. Ich habe das Ganze heute mal ausprobiert und bin auf ganzer Linie gescheitert. Ich hab eure Angaben zum Nano in das Amazon Suchfenster kopiert und dabei ist der hier https://www.amazon.de/gp/product/B01I5K3WEM/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 herausgekommen. Was ich nicht wusste, das man noch irgendwelche Treiber installieren muss, denn wenn ich ihn an das USB anschließe leuchtet eine LED orange, die andere blinkt orange. Im Moment suche ich noch nach den Treiber.

    Es gibt auch eine Falle beim Monitor (der auch als Foto bei euch auf der Seite ist) da sind die Anschlüsse „GMD“ und „VCC“ vertauscht. Es besteht also die Gefahr, das man den falsch anschließt, weil die Schrift wirklich mikrokopisch klein ist und wer da nicht die richtige Brille auf hat…  😉

    1. Hallo Mario
      Danke für deine Erklärungen an dieser Stelle. Das Treiberproblem ist mir selbst erst seit wenigen Wochen bekannt. Beim Bau trat es nicht auf bei mir. Es gibt wohl einen bestimmten Chipsatz (einer von mehreren auf dem Markt), welcher dieses Problem verursacht. Mir wurde berichtet dass die in Verbindung mit Win10 als Betriebssystem der Fall ist. Hatte ich selbst aber damals beim Bau nicht. Dieser Fehler tritt also nicht zwangsläufig auf, ist dann aber leider sehr ärgerlich.

      Das 2. ist lästig, das kenne ich. Bei verschiedenen Displays können auch die Kontakte vertauscht sein. Z.B. bei meinem 0,96″ und 1,3″ sind die beiden Kontakte vertauscht. Das Sehe ich aber nicht als Fehler, man muss eben immer die beschriebenen Kontakte miteinander Verbinden. Ich kann nicht garantieren dass sich diese bei allen Herstellern an der selben Stelle befinden.

      Der Arduino und das Zubehör sind OpenSource und können frei nachgebaut werden. Daher existieren duzende Bauformen auf dem Markt, welche gelegentlich in Feinheiten unterscheiden können.

      Viele Grüße
      Jörg

  30. Привет валерий
    Мне пришло твое письмо, но я не могу написать тебе, потому что твой почтовый адрес не сработал. Поэтому я надеюсь, что вы можете прочитать это здесь на нашем сайте.

    Надеюсь, я правильно перевел ваш вопрос. На мой взгляд, ваша проблема – это библиотека для вашего дисплея. Если ваш дисплей показывает вам информацию, но не завершен, вам нужна другая библиотека для вашего типа отображения. Вы можете использовать эту библиотеку здесь, только чтобы узнать, какая библиотека вам действительно нужна. https://www.youtube.com/watch?v=bH-BW6gTnGI

    U8glib – это компиляция многих библиотек отображения. Вы можете попробовать другой, удалив знаки комментария „//“

    Таким образом, вы можете узнать, что хорошо работает с вашим дисплеем. Помните, мой код для 128x64px, ваш дисплей требует того же разрешения.

  31. Hallo Jörg (ich nahme mal an, dass das Dein Name ist),

     

    ich habe mir das Moba-Speed nachgebaut und in meinen kleinen Testkreis fest eingebaut. Dazu habe ich die beiden Lichtschranken unter den Gleisen eingebaut und lasse durch Schlitze zwischen zwei Schwellen die Fahrzeuge von unten registrieren, Funzt super.

     

    Da ich auch sehr langsame Geschwindigkeiten messen wollte, habe ich den Sketch dahingehend modifiziert, dass die nächste Messung erst gestartet wird, wenn der zweite Messpunkt mindestens zwei Sekunden frei ist. Dadurch werden eventuelle Unfugsmessungen gut verhindert. Gleichzeitig wird die Anzeige dahingehend geändert, dass nach Überfahren des Startpunktes eine Messung läuft. Wenn Du Interesse hast, kann ich Dir den Sketch ja mal zukommen lassen.

     

    Grüssle aus dem Schwabenländle

     

    Bernhard

    1. Danke Bernhard
      für deinen Kommentar und Interesse. Ich würde deinen geänderten Sketch auch gerne hier mit veröffentlichen als Alternative. Falls das für dich Okay ist dann kannst du mir diesen gerne an info@n-modellbahn.de mailen.

      Viele Grüße
      Jörg

  32. Vielen Dank für den umfassenden Artikel.

    Damit bin ich in die Welt der Arduinos eingestiegen. Es gab zwar einen Stolperstein beim Anschluss des Arduinos aus Fernost, aber den Treiber für den CH340G Chip habe ich gefunden. Am Display fehlen zwar noch die PINs, aber Euer Sketch läuft schon mit dem Serial Monitor. Inzwischen wurde der Sketch noch für zwei Schalter erweitert. Der eine ist zur Umschaltung zwischen den Maßstäben TT und H0, und der andere zur Anzeige von km/h oder MPH.

    Weitere Projekte liegen vor mir. Einmal das Schalten der Signale und der entprechenden Polarisation einer 3-gleisigen ebenerdigen Gleiskreuzung (die US-Bahn eben, bei uns gibt es dies nur bei der Straßenbahn) auf Knopfdruck und zum anderen eine Gleiswaage (Stichwort: Load Cell).

    Viele Grüße Mirko

    1. Hallo Mirko,

      danke für dein Interesse. Freut mich sehr dass du da auch so selbstständig das ganze für deine Zwecke weiter entwickelst. Die Umstellung auf mph war für mich nicht so interessant aber das switchen zwischen den Maßstäben wollte ich auch selbst bei Gelegenheit noch einbauen. Zumindest für 2 oder 3 Maßstäbe sollte das kein Problem sein, bei mehr braucht man dann etwas aufwendigere Schalter.
      Falls auch du Interesse daran hast, deine Modifikation des Sketches öffentlich mit anderen zu teilen, so kannst du mir den Sketch gerne an info-@modellbahn.de schicken. Ich werde ihn dann hier mit veröffentlichen als Alternative.

      Viele Grüße
      Jörg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Translate »