Arduino Uno Endprodukt auf Attiny?

Hallo zusammen.

Ich habe nach einigen Stolpersteinen (als Anfänger) endlich meine Schaltung zum Laufen gebracht.

#include <IRremote.h>

int taster=7;
int tasterstatus=0;
IRsend irsend;

void setup()
{
  Serial.begin(9600);
  pinMode (taster,INPUT);
}

void loop()
{
tasterstatus=digitalRead(taster);
if (tasterstatus == HIGH)
{
irsend.sendNEC (0x827D7887,32);
delay (500);
}

}

Die soll letztlich nichts anderes machen, als per Tastendruck über Infrarot den Ladestatus eines D/A-WAndlers fürs iPad zu switchen. Das klappt wunderbar. Nun möchte ich das Ganze schön “verpacken” und ins Auto einbauen. Nach Studium von unzähligen Youtube-Tutos, sollte ein Attiny 45 dafür geeignet sein. Der ist schon bestellt. Wie ich den programmiere, bekomme ich wahrscheinlich alleine hin. Aber ich habe dazu trotzdem noch ein paar Fragen:

  1. Kann man den Attiny mehrfach “brennen”, oder ist der, wenn die Schaltung nicht auf Anhieb klappt, unbrauchbar?

  2. Wie würdet ihr das Endprodukt gestalten? Einfach die paar Elemente auf eine Lochplatine löten und ein kleines Gehäuse drumrum? Ne Platine möchte ich nicht extra ätzen lassen.

  3. Was brauche ich, um das Teil ins Auto einzubauen, sprich von den 12 V auf die 5 V zu kommen?

Danke schon mal und schönes Wochenende!

1) Das erklärt dir das Datenblatt zum Prozessor (und ja, kein Problem | nein, nicht kaputt) 2) Einzelstück? Lochraster! 3) eine Schutzbeschaltung gegen den Dreck im Bordnetz. Plus einen Spannungsregler. (Händi/Navi Ladeadapter)

MAChimo: 1) Kann man den Attiny mehrfach "brennen", oder ist der, wenn die Schaltung nicht auf Anhieb klappt, unbrauchbar?

Das ist ein ganz normaler Mikrocontroller. Lediglich im Klein-Format. Sowohl was die physische Größe als auch den Speicher angeht. Aber er wird auch nicht anders programmiert.

2) Wie würdet ihr das Endprodukt gestalten? Einfach die paar Elemente auf eine Lochplatine löten und ein kleines Gehäuse drumrum? Ne Platine möchte ich nicht extra ätzen lassen.

Klar. Das reicht völlig.

MAChimo: ... den Ladestatus eines D/A-WAndlers fürs iPad zu switchen.

Magst Du, rein interessehalber, noch mal genauer erklären was da passiert? Sieht für mich wie eine IR-Fernbediehnung aus mit einem Taster. Aber was wird damit genau bewirkt??

Danke :)

Bist du ganz sicher, dass IRremote auf dem ATtiny45 ohne weiteres läuft?

Wenn ich mir die die Lib (IRremoteInt.h) ansehe wird da nur der 84 und 85 unterstützt:

// ATtiny84
#elif defined(__AVR_ATtiny84__)
  #define IR_USE_TIMER1     // tx = pin 6

//ATtiny85
#elif defined(__AVR_ATtiny85__)
  #define IR_USE_TIMER_TINY0   // tx = pin 1

Da der 45 allerdings nur eine kleinere Version des 85 ist, sollte man das theoretisch einfach anpassen können:

#elif defined(__AVR_ATtiny85__) || defined(__AVR_ATtiny45__)

Der Speicherplatz könnte das Problem sein:

