Hello liebes Forum. So, Ich habe mir bei Reichelt einen Atmega 16-16PU bestellt. Von diesem aus möchte ich Später ein paar Taster und nen Display anschließen, und dies über die Arduino IDE programmieren. Einen Arduino Duemilanove habe ich auch hier, da ich, wie auf mehreren Seiten (hier im Forum, http://www.arduino.cc/en/Main/Standalone und weitere) beschrieben, den ATmega 16 flashen will. Es gibt da nur ein Problem: In WinAVR und in der Arduino IDE ist immer nur die Rede von dem ATmega 168. Ich habe das ArduinoISP-Programm auf den Duemilanvove Gespielt, dann avrdude zum flashen gestartet. Die Commandoargumente habe ich von dieser Website: http://tbspace.de/?id=12 . Ich habe alles so gemacht, wie bei dem dazugehörigen Youtubevideo: http://www.youtube.com/watch?v=IRjEqaDbwXs . Bei dem FuseBits setzen, bekomme ich eine Fehlermeldung, dass der eFuse 0 war und jetzt 1 ist. wenn ich dann y zum bestätigen des ändern des Fusebits drücke, hängt sich das Programm auf.. Naja, dann habe ich den 2. Befehl des flashens erfolgreich abgeschlossen, das USB-Kabel in den Standalone-Arduino gesteckt und wollte das Programm "Blink" aufspielen, dabei gab es dann wieder eine Fehlermeldung: avrdude: stk500_getsync(): not in sync: resp=0x00. Im Internet wird der ganze Vorgang immer nur mit dem Atmega 168 oder 328 beschrieben, nicht mit dem 16. Gibt es eine Möglichkeit dies auch mit dem 16 zu machen, habe ich irgendetwas übersehen, oder muss ich mir doch noch den 168 anschaffen? (Ich habe mich für dem 16 entschieden, da dieser mehr IO-Ports hat, der 168 hätte zu wenig..) Ich bin grad ratlos, was ich nun tun soll. Im Anhang habe ist noch ein Bild von meinem Aufbau, daran sollte aber eigentlich nix sein. LG scooter757
ICh habe es zwar noch nicht probiert, aber wenn man den diversen Threads glauben darf, dann funktioniert das Programmieren über den Arduino nur mit den angegebenen Kontrollern. Du kannst den Mega16 mit dem Arduino Bootloader versehen und dann dein Programm mit der Arduino IDE draufspielen. Du brauchst allerdings einen ISP-Programmer dazu.
@Hubert G. Bist du sicher das der Arduino Bootloader auf einem Mega16 läuft? Ich bin mir da nicht so sicher.
Jojo schrieb: > Bist du sicher das der Arduino Bootloader auf einem Mega16 läuft? Da war ich wohl zu optimistisch, geht mit großer Wahrscheinlichkeit nur auf den Kontoller die in einem Arduino-Board verbaut sind.
Hmm.. ok, werde mir wohl dann noch entweder einen ATmega 168 oder 8 kaufen müssen... Die haben aber zuwenig IO-Pins.. brauche 7 für ein Display und 6 oder 8 Eingänge für Schalter und RXD/TXD zur Kommunikation mit deinem PC.. Hat irgendjemand ein Vorschlag, wie ich das am besten machen könnte? (Vielleicht die schalter über analog..?) Danke, scooter757
Wie wäre es den atmega direkt in C zu programmieren? Nur ein Display und ein paar Schalter, dafür braucht man doch keine riesen Library. PHil
Phil schrieb: > Wie wäre es den atmega direkt in C zu programmieren? > > Nur ein Display und ein paar Schalter, dafür braucht man doch keine > riesen Library. > > > PHil Wenn er das könnte wäre er kein Arduino Nutzer. Wenn ich schon lese: > Arduino Duemilanove Begriffe von Deppen für Deppen.
Finn Stutzenstein schrieb: > Hmm.. ok, werde mir wohl dann noch entweder einen ATmega 168 oder 8 > kaufen müssen... Die haben aber zuwenig IO-Pins.. brauche 7 für ein > Display und 6 oder 8 Eingänge für Schalter und RXD/TXD zur Kommunikation > mit deinem PC.. Hat irgendjemand ein Vorschlag, wie ich das am besten > machen könnte? (Vielleicht die schalter über analog..?) > > Danke, scooter757 Der ATmega168A hat 22 reguläre I/O-Pins, das sollte doch eigentlich reichen... Wahrscheinlich werden die Pins beim Arduino-Board nicht alle rausgeführt, aber man kann sie vielleicht trotzdem irgendwie verwenden, wenn man einen Lötkolben benutzt. :-)
cyblord ---- schrieb: >> Arduino Duemilanove > > Begriffe von Deppen für Deppen. http://translate.google.de/#it/de/duemilanove Wirf mal nicht mit Steinen....
Finn Stutzenstein schrieb: > Hmm.. ok, werde mir wohl dann noch entweder einen ATmega 168 oder 8 > kaufen müssen... Die haben aber zuwenig IO-Pins.. brauche 7 für ein > Display und 6 oder 8 Eingänge für Schalter und RXD/TXD zur Kommunikation > mit deinem PC.. Hat irgendjemand ein Vorschlag, wie ich das am besten > machen könnte? (Vielleicht die schalter über analog..?) 7 Pins für ein Display? Erkläre bitte mal genauer, was für ein Display! Also irgendwie ein beispielsweise 1602 LCD-Display in 4-Bit Betrieb mit liquidcrystal-Library (6 Pins) und ein Pin zum Ein- und Ausschalten der Hintergrundbeleuchtung? > und 6 oder 8 Eingänge für Schalter Müssen Schalterkombinationen ausgewertet werden können, von gleichzeitig gedrückten Schaltern? Falls vielleicht einige Schalter nur als "entweder - oder" gedrückte Taster ausgewertet werden brauchen, von denen nur einer zur Zeit gedrückt wird, könnte man ggf. locker bis zu fünf Taster mit verschiedenen Vorwiderständen auf einen einzigen Analogeingang legen und auswerten. Beschreibe doch mal genauer, was für ein Display Du anschließen möchtest und ob unbedingt Mehrfach-Schaltkombinationen ausgewertet werden müssen oder ob es reicht, einzeln gedrückte Taster zu erkennen! Dann mache ich Dir einen Vorschlag, wo Du am besten Eingänge einsparen kannst.
Ich habe ein 16x2 Zeichen Display des Typs Displaytech 162A. 4Bit + RW, RS, E, 7 Ausgänge/Eingnge von ATmega. Außerdem möchte ich ein 4 Wege Joystick anschließen. Die gegenüberliegenden Richtungen können also nie gleichzeitig betätigt werden --> die Idee mit dem Vorwiderständen ist super ;). Dazu noch 2 oder 4 Taster zusätzlich an den µC. Diese könnte ich über die anderen 4 analog-Eingänge auslesen.. Dann würde alles passen. Ich werde jetzt bei zeichelt nen neuen µC bestellen + ein bisschen Kleinkrams. Bin gespannt ob das alles funktioniert :) LG scooter757
Finn Stutzenstein schrieb: > Ich habe ein 16x2 Zeichen Display des Typs Displaytech 162A. 4Bit + RW, > RS, E, 7 Ausgänge/Eingnge von ATmega. Also ein Standard 1602 LCD Display. Dafür benötigst Du normalerweise nur 6 digitale Ein/Ausgänge. RW wird nur dann benötigt, wenn Du nicht nur Daten auf das LCD schreiben, sondern auch Daten vom LCD lesen möchtest. Oder wenn das "Busy-Flag" gelesen werden soll, ob die Abarbeitung eines Befehls auch abgeschlossen ist. Wenn Du aber ein delay von 50 Mikrosekunden einfügst, kannst Du den Anschluss von RW einsparen. Freilassen oder auf Ground legen. Und mit noch einem I/O könntest Du eine eventuell vorhandene Hintergrundbeleuchtung ein/ausschaltbar machen. Muss ja vielleicht auch nicht sein. Also 6 Pins benötigt im Normalfall. Wenn Du nun aber statt eines "Standard 1602 LCD" ein "I2C Serial 1602 LCD" verwendest, brauchst Du vier Leitungen weniger. Wäre dann allerdings anders anzusteuern. Es gibt entweder gleich fertige "I2C Serial 1602 LCD" zu kaufen, oder man kann mit einer kleinen Huckepack-Platine ein Standard-LCD zum I2C-Serial-LCD umbauen. Erhältlich vom China-Versender, z.B. eBay Artikelnummer: 130748113121 Macht bei Verwendung: 4 digitale I/O eingespart, nur 2 werden benötigt. Die Ansteuerung des LCD muss dann aber über I2C erfolgen, nicht mehr mit der LiquidChrystal Library. Siehe auch: http://arduino.cc/playground/Code/LCDi2c > Außerdem möchte ich ein 4 Wege Joystick anschließen. > Die gegenüberliegenden Richtungen können also nie > gleichzeitig betätigt werden --> die Idee mit dem Vorwiderständen ist > super ;). Hier ist ein Beispiel, wie 5 Buttons mit nur einem Analog-Input angesteuert werden: http://www.instructables.com/id/How-to-access-5-buttons-through-1-Arduino-input/ Oder hier eine Kurzversion: http://rayshobby.net/?p=16 Jeder Button wird quasi mit einem anderen Widerstandswert als Spannungsteiler geschaltet und so kann man beim Drücken jedes Schalters einen anderen Spannungswert am Analogeingang feststellen. D.h. zum Abfragen mehrerer Buttons musst Du immer nur denselben Analogpin abfragen, und ob kein oder welcher Button gedrückt ist, ergibt sich über den ADC-Messwert. Schon wieder einige digitale I/O eingespart und dann sollte die Anzahl bei einem 168 oder 328 auch passen. Wenn Du beide Vorschläge berücksichtigst, dann brauchst Du - für das LCD-Display: 2 digitale I/O - für vier Buttons: 1 analog I/O Damit reicht es dann dicke, oder?
hier: http://arduino.cc/forum/index.php/topic,24336.0.html gibt es eine Liste welche AVRs ganz einfach mit Arduino zu benuten sind.
Hallo, es gibt eine Reihe Arduino-Derivate, die mit den 40-Pin ATMegas arbeiten. Hier ein ATMega32, auf der Seite gibts auch den passenden Bootloader. http://www.sunduino.pl/index.php/sunduino/143-atmega32-i-arduino-rozwiazane Gruß Mark
Sigint 112 schrieb: > cyblord ---- schrieb: >>> Arduino Duemilanove >> >> Begriffe von Deppen für Deppen. > > http://translate.google.de/#it/de/duemilanove > > Wirf mal nicht mit Steinen.... Nur weil ein Wort irgendwas in irgendeiner Sprache bedeutet, kann es als Bezeichnung für etwas trotzdem bescheuert sein. gruß cyblord
So, Ich melde mich mal wieder. ;) Ich (oder eher mein Vater ;) ) bestelle jetzt ein AVRISP mkii, soll ja so der standart-Programmer sein. Das mit dem Flashen etc. wollte ich eigentlich machen um genau dieses "Bauteil" zu sparen. Aber ich ärger mich jetzt nich weiter damit und Programmier einfach in AVR Studio oder irgentwo anders und flashe dann die .hex Datei über AVR Studio. Dann sollte alles funktionieren. Wenn es Probleme gibt, und Google mir nicht helfen kann, schreibe ich nochmal. Danke für die Hilfe, scooter757 :) P.S.: Das hier hörte sich gut an, war leider auf der AurduinoIDE 0011 aufgebaut --> zu alt und der ganze Verlauf etwas verwirrend..
Soo freu Alees funktioneirt, nach einer kleinen eingewöhnung in AVR Studio :) Hab nurnoch eine Frage.. Ich hab einen externen 16Mhz Quarz an dem ATmega dran... Die Fuse SUT_CKSEL ist jetzt auf INTRCOSC_1MH_6CK_64MS --> also der interne 1Mhz Osc.. Jetzt gibt es aber so viele andere.. z.b. EXTRCOSC_XX_0MHZ9_3MHZ_18CK_0MS und weitere.. welche ist denn der ganz normale 16Mhz Quarz?? Aber schon mal danke an euch :) Super Forum;) LG scooter757
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.