3 LEDs mit Attiny13

compiprofi

Neues Mitglied
26. Nov. 2010
5
0
0
Sprachen
Hallo Leute,
ich möchte mit dem Attiny13 nacheinander 3 verschiedenfarbige LEDs ansteuern, die jeweils eine kurze Sequenz blinken (z.B. rrr-bb-wwww).
Wie würde eine solche Schaltung aussehen. Und wie programmiert man dies in Basic?
Für eine Hilfe wäre ich sehr dankbar.
VG
 
Hallo ? (Name wäre nett),

ich gehe mal davon aus, dass Du bzgl. MC ganz am Anfang stehst.
Ich würde empfehlen, eine Schaltung nach Anleitung eines beliebigen Tutorials aus dem Netz auf einem Steckbrett aufzubauen.
Da solltest Du dann erstmal eine LED zum Leuchten bringen. Wenn dass klappt, bring diese LED zum Blinken und spiel etwas mit den Zeiten rum. Als Nächstes kannst Du dann an Deine Frage rangehen und mehrere LEDs versorgen.

Schönen Gruss
Markus
 
Hallo compiprofi,

meinst Du mit Basic BASCOM?

Was solls mal werden wenn es fertig ist?

Hast Du schonmal was mit BASCOM gemacht?

Hast Du schon mal was mit AVR's gemacht?

Hast Du schon mal was mit Elektronik gemacht?

Kennst Du das Datenblatt zum Tiny?

Grüße,
Markus
 
Hi,

ich möchte mit dem Attiny13
der Tiny13 ist schon recht eingeschränkt. Nur 64Bytes an SRAM :eek:
Ich hab mir als 8pin-Tiny den Tiny85 ausgesucht. Der hat ein wenig mehr
"Luft" zum arbeiten und ausprobieren. ;)

nacheinander 3 verschiedenfarbige LEDs ansteuern, die jeweils eine kurze Sequenz blinken (z.B. rrr-bb-wwww).
So ein wenig blinken lassen ist ne einfache Übung (für Fortgeschrittene) :D

- Wie würde eine solche Schaltung aussehen.
- Und wie programmiert man dies in Basic?
und wie Markus schon geschrieben hat ... diese beiden Fragen lassen darauf
schließen das du evtl blutiger Anfänger bist und im schlimmsten Fall weder
Elektronik- noch Programmier- oder Mikrocontrollererfahrung hast und noch
nie etwas in diesem Bereich gemacht hast.

Also wie sieht es bei dir mit Grundlagenwissen aus? Wo muß man anpacken
um dir auf die Sprünge zu helfen?

Was ist bereits zusammengekauft oder vorhanden ?

Gruß
Dino
 
Danke für Eure ersten Antworten. Ich habe mehrere Schaltungen aufgebaut, die alle ähnlich den bekannten reaktiven Blinkern funktionieren. Aber, ich löse eben nur einen "Verbraucher" aus. In diesem Fall möchte ich ein Signal nacheinander über drei verschiedenfarbige LEDs abgeben. Programmiert habe ich ganz einfach mit dem BASCOM-AVR in Basic. Der 13er genügt mir auch für diese kleine Anwendung.
Ja, das Datenblatt habe ich mir mal gezogen, aber um ehrlich zu sein, das sind mit böhmische Dörfer. Sicher brauche ich das auch nicht unbedingt für eine einfache Schaltung?

Welche Vorteile bringt der Tiny85? Ist er Pinkompatibel zum Tiny13?


VG
Thomas
 
Welche Vorteile bringt der Tiny85? Ist er Pinkompatibel zum Tiny13?

Hallo Thomas,

hauptsächlich hat der ATtiny85 mehr Flash, SRAM und EEPROM. Eine Übersicht der Features findest du in unserer AVR-PRAXiS Database.

Pinkompatibel sind beide Mikrocontroller im DIP Gehäuse schon, zumindest bei den Standard-IO-Funktionen (PB5..0), bei den alternativen Pin-Funktionen gibt es leichte Unterschiede.

Grüße,
Dirk
 
Hallo Dirk, die Tabelle ist recht interessant. Bei den zum Tiny85 verwandten Prozessorren erscheint der 13 nicht. Damit gehe ich davon aus, daß ich diese nicht 1:1 in meiner Schaltung verwenden kann.
Danke für die Info
VG
Thomas
 
Hi Thomas,

Bei den zum Tiny85 verwandten Prozessorren erscheint der 13 nicht. Damit gehe ich davon aus, daß ich diese nicht 1:1 in meiner Schaltung verwenden kann.
das heißt noch lange nicht das sie nicht pinkompatibel sind. Es gibt nur andere
Spezialfunktionen. Die Basis-Pins die wichtig sind (Betriebsspannung, Quarz,
Reset, normale IO-Pins) können trotzdem identisch sein. Nur wenn man dann
zB nen AD-Wandler benötigt muß man aufpassen. Ein ATmega8 läßt sich zB
auch wunderbar durch einen ATmega168 ersetzen wenn man mehr Takt und
mehr Speicher braucht oder noch PCINT benötigt.

Schau mal hier ...
Pinkompatible AVRs (ATtiny + ATmega)
da hab ich mal ne Liste zusammengestellt.

Aber, ich löse eben nur einen "Verbraucher" aus. In diesem Fall möchte ich ein Signal nacheinander über drei verschiedenfarbige LEDs abgeben.
Denk nicht so kompliziert.
Eine LED = 1 Blinker
Drei LEDs = 3 Blinker :D
Es sind 3 unabhängige Verbraucher (LEDs) Du kannst die Pins an denen sie
hängen unabhängig voneinander schalten. Es gibt also kein "ein Signal" was
alle drei nacheinander schalten muß. Du mußt nur etwas programmieren das
dir die gewünschte Sequenz an diesen drei Ausgängen ausgibt.

