Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
arduino:arduinosps [2021/06/18 12:03] – [Download] admin | arduino:arduinosps [2024/09/06 07:11] (aktuell) – admin | ||
---|---|---|---|
Zeile 87: | Zeile 87: | ||
</ | </ | ||
===== Einschränkungen ===== | ===== Einschränkungen ===== | ||
- | Ein Mischbetrieb von Servo und PWM (z.B. PWM.1 und Servo.2) ist leider nicht möglich, da sich die beiden gegenseitig beeinflussen. Also entweder Servounterstützung oder PWM. | + | Ein Mischbetrieb von Servo und PWM (z.B. PWM.1 und Servo.2) ist leider nicht möglich, da sich die beiden gegenseitig beeinflussen. Also entweder Servounterstützung oder PWM. Auch die Ton-Ausgabe ist hiervon betroffen, da der Ton auf dem Servo 2 (PWM 2) Ausgang liegt. |
===== Hardwareentsprechungen ===== | ===== Hardwareentsprechungen ===== | ||
Zeile 103: | Zeile 103: | ||
die zusätzlichen Ein/ | die zusätzlichen Ein/ | ||
^ Bezeichnung ^ Arduino Pins ^ | ^ Bezeichnung ^ Arduino Pins ^ | ||
- | | RC1,2 | D17,18* (A3,4) | | + | | RC1,2 | D18, D19* (A4,A5) | |
- | | Servo1,2 | D9,10 | | + | | Servo1,2 | D9, D10 | |
| Tone | D10 | | | Tone | D10 | | ||
+ | | TM1637 Data, CLK | D12, D13 | | ||
*neben den üblichen 13 Pins des Arduinos können auch die analogen Eingänge (A0..5) als digitale Pins verwendung finden. Diesen werden einfach der Reihe nach weiter gezählt. D.h. A0 = D14, A1 = D15 ... A5 = D19 | *neben den üblichen 13 Pins des Arduinos können auch die analogen Eingänge (A0..5) als digitale Pins verwendung finden. Diesen werden einfach der Reihe nach weiter gezählt. D.h. A0 = D14, A1 = D15 ... A5 = D19 | ||
Zeile 113: | Zeile 114: | ||
{{: | {{: | ||
- | ===== Befehlssatz ===== | + | {{page>arduino: |
- | Die gelb unterlegten Bereiche sind die Erweiterungen meiner ATTiny_TPS und der Arduino_TPS Version. In eckigen Klammern stehen jeweils die entsprechenden Mnemonics des [[arduino: | + | |
- | + | ||
- | < | + | |
- | <table width=" | + | |
- | < | + | |
- | <tr valign=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | </ | + | |
- | </ | + | |
- | < | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | Zus. Features in der Arduino_TPS Version: | + | |
- | + | ||
- | * Es gibt 2 zus. Register (E und F) | + | |
- | * und es gibt einen Kellerstapel mit den 2 Methoden push (auflegen) und pop (runter nehmen). In dem Stapel haben 16 Werte Platz. | + | |
- | * Weiterhin gibt es 2 neue Berechnungen, | + | |
- | * Ab Version 0.6 ist auch noch der Swap Befehl hinzugekommen, | + | |
- | * Und eine neue Berechnung A = B - A. Gerade wenn man sich im 8-Bit Raum aufhält ist es manchmal recht umständlich, | + | |
- | * ab Version 11 gibt es nun auch Shift Operationen. Diese verschieben den Inhalt des Registers A entwedernahc links SHL (was eine Multiplikation mit 2 entspricht) oder nach rechts (SHR). Das wäre dann eine Division durch 2. **Achtung: zwar befinden wir uns hier im 4Bit Raum, diese Operationen sind aber 8 Bit fähig.** | + | |
- | + | ||
- | + | ||
- | < | + | |
- | <table width=" | + | |
- | < | + | |
- | <tr valign=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | <th width=" | + | |
- | </ | + | |
- | </ | + | |
- | < | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | Jump # + (16*page)< | + | |
- | < | + | |
- | Jump # + (16*page)< | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | <tr valign=" | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <td bgcolor="# | + | |
- | <td bgcolor="# | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | Zus. Features in der Arduino_TPS Version: | + | |
- | + | ||
- | * Weil wir genug EEPROM haben ist der Page Bereich auf 16 Seiten ausgedehnt. Macht also ins. 256 Bytes | + | |
- | * Beim Skip gibt’s noch den A=0 Befehl. | + | |
- | * Über die E Befehle können nun auch 6 echte Unterprogramme angelegt werden. Diese werden über den Befehl Def# angelegt. Mit Call# wird die Routine angesprungen. Mit Return kommt man zurück. Die Def# dürfen auch oberhalb der 256 Bytes im EEPROM liegen. Also auch ausserhalb der Reichtweite der Sprungbefehle. | + | |
- | * Neu ist auch der Restartbefehl, | + | |
- | * Im Bereich F sind Befehle hinterlegt, die mit 8 Bit Auflösung arbeiten. | + | |
- | * FF bedeutet Programmende. → automatischer Sprung nach 0. | + | |
- | * **NEU** Tone Befehl: gibt einen Ton aus. Basis sind die Midinoten. Es werden die Midi Noten von 36 (C2) bis 108 (C8) unterstützt. Ausgang ist der PWM 2. Basis ist das A-Register als 8 Bit Wert. | + | |
- | + | ||
- | Und nun viel Spass mit dem Arduino.\\ | + | |
- | Achja, wie immer alles ohne Gewähr...\\ | + | |
- | Und nun noch ein kleiner Testaufbau: | + | |
- | {{: | + | |
===== InField Programmierung ===== | ===== InField Programmierung ===== | ||
Zeile 605: | Zeile 166: | ||
[[https:// | [[https:// | ||
+ | ===== Schlusswort ===== | ||
+ | Und nun viel Spass mit dem Arduino.\\ | ||
+ | Achja, wie immer alles ohne Gewähr...\\ | ||
+ | Und nun noch ein kleiner Testaufbau: | ||
+ | {{: | ||