Der Sketch verwendet 1.966 Bytes (47%) des Programmspeicherplatzes. Das Maximum sind 4.096 Bytes. Globale Variablen verwenden 268 Bytes (104%) des dynamischen Speichers, -12 Bytes für lokale Variablen verbleiben. Das Maximum sind 256 Bytes. processing.app.debug.RunnerException: Nicht genug Speicher; unter http://www.arduino.cc/en/Guide/Troubleshooting#size finden sich Hinweise, um die Größe zu verringern. at processing.app.Sketch.size(Sketch.java:1679) at processing.app.Sketch.build(Sketch.java:1589) at processing.app.Sketch.build(Sketch.java:1508) at processing.app.Editor$DefaultRunHandler.run(Editor.java:1912) at java.lang.Thread.run(Unknown Source) Nicht genug Speicher; unter http://www.arduino.cc/en/Guide/Troubleshooting#size finden sich Hinweise, um die Größe zu verringern.

@Serenifly: Welche Bibliothek verwendest Du? Ich habe eine für die ATmegas, eine andere für die ATtinys.

Ich habe mir nur die Standard Lib angeschaut. Nicht gewusst dass es extra eine für den ATtiny gibt

Der Speicher wird dann der Grund sein weshalb da nur der 84 und 85 unterstützt werden :)

Serenifly: Ich habe mir nur die Standard Lib angeschaut. Nicht gewusst dass es extra eine für den ATtiny gibt

Dann liegt es wohl an meiner IDE 1.5.8, daß da die ATtinys nicht unterstützt werden.

Serenifly: Der Speicher wird dann der Grund sein weshalb da nur der 84 und 85 unterstützt werden :)

Das hatte ich so in Erinnerung, deshalb habe ich es probiert. Mit dem ATtiny 85 reicht der Platz.

@MAChimo: Den bestellten ATtiny 45 kannst Du bestimmt für ein anderes Projekt verwenden. Du kannst auch ohne vorhandenen ATtiny Probecompilieren, so wie ich das gemacht habe.

zu 1. Das "Brennen" ist eigentlich mehr ein Kopieren in einen nichtflüchtigen Speicher, was Du mehrfach tun kannst. Die erlaubten Irrtümer liegen so bei 10.000.

zu 2. Ich bevorzuge Loch*streifen*platinen.

[quote author=jim_beam link=msg=2357823

jim_beam: Magst Du, rein interessehalber, noch mal genauer erklären was da passiert? Sieht für mich wie eine IR-Fernbediehnung aus mit einem Taster. Aber was wird damit genau bewirkt??

Richtig, eine "abgespeckte" FB. Kurzfassung: iPad wird an den Wandler Cambridge-ID100 (von da zum Verstärker) angeschlossen. Auf der FB ist eine Taste, mit der man das iPad laden kann oder nicht. Da der ID100 aber später unsichtbar verbaut ist, muss ich diese kleine FB montieren. In der Armatur steckt dann der Taster.

combie: 3) eine Schutzbeschaltung gegen den Dreck im Bordnetz. Plus einen Spannungsregler. (Händi/Navi Ladeadapter)

Spannungsregler: sowas wie ein 7805? Schutzbeschaltung: wie sähe die aus, klingt sehr aufwändig?!

Mit dem 45er Attiny. Wenn ich das trotzdem probiere, würde ich beim Übertragen des Sketch eine Fehlermeldung bekommen, dass der Speicher nicht reicht?

Werde mir zur Sicherheit auf jeden Fall noch ein paar 85er bestellen. Wer weiß, welche Projekte noch anstehen. :)

MAChimo: Mit dem 45er Attiny. Wenn ich das trotzdem probiere, würde ich beim Übertragen des Sketch eine Fehlermeldung bekommen, dass der Speicher nicht reicht?

Das Programm wird nicht funktionieren. Egal. ob du es drauf bekommst oder nicht.

Du brauchst unbedingt eine Speicher Reserve für den Stack.

MAChimo: Mit dem 45er Attiny. Wenn ich das trotzdem probiere, würde ich beim Übertragen des Sketch eine Fehlermeldung bekommen, dass der Speicher nicht reicht?

Ja, siehe #5. Problematisch sind Fehler zur Laufzeit (siehe combie).

MAChimo: Spannungsregler: sowas wie ein 7805?

