Jan_von_neben_an hat geschrieben: ↑23.02.2019, 09:38
Also mit der Arduino IDE und den ISP tut das schon mal nicht.
Also installiere ich mal Atmel Studio
Bin mir nicht sicher, ob das eine Gute Idee ist, Den Aufwand musst du sicher nicht treiben. Mit folgender Vorgehensweise hat es bei mir auf Anhieb geklappt (verzichte mal auf Bilder, weil ich auf dem Mac arbeite und da gibt es leichte Unterschiede):
1. ISP in der Arduino IDE konfigurieren - falls nötig.
Ich arbeite mit einem DIAMEX-AVR, da müssen einige Einträge in der programmers.txt gemacht werden
2. Board, Prozessor, Port konfigurieren
Wenn du den Arduino Pro Mini als Board und den Prozessor wie im Bild einstellst, kannst du dir die Board-Installation sparen, der pro Mini sollte von haus aus drin sein.
Als Programmer natürlich den von dir verwendeten Programmer eintragen.
Und natürlich den Port, an dem der Programmer hängt, bei dir sicher irgend ein Com-Port
3. Programmer an ISP header der Platine anstöpseln
Und den letzen Eintrag "Bootloader brennen" (siehe Bild) wählen.
Der Bootloader ist bereits in der Arduino IDE enthalten, Fuses werden bei dieser Vorgehensweise automatisch nach eingestelltem Board/Prozessor gesetzt (glaube ich jedenfalls).
Ausgabe in Arduino IDE sollte mit:
Code: Alles auswählen
avrdude: verifying ...
avrdude: 928 bytes of flash verified
avrdude done. Thank you.
enden.
4. Programmer abstöpseln
5. USB to TTL converter anschließen
Das muss ein 3,3V Typ sein, oder er muss sich auf 3,3V einstellen lassen.
Verkabelung:
Code: Alles auswählen
Ventil-Board USB-TTL
GND (am ISP_header) GND
Tx Rx
Rx Tx
6. In Arduino IDE den Port ändern
Weil dein USB-TTl Teil wahrscheinlich einen andern Com Port hat
7. Ventil Board mit 9V versorgen (inks unterhalb des Quarzes)
8. Kleinen Test-sketch hochladen
Lade zu Test mal ein kleines Testscript hoch:
Code: Alles auswählen
#define LED_PIN 4
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_PIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_PIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Hinweis:
Bei Begin des Flashvorgangs (an dieser stelle meckert AVRdude noch), das Board kurz resetten. Dazu
die beiden Pins unterhalb von Rx/Tx kurz Brücken. Danach startet der eigentliche Flashvorgang. Am besten lötet man sich da einen kleinen Taster ein.
Nach erfolgreichem Flash sollte die LED rechts oberhalb des Quarzes munter vor sich hinblinken.
Das hat bei mir genau so funktioniert.
Wenn alles klappt kann es mit dem Originalsketch weitergehen. (hab ich aber noch nicht drauf)
Gruß
rewe0815