Guten Tag zusammen,
es geht bei dem Thema nicht direkt um einen Arduino sondern um einen AtTiny 85, aber ich hoffe hier hat jemand Erfahrung mit ihm. Explizit geht es um das Thema den Arduinio als IPS Programmer für den AtTiny zu benutzen.
An sich kein Problem: Schnell ein wenig gegoogelt und schnell mehrfach die gleiche Möglichkeit gefunden:
(Arduino Board: Uno)
Die Library(??nennt man das so?) für die Kompatibilität der Tiny Boards herunter laden und in den Hardware Order der Arduino IDE kopieren.
Den Sketch "ArduinoISP" aufspielen, als Programmer "Arduino as ISP"auswählen und den Arduino wie folgt mit dem Tiny verbinden:
AtTiny Pin 2 mit Arduino Pin 13
AtTiny Pin 1 mit Arduino Pin 12
AtTiny Pin0 mit Arduino Pin 11
und AtTiny Reset mit Arduino Pin 10
Abschließest dann noch ein 10 µF Kondensator zwischen Arduino Reset und Arduino GND stecken.
Unter "Boards" das Board "AtTiny (internal 1Mhz clock)" auswählen, das "Blink" Beispiel laden, die Pin Definition auf Pin 3 ändern und auf Upload klicken.
Led von AtTiny Pin 3 auf Ground setzen und freuen das alles funktioniert.
Soweit so gut. Allerdings habe ich nun das Problme, dass die LED nur sehr dunkel aufleuchtet und sobald ich die Verbindung von AtTiny Pin 2 zu Arduino Pin 13 entferne ist Pustekuchen mit dem Led Blinken. Die LED bleibt dunkel.
Was mich sehr wundert: Wenn man Ground vom AtTiny entfernt funktioniert immer noch alles.
Hat jemand eine Idee wo das Problem liegt?
Ich habe die Tiny85 nach dieser Anleitung in Betrieb genommen, nutze aber nicht den Arduino als ISP:
In deiner Beschreibung steht nicht, dass du die Versorgungsspannung (5V) angelegt hast - hast du sicher nur vergessen zu erwähnen.
Kannst du mal ein Bild von deinem Aufbau machen? Vielleicht hat sich vielleicht doch ein Fehler eingeschlichen.
audacity363:
Die Library(??nennt man das so?) für die Kompatibilität der Tiny Boards herunter laden und in den Hardware Order der Arduino IDE kopieren.
Der Begriff "Library" beschreibt eigentlich die Software-Bibliotheken, was du meinst wird üblicherweise als Core-Dateien bezeichnet - keine Ahnung, ob es eine bessere deutsche Bezeichnung gibt.
Hallo,
irgendwo muß ich anfangen, daher: Hast Du +5V am '85 angeschlossen? Hast Du zumindest nicht erwähnt.
Ebenfalls erwähnst Du keinen Vorwiderstand für die LED. Welchen Wert hat der?
sth77:
Ich habe die Tiny85 nach dieser Anleitung in Betrieb genommen, nutze aber nicht den Arduino als ISP: High-Low Tech – Programming an ATtiny w/ Arduino 1.6 (or 1.0)
In deiner Beschreibung steht nicht, dass du die Versorgungsspannung (5V) angelegt hast - hast du sicher nur vergessen zu erwähnen.
Kannst du mal ein Bild von deinem Aufbau machen? Vielleicht hat sich vielleicht doch ein Fehler eingeschlichen.
Wenn Du mehr mit den Attinys spielst, dann lohnt es sich wirklich ein Shield zu basteln. Vorallem muss man dann nicht ständig suchen wo, man jetzt zum Kukuk diesen .... 10µF Kondenstor versteckt hat. Denk vieleicht zukunftssicher, und baue daneben gleich noch einen verdrahteten Sockel für einen ATTiny84, falls man mal den einen oder anderen Pin mehr braucht. Mein Shield für diesen Zweck ist ein Prototyping Shield mit kleinem Breadboard und ohne Sockel, da ich mit Sockeln immer die Beinchen verbiege. Aber das wird nie zerlegt, so dass man es immer griffbereit hat, und das Loch wo -Pin1 hinein muss ist mit einem schwarzen Punkt markiert.
Grüße,
audacity363:
Habe zu Testzwecken gar keinen Widerstand dazwischen.
LED und ATtiny würden sich aber bestimmt über einen freuen! Da ich faul bin, nutze ich LEDs mit eingebautem Widerstand, was ich gerade auf dem Steckbrett praktisch finde.
audacity363:
Habe es gerade noch einmal probiert und nun funktioniert alles einwandfrei. Fragt mich bitte nicht woran es lag.
Ich verwende eine kleine Platine mit Nullkraftsockel. Und denke daran, dass es auch größere ATtinys gibt. Mein Liebling ist der '4313 mit 20 Pins, leider nur 4k aber 17 nutzbaren IOs.
Lese gerade Svens Text: Ich nutze einen großen Sockel und setze '85 und '4313 so ein, dass +5V, Reset, MISO und MOSI gleich sind. Den GND-Pin schalte ich mit einem kleinen Schalter um. Der '84 hat eine gänzlich andere Beschaltung, da hilft ein eigener Sockel.
Habe für die gängisten Attiny Controller kleine Platinen ätzten lassen. Auf den Teilen ist überall ein ISP Anschluss sowie Reset Taster vorgesehen sowie die Grundschaltung (PullUp an Reset sowie Kerko an Versorgungspins).
Alle IOs werden im passenden Rastermaß für Steckbretter herausgeführt. Sonderfunktion (zB. UART) ist 4 polig extra noch herausgeführt. Aus "Faulheit" würde ich Leds Niemals direkt an einem Controller Pin anschließen, dass ist einfach grob fahrlässig für MC sowie auch Led. Bei der Wahl der Widerstände stört ein größerer Widerstand nicht. Auch da leuchten die Leds noch ordentlich (solange es keine paar 100kOhm sind).
Leds mit eingebauten Widerstand ist die einzig zulässige Beschaltung für faule! Halte ich selber aber nichts von. Jedem das seine.
agmue:
LED und ATtiny würden sich aber bestimmt über einen freuen! Da ich faul bin, nutze ich LEDs mit eingebautem Widerstand, was ich gerade auf dem Steckbrett praktisch finde.
Meine Tiny Spielereien versorge ich meistens mit einer CR2032 Knopfzelle. Da ist der Innenwiederstand so groß, dass man sich auch die Widerstände sparen kann. Geht dann auch prima mit dem ATTiny84 zusammen auf ein 170 Loch Breadboard.
agmue:
Ich nutze einen großen Sockel und setze '85 und '4313 so ein, dass +5V, Reset, MISO und MOSI gleich sind. Den GND-Pin schalte ich mit einem kleinen Schalter um. Der '84 hat eine gänzlich andere Beschaltung, da hilft ein eigener Sockel.
Die Idee gefällt mir. Mit zwei Sockeln drei Chipfamilien erschlagen.
sven222:
Die Idee gefällt mir. Mit zwei Sockeln drei Chipfamilien erschlagen.
Das freut mich, darum noch eine von mir verwirklichte Idee: Den Nullkraftsockel habe ich mit einem weiteren Sockel verbunden, um diesen mittels Flachbandkabel mit dem Steckbrett zu verbinden. Die vom UNO kommenden Kabel werden mittels analogem Schalter nur bei RESET=LOW mit dem Nullkraftsockel verbunden. Dasselbe mit umgekehrter Logik zwischen Nullkraftsockel und Steckbrett. Beim Programmieren ist der ATtiny mit dem UNO verbunden, sonst mit dem Steckbrett. Ich brauche den ATtiny als nicht aus seiner Fassung zu nehmen.
Hatte ich schon erwähnt, dass ich faul bin?
So, die Adapterplatinchen SO8 auf DIP sind heute gekommen und ich habe eine mit einem Tinny85 bestückt. In der alten IDE 1.0.3 konnte ich den proggen, der Blink Sketch funktioniert.
In der 1.5.8 kann ich die diversen Tinny's auswählen, aber beim Versuch den Bootloader hochzuladen kommen obskure Java-Fehler und beim Veruch einen Sketch hochzuladen hängt er sich auf >:(
Das funzt weder mit dem Arduino as ISP, noch mit dem USBasp. Mit der 1.0.3 geht beides.
Für die 1.0.x und 1.6.x gibt es ja unterschiedliche Zip-Dateien. Nur habe ich keinen Bock auf die 1.6., wer weiß, was dann wieder nicht mehr funktioniert, was vorher ging.
Mit der 1.5.8. kann ich wenigstens den ATMEGA8 auf 8 MHz intern fusen und proggen, so das die Zeiten stimmen. Außerdem funktioniert Udos DCF77 Code. Wer weiß, welche Funktionalität ich dann bestenfalls eintausche/schlimmstenfalls einbüße.
Die IDE ist ein Musterbeispiel für Murphys Gesetz: Neue Software wird neue Fehler produzieren. Neue Software wird auch die alten Fehler wiederholen
Habs nach googeln gefunden. Nach ein bisschen rumprobieren funktioniert es ;D
Hab auch gleich die TinywireM runtergeladen. Ein I2C Display steht quasi mit auf der Wunschliste
nix_mehr_frei:
Kannst du mir mal bitte deinen Link geben?
Gerne, wenn ich ihn denn noch wüßte. Meine Datei README hat 3.183 Bytes mit dem Zeitstempel 7. Dezember 2013, 00:48:20.
nix_mehr_frei:
Hab auch gleich die TinywireM runtergeladen. Ein I2C Display steht quasi mit auf der Wunschliste
Warum nicht gleich auch die TinyWireS? M=Master S=Slave beim Tiny getrennt.
Ich habe ein paralleles LCDisplay, falls Du eins rumliegen hast, mittels '4313 mit I2C ausgerüstet. Dadurch ist die LiquidCrystal.h im '4313 und nicht im Master.
Ich selbst suche noch nach Anregungen, was man mit den kleinen Dingern machen könnte.
Nur so am Rande:
Man kann mehrere Version der Software parallel installieren. und, wenn es sein muss, jede mit verschiedenen Versionen von libs und core dateien versehen. einfach in das Unterverzeichnis von der entsprechenden Programmversion kopieren.
Auf die Gefahr hin, dies wird ein ATtiny-Kompendium: Wenn die "Third party" Meldung stört, im Sketchbook-Speicherort (IDE Voreinstellungen) bei mir F:\Arduino\hardware\tiny\avr\platform.txt diesen Text
agmue:
Ich habe ein paralleles LCDisplay, falls Du eins rumliegen hast, mittels '4313 mit I2C ausgerüstet. Dadurch ist die LiquidCrystal.h im '4313 und nicht im Master.
Ich selbst suche noch nach Anregungen, was man mit den kleinen Dingern machen könnte.
Ist eine Variante, mit dem 4313. Aber da ich ohnehin 15x Displays 20x4 mit 2mm Pin-Abstand und COG (Chip on Glass) habe, die jemand nur gegen Erstattung des Portos loswerden wollte. Habe ich mit dem PCF8574 gleich eine passende Platine dazu, denn bedingt durch die 2 mm Pinabstand kann ich die ohnehin nicht direkt auf Lochraster setzen.
Was die Anregungen zu den kleinen Tinnys betrifft: alles, was mit Krach und Geräuschen zu tun hat. Melodieklingeln, Sirenen... Dann z.B. als Mittler zwischen einem Bewegungsmeldermodul HC-SR501 und einem Logic Level FET oder einem SSR. Das PIR Modul ist nicht richtig retriggerbar und macht kurz Pause, ehe es sich wieder auslösen läßt. Das ist bei einer Beleuchtung inakzeptabel. Ich habe das Problem erst mal mit einem ATMEGA8 erschlagen, weil ich da noch nicht den Tinny da hatte. Ich werde da mal was programmieren, das man dem durch ein Poti erzeugten Analogwert mit der Auslösezeit multipliziert dann ein universelles Modul erhält. Und mit einer I2C Schnittstelle zu Abgleichzwecken einfach temporär ein Display anstöpselt. Da brauche ich noch nicht mal den Reset umzuprogrammieren
Ein HV-Programmer empfielt sich dann ebenfalls aufzubauen, denn wenn man den Reset-Pin ebenfalls mit nutzt, ist der normale Weg, über ISP den Chip zu brennen, versperrt!