Programmiert habe ich ganz einfach mit dem BASCOM-AVR in Basic. Der 13er genügt mir auch für diese kleine Anwendung.
Naja OK. Soll so sein ;)

Ja, das Datenblatt habe ich mir mal gezogen, aber um ehrlich zu sein, das sind mit böhmische Dörfer. Sicher brauche ich das auch nicht unbedingt für eine einfache Schaltung?
Vertu dich nicht. Es geht schneller als du denkst das du mal ins Datenblatt
sehen mußt. Wie gut bist du in Englisch ? Du mußt es nicht sprechen können.
D mußt es auch nicht übersetzen können. Du mußt nur den Sinn eines Textes
verstehen. Das reicht meißt schon.

ich möchte mit dem Attiny13 nacheinander 3 verschiedenfarbige LEDs ansteuern, die jeweils eine kurze Sequenz blinken (z.B. rrr-bb-wwww).
Denk mal über das mit der Sequenz und dem "rrr-bb-wwww" nach ...
3x Rot , 2x Blau , 4x Weiß => 9 Sequenzen. Damit es nicht nur an ist
sondern zum blinken auch mal aus verdoppelst du es. also 18 Sequenzen.
R=Rot, B=Blau , W=Weiß, A=Aus

R A R A R A B A B A W A W A W A W A ..... -> und wieder von vorn

Mach dir mal ein paar Gedanken wie man diese Sequenz umsetzen könnte ...
Als dicken Tip ... Bau dir ne Schleife in der du hochzählst.

Gruß
Dino
 
Hallöchen :pleasantry:

Vor den Erfolg haben die Götter den Schweiß gesetzt .... Und damit würde ic anfangen, nämlich mit der HW.

@Thomas; Am Besten Du skizzierst uns mal Deine Schaltung und hängst sie hier im Forum rein. Denn ohne HW keine SW und auch kein Blink.

So würde ich mal abfangen. Und wenn wir Deine Schaltung kennen dann helfen wir Dir auch beim zusammenpuzzeln Deiner SW. So Stück für Stück mit Hilfestellung, OK?

Und wenn's denn dann unbedingt auch der Attiny13 sein muss OK.

Programm unter BASCOM, auch OK. Mit was proggst Du denn den Tiny und mit wieviel Hertzen soll er denn laufen? Intern oder extern?

Grüße,
Markus
 
Hi Thomas,

das, was Du da bastelst ..... hmmmm .... soll das auch ein Cache werden?

Den Code habe ich mir angesehen, also, so lange er funktioniert sage ich ja nix aber der sieht schon sehr nach ellenlangem Spaghetti-Code aus :rolleyes:

Aber wie gesagt, melde Dich einfach wenn Du Hilfe benötigst!

Grüße,
Ma
 
Auch auf die Gefahr hin ein Spassverderber zu sein, warum nimmt man einen Code, den man nicht 100% versteht? Das mag für hier und jetzt okay sein, aber zielführend, sprich wenn man was lernen soll, ist es nichts.

Der Code scheint auch etwas komisch zu sein, ich habe es zwar nicht ganz verstanden (Bascom kein Plan davon) macht aber einen ziemlichen Spaghettieindruck, wie Markus schon sagte.

Ich würde mich hinsetzen und verstehen, was da abläuft, wie man die Ein- und Ausgänge konfiguriert, die Ausgänge setzt und wieder löscht und etc.

Grüsse
Heinrich
 
Eine schöne Lösung könnte man zum Beispiel in BASCOM einfach mit Hilfe einer Datentabelle oder eines Arrays realisieren. Einfach in einem Array die Bitwerte oder Bytes ablegen und dann einfach via TimerTick weiterschalten....weiterschalten...weiterschalten.

Wenn es wirklich nur darum geht, drei LED's durchzublinken, dann ist das mit ganz wenigen Zeilen Code getan.

Nur mal so als Hinweis.

Hemi hat nämlich Recht. Man sollte wissen was man tut.

Grüße,
Markus
 
Hi,

Eine schöne Lösung könnte man zum Beispiel in BASCOM einfach mit Hilfe einer Datentabelle oder eines Arrays realisieren. Einfach in einem Array die Bitwerte oder Bytes ablegen und dann einfach via TimerTick weiterschalten....weiterschalten...weiterschalten.
Boah ! Watn komplizierten Kram. :D

Wenn es wirklich nur darum geht, drei LED's durchzublinken, dann ist das mit ganz wenigen Zeilen Code getan.
Genau.

Ne Schleife die bei jedem Durchlauf ne Variable +1 macht und wenn sie über
17 ist wieder auf 0 zurück => ergibt 18 Zustände.
Dann ne schöne Case-Anweisung in der steht was bei welchem Zählerstand
passieren soll.
Und damit es nicht durchflitzt wie ne gescheuchte Katze packt man nen Wait
mit in die Schleife.
Und fertig. Für Anfänger absolut einfach, Mini und gut zu verstehen.

Gruß
Dino
 
Mehr wollte ich auch nicht machen :flowers:
 
Hehe, es wird wieder spassig hier...
 
Und weitergekommen?
 
Danke Euch erstmal.
Bisher habe ich meist in Delphi programmiert, aber keine Prozessoren. Daher denke ich auch, ein Array oder eine Case-Schleife sind sehr schöne Möglichkeiten. Die Case-Schleife werde ich verwenden.
Ja, Markus, das soll ein Cache werden, wobei hier der Startpunkt zum Bonus geblinkt werden soll.

VG
Thomas
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)