Tutorial Arduino programmieren,

Antworten
Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Einen Arduino Nano bekommt man für 2€.
Ich habe bis jetzt gute Erfahrung mit diesen Chinesen gemacht. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Marc »

Ich habe schon zwei Programmer.
Habe einfach nur für den Atmega328 ein File (Demo) das man in den AVR schreiben könnte könnte.

Das Umstellen auf was anderes Atmega8 oder Atmega644 hat bei mir noch nicht funktioniert.
Will einfach von etwas ausgehen das erstmal funktioniert.
Nachher die Feinheiten.
Good code comes from experience, experience comes from bad code.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich habe folgende Schaltung nachgebaut, bis jetzt konnte ich alle meine ATtiny und ATmegas damit flashen.

Eigentlich müsste dies auch mit Lazarus funktionieren, wen man das averdude-Kommando anpasst.

https://flazer.de/blog/14/arduino-atmel-flash-station
Zuletzt geändert von Mathias am Mi 18. Okt 2017, 20:22, insgesamt 2-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Marc
Lazarusforum e. V.
Beiträge: 208
Registriert: Fr 11. Nov 2016, 14:09
OS, Lazarus, FPC: Linux Mint 20 (WinXP VBox)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Marc »

Hallo Mathias
Danke dafür.
Habe ich schon gesehen. Aber muss auch mal ohne basteln gehen.
Ich habe ja zwei Programmer. Die müssen laufen.
Zwischenzeitlich kämpfe ich gerade mit dem SPI (andere Baustelle).
Good code comes from experience, experience comes from bad code.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich habe folgende Schaltung nachgebaut, bis jetzt konnte ich alle meine ATtiny und ATmegas damit flashen.

Eigentlich müsste dies auch mit Lazarus funktionieren, wen man das averdude-Kommando anpasst.

https://flazer.de/blog/14/arduino-atmel-flash-station

Ich habe es probiert, es funktioniert. Siehe hier: viewtopic.php?f=9&t=11139
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich habe das Tutorial noch um ein Project für Serielle Ein/Ausgabe ergänzt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »


Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Du warst ja in der Nacht richtig fleissig. :shock:

Zuerst habe ich mich verwundert, das du Labels deklariert hast.
Aber so was scheint beim AVR ohne Deklaration nicht zu gehen, dies geht scheinbar nur beim PC.
Wieso auch immer ?

Code: Alles auswählen

  asm
    @start:
    nop
    jmp @start
  end;

Aber dies ist immer noch viel besser als das Gewurschtelt bei bei Arduino-C++:

Code: Alles auswählen

  asm("lds r24, (wert1) \n\t"
      "mov r0, r24 \n\t"
      "lsl r0 \n\t"
      "rol r24 \n\t"
      "sts (wert1), r24 \n\t"
      );


Nach was anderes, wie findet man deine Tutorials, wen man den direkten Link nicht kennt ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

Mathias hat geschrieben:Nach was anderes, wie findet man deine Tutorials, wen man den direkten Link nicht kennt ?


Das ist im Wiki echt ein Problem. Ich lasse alle Beiträge zum AVR mit "AVR Embedded" anfangen, dann funktioniert wenigstens die Suche danach.

Allerdings ist bei mir immer "Seite" als default gesetzt, wenn ich also einfach "AVR" eingebe und Enter drücke, kommt nur die Seite "AVR".

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich habe das Wiki irgendwie anders als du hingekriegt, ich habe einfach auf folgender Seite einen Link erstellt und dann habe ihc ein Leeres Wiki-Fenster bekommen.
http://wiki.freepascal.org/Lazarus_Docu ... ntwicklung
Ansonsten habe ich keinen anderen Weg gefunden für das Wiki.

Irgendwie fehlt ein richtiges Inhalts-Verzeichnis.

PS: Ich habe mein Wiki noch ein bisschen ergänzt. Am Ende habe ich noch Infos zu ATtiny und averdude geschrieben.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

Mathias hat geschrieben:Ich habe das Wiki irgendwie anders als du hingekriegt, ich habe einfach auf folgender Seite einen Link erstellt und dann habe ihc ein Leeres Wiki-Fenster bekommen.

Na ich bin ja blöd: Natürlich kann man das Inhaltsverzeichnis auch editieren.

Ich würde das aber oben bei den Tutorials eintragen und nicht bei den Benutzerhandbüchern.

Mathias hat geschrieben:Ansonsten habe ich keinen anderen Weg gefunden für das Wiki.

Du kannst auch den Titel für Deinen Beitrag in die Suche eingeben, genau so wie er später erscheinen soll. Wenn er noch nicht existiert, schlägt Dir die Suche vor einen Beitrag mit diesem Titel zu erstellen.

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

Ich hab jetzt mal 2 Unterpunkte zu Tutorials zugefügt: Embedded AVR und Raspberry Pi, da würde ich die Beiträge sammeln.

