aduinopromini
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung | |||
| aduinopromini [2016/09/11 21:26] – noone | aduinopromini [2017/10/16 23:43] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====Arduino Pro Mini programmieren mit Arduino Uno==== | ||
| + | Ganz wichtig!!! Ihr braucht unbedingt eine Stromversorgung die konstant die richtige Spannung (3,3 V bzw. 5 V, je nach Ausführung des Arduino), sonst könnte es sein, dass Ihr Euren Pro Mini schrottet. Die USB-Buchse Eures Computers liefert je nach USB-Port eine Spannung, die darüber liegt. Benutzt Ihr die 5V-Variante, | ||
| + | |||
| + | Folgende Übersicht zeigt Euch die Spannung und die Stromstärke an, die Euer USB-Port bereitstellt. | ||
| + | |||
| + | |4,40 V bis 5,50 V|Low Powered Port|(100 mA)| | ||
| + | |4,75 V bis 5,50 V|High Powered Port|(500 mA)| | ||
| + | |4,45 V bis 5,50 V|USB 3.0-Port|(900 mA)| | ||
| + | |||
| + | Ihr könnt nun entweder zwei AA(A)-Batterien als Stromquelle nehmen, dann habt Ihr eine Spannung von rund 3 Volt, oder Ihr baut Euch einen kleinen Spannungsregler auf einem Breadbord auf, oder lötet gleich einen auf eine Lochrasterplatine (üben, üben, üben :-) ), wenn Ihr regelmäßig 3.3 V Mikroprozessoren auf dem Breadboard programmieren möchtet. | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | ===Programmieren mit dem Arduino Uno als Programmer=== | ||
| + | |||
| + | Im Internet gibt es so viele Anleitungen die alle darauf abzielen, dass man auf seinem Uno den Prozessor runtermacht – so fern man wie ich einen mit DIP-Sockel hat und den man im Gegensatz zu den SMD-Versionen auch runtermachen kann, aber das ist irgendwie gar nicht nötig. Wir gehen genau so vor, als würden wir einen ATtiny programmieren mit einem Uno und reißen ihm nicht seinen Prozessor von der Platine. | ||
| + | |||
| + | Als erstes müssen wir jetzt wissen, wo auf unserem Uno die entsprechenden Datenleitungen sind die wir benötigen. Das wären MOSI, RESET, SCK und MISO. So wie natürlich +3.3 V und GND. | ||
| + | Arduino-Uno-R3-Pinbelegung | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Parallel das Pinout zum Pro Mini: | ||
| + | |||
| + | ProMini-Pinout | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Somit ergibt sich folgende Belegung: | ||
| + | ^ ^Arduino Uno^Arduino Pro Mini^ | ||
| + | |MOSI|Pin 11|Pin 11 | | ||
| + | |RESET|Pin 10|RST | | ||
| + | |SCK|Pin 13|Pin 13 | | ||
| + | |MISO|Pin 12|Pin 12 | | ||
| + | |Spannung|3.3V/ | ||
| + | |Masse|GND|GND | | ||
| + | |||
| + | Haben wir auf unserem Uno noch kein ArduinoISP-Programmer-Sketch aus den Beispielen hochgeladen, | ||
| + | Hierzu öffnen wir den Sketch unter „Datei“ -> „Beispiele“ -> “11.ArduinoISP“ -> „ArduinoISP“ und übertragen ihn wie gewohnt per USB auf unseren Uno. Jetzt ist er bereit und kann weitere Chips programmieren. | ||
| + | |||
| + | Jetzt können wir unser Breadboard mit dem Pro Mini drauf mit dem Uno verbinden. Achtet darauf, dass Ihr die richtige Spannung nehmt. | ||
| + | |||
| + | Hier brauchen wie definitiv einen Elektrolyt-Kondensator mit einem Wert von rund 10 µF den wir zwischen GND und dem Reset-Pin des Arduinos setzen. Unbedingt auf Polarität achten! GND = Minus, Reset = Plus. | ||
| + | Als ich die Schaltung ohne ELKO verwenden wollte, kam es beim Hochladen eines Sketches immer zu folgender Fehlermeldung: | ||
| + | |||
| + | Problem beim Hochladen auf das Board. Hilfestellung dazu […] | ||
| + | avrdude: stk500_recv(): | ||
| + | avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x70 | ||
| + | |||
| + | Abschließend verbinden wir unseren Arduino mit dem USB-Kabel mit dem Computer und laden das Standard-Blink-Sketch wie hier aufgeführt: | ||
| + | void setup() { | ||
| + | // initialize digital pin 13 as an output. | ||
| + | | ||
| + | } | ||
| + | // the loop function runs over and over again forever | ||
| + | void loop() { | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | |||
| + | Bevor wir unser Sketch auf den Pro Mini hochladen können, müssen wir in der IDE „Werkzeuge“ anklicken und wählen als „Board“ das „Arduino Pro or Pro Mini“ aus. Als „Processor“ den „ATMega328 (5 V, 16 MHz)“ | ||
| + | Der „Port“ ist egal, aber bei „Programmer“ müssen wir „Arduino as ISP“ auswählen. | ||
| + | |||
| + | Nun laden wir unseren Sketch hoch, verwenden dafür aber entweder unter „Sketch“ den Menüpunkt „Hochladen mit Programmer„, | ||
| + | |||
| + | Wenn alles fehlerfrei kompiliert und hochgeladen wurde, stellen wir etwas ungewöhnliches fest: Auf dem Uno und auf dem Pro Mini blinken die LED synchron. Das liegt aber nur daran, dass ja beide Prozessoren mit dem Pin 13 verbunden sind. Euer Sketch ist nicht auf dem Uno gelandet, sondern auf dem Pro Mini. | ||
| + | |||
| + | Abschließend trennen wir nun den Uno vom Pro Mini und versorgen diesen mit einer externen Stromquelle. Ich habe hierzu wieder meinen Spannungswandler genommen, an dem ich eine 9 V-Blockbatterie dranhängen habe. Diese werden für den Pro Mini auf 3.3 V umgewandelt und wir sehen, dass unser Blink-LED-Sketch auch ohne angeschlossenen Arduino Uno als Programmer wieder läuft. | ||
| + | |||
| + | Man braucht immer einen Programmer, wenn man „nackte“ Prozessoren programmieren will. Dabei ist es gleich, ob wir den Arduino verwenden und ihn mit einem Sketch zu einem Programmer umfunktionieren, | ||
| + | |||
| + | [[http:// | ||