Das ist ein Spannungsregler, der hilft aber nicht gegen den "Dreck"! Dazu braucht man Filter.

MAChimo: Werde mir zur Sicherheit auf jeden Fall noch ein paar 85er bestellen. Wer weiß, welche Projekte noch anstehen. :)

Ich mag die ATtinys, aber es gibt auch micros, minis und sowas. Die ATtinys sind in letzter Zeit etwas teuer geworden, finde ich.

combie: Das Programm wird nicht funktionieren. Egal. ob du es drauf bekommst oder nicht.

Du brauchst unbedingt eine Speicher Reserve für den Stack.

OK, hab ich das dann mit dem 85er?

combie: 3) eine Schutzbeschaltung gegen den Dreck im Bordnetz. Plus einen Spannungsregler. (Händi/Navi Ladeadapter)

Ich habe in der Mittelkonsole noch so ein ähnliches Teil: http://www.amazon.de/3-Wege-Multi-Sockel-Zigarettenanzünder-Splitter-USB-Stecker-Ladegerät-Dreifach-Adapter-USB-Anschluss/dp/B00I9TPP5Y. Von dem könnte ich doch die Spannung abgreifen, oder?

Und kannst du mir zu dieser Schutzbeschaltung etwas mehr sagen? Ist die mit dem Uno (Attiny) überhaupt machbar? Würde nämlich, wenn ich wüßte welche Bauteile ich noch brauche, die gleich mitbestellen.

Von dem könnte ich doch die Spannung abgreifen, oder?

Und kannst du mir zu dieser Schutzbeschaltung etwas mehr sagen?

Da das Gerät für den Betrieb im Auto gebaut ist, sollte es alles eingebaut haben. Also direkt an die 5V dran. Fertig.

agmue: Ja, siehe #5. Problematisch sind Fehler zur Laufzeit (siehe combie). Das ist ein Spannungsregler, der hilft aber nicht gegen den "Dreck"! Dazu braucht man Filter.Ich mag die ATtinys, aber es gibt auch micros, minis und sowas. Die ATtinys sind in letzter Zeit etwas teuer geworden, finde ich.

Aber der günstigste (mini) mit ca. 3,- € ist zum 85er ca. 3x teurer?! Welche Vorteile hätte ich mit einem mini/micro? Leichter zu händeln, d.h. könnte ich da z.B. den Sketch direkt drauf schmeißen?

Pro-mini und UNO sind sich näher als ein ATtiny 85 und ein UNO. Die 5 V Version hat 16 MHz. Leider fehlt ein USB-Anschluß, weshalb noch ein USB-Seriell-Adapter notwendig ist, wenn Du den Bootloader nutzen möchtest.

MAChimo: OK, hab ich das dann mit dem 85er?

Der hat 512 Byte RAM. Statt 256 beim 45. Das sollte reichen.

Cool, danke an alle! :D Ich fasse nochmal zusammen: Ich brauche als Mindestausstattung den 85er, könnte aber mit einen Mini inkl. USB-Seriell-Adapter eher wie ich es mit dem Uno gewohnt bin arbeiten. Und mit dem Auto-Zigi-Teil spare ich mir den Spannungswandler und das "Entstörgedöns"? Super! Wenn alles eingebaut ist und funktioniert, werde ich kurz berichten.

P.S.: Da in meiner Gegend die Elektronikhändler ausgestorben sind, bestelle ich bisher immer bei Conrad. Der ist mit Arduino und Co. allerdings nicht so gut sortiert. Habt ihr einen Lieblingsonlinehändler, wo man ALLES bekommt?

Ebay und AliExpress Und ein bisschen Abenteuer gibts kostenlos dazu.

MAChimo: P.S.: Da in meiner Gegend die Elektronikhändler ausgestorben sind, bestelle ich bisher immer bei Conrad. Der ist mit Arduino und Co. allerdings nicht so gut sortiert. Habt ihr einen Lieblingsonlinehändler, wo man ALLES bekommt?

Ja, China. :) Sonst Reichelt, EXP-tech, ebay (Artikelstandort Europa).