Wem das nicht gefällt, der kann sich ja melden. Mal sehen ob es sich lohnt, dazu noch englische Übersetzungen zu machen.

Benutzeravatar
kupferstecher
Beiträge: 418
Registriert: Do 17. Nov 2016, 11:52

Re: Tutorial Arduino programmieren,

Beitrag von kupferstecher »

Timm Thaler hat geschrieben:Ich hab jetzt mal 2 Unterpunkte zu Tutorials zugefügt

Du warst ja richtig fleißig. Gute Beiträge!

Um die Übersichtlichkeit etwas zu halten, würde ich vorschlagen die Artikel umzubenennen von "AVR Embedded" in "AVR Embedded Tutorial", also z.B. "AVR Embedded Tutorial - SPI". Und dann eine Seite "AVR Embedded Tutorial" als Hauptseite für das Tutorial, mit Verlinkung auf alle Unterthemen als Inhaltsangabe. Die Hauptseite kann dann wieder im (englischen) AVR Hauptartikel verlinkt werden. So hat man eine gewisse Hierarchie und es sollten alle Artikel gut zu finden sein. Wenn ihr der Sache zustimmt versuche ich mich an dem 'Umbau'.

Viele Grüße

Edit: Ich würde auch gerne Mathiass Artikel "Arduino und Lazarus" umbauen und aufsplitten in einen Artikel "AVR Embedded Tutorial - Building the Crosscompiler" und in einen Artikel "AVR Embedded Tutorial - Arduino Hardware". In letzterem stehen dann die Tipps zur Parallelnutzung der Arduino-IDE, Nutzung des Bootloaders usw. Das Tutorial an sich ist aber ja nicht arduinospezifisch.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Edit: Ich würde auch gerne Mathiass Artikel "Arduino und Lazarus" umbauen und aufsplitten in einen Artikel "AVR Embedded Tutorial - Building the Crosscompiler" und in einen Artikel "AVR Embedded Tutorial - Arduino Hardware".
Ich will dies nicht spitten, bei diesem Tutorial geht es um dein Einstieg in die Arduino/AVR-Welt mit Lazarus.

Bei der Arduino-IDE ist es auch so, mit der Grundeinstellung, kann man einfach mal Arduinos programmieren.
Für nackte AVRs, braucht es dann auch spezielle Erweiterungen (json-dateien).

Um die Übersichtlichkeit etwas zu halten, würde ich vorschlagen die Artikel umzubenennen von "AVR Embedded" in "AVR Embedded Tutorial", also z.B. "AVR Embedded Tutorial - SPI". Und dann eine Seite "AVR Embedded Tutorial" als Hauptseite für das Tutorial, mit Verlinkung auf alle Unterthemen als Inhaltsangabe.
Das fände ich auch gut, dann könnte man zuoberst das Einstiegertutorial nehmen, und weiter unten kann man dann Detail-Programmierung machen.

Mal sehen ob es sich lohnt, dazu noch englische Übersetzungen zu machen.
Da muss ich wohl passen, da ich nur englisch mit Google kann. :oops:
Wen aber Jemand Lust hat, der kann gerne mein Tutorial übersetzten :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
kupferstecher
Beiträge: 418
Registriert: Do 17. Nov 2016, 11:52

Re: Tutorial Arduino programmieren,

Beitrag von kupferstecher »

Mathias hat geschrieben: Ich will dies nicht spitten, bei diesem Tutorial geht es um dein Einstieg in die Arduino/AVR-Welt mit Lazarus.

Bei der Arduino-IDE ist es auch so, mit der Grundeinstellung, kann man einfach mal Arduinos programmieren.
Für nackte AVRs, braucht es dann auch spezielle Erweiterungen (json-dateien).

Die einzigen beiden Unterschiede zur AVR-Programmierung im Allgemeinen, welche mir jetzt einfallen, ist zum Einen der Arduino Bootloader, welcher auf normalen AVRs von Haus aus nicht drauf ist, und zum Anderen die Möglichkeit per Arduino-IDE die Fuses einzustellen und die Hex hochzuladen.

Der Artikel wie er jetzt ist, hängt halt irgendwie in der Luft. Es wird nur auf den einen Arduino eingegangen, es gibt ja auch noch solche mit STM32 als Controller. Außerdem bräuchte man das exakt gleiche Tutorial auch noch für AVRs im Allgemeinen. Controller darf ja der Mega328 sein, das beisst sich erstmal nicht. Zwei gleiche Artikel zu führen, die sich nur in ein paar Punkten unterscheiden, befürworte ich definitiv nicht. Es würde sich dann schnell die Frage stellen, "welcher gilt jetzt?".

Mathias hat geschrieben:Für nackte AVRs, braucht es dann auch spezielle Erweiterungen

Das ist ja beim FPC nicht der Fall. Letztlich programmierst du deinen Arduino ja wie einen "nackten" AVR.

Antworten