Blinkender Tannenbaum bitte um Hilfe

Gast #444287
Lesenswert?
• ▲
▼
Bitte Hilfe!!!!!!

Ich habe meinem Bruder versprochen für seinen selbst gebastelten 
Tannanbaum mit drei verschiedenen Farben LED'S (jeweils gemeinsame 
Anode, Parallelschaltung => BS170 pro kreis) einen Attiny13 so zu 
programmieren, das der Baum blinkt.
Ich schaffe es beim bestenn Willen nicht avr-gcc irgendwas zu entlocken 
was auch nur annähernd das tut.

Kann mir jemand helfen Bitte bitte?
Der Baum muss bis Samstag fertig sein, das ist mein Problem.

Danke
Gast #444307
Lesenswert?
• ▲
▼
Reichen auch 4 Rosenkränze?

Sorry ich verzweifle langsam wirklich

Also ich möchte einen Attniy13 dazu bringen das er einen von drei 
Ausgängen für eine bestimmte Zeit (2s) 5V ausgibt und dann den Ausgang 
wieder auf 0 legt und den nächsten auf 5V usw. sodass der Tannenbaum 
blinkt.
Das wäre meine Rettung.

reicht das als genauere Erklärung?

Danke für die schnelle Antwort.
Gast #444320
Lesenswert?
• ▲
▼
Am besten, du beschreibst mal, welche Hürde du gerade nicht nehmen 
kannst. Wo klemmts denn genau?

So, wie du es schreibst, müsste man dir ein ganzes Tuturial schreiben. 
Apropos Tutorial - das hast du gelesen?
Gast #444326
Lesenswert?
• ▲
▼
Ist die Schaltung denn fertig? Hast du was um den uC zu programmiern? 
Wenn ja, dann stell mal nen kleinen Schaltplan rein an welchem Pin die 
LEDs hängen, dann schreib ich dir fix des Prog falls es wirklich nur um 
das GEblinke geht.
Gast #444331
Lesenswert?
• ▲
▼
Ich habs gelesen.....
mit dem verstehen ist das immer sonne Sache ;-)

also, eigendlich sollte

MCU = attiny13
FORMAT = ihex
Target = main
SRC = main


als makefile doch reichen.
Es funktioniert aber nicht. Compiler bricht ab....

Ich bin echt verzweifelt und seh vielleicht den Wald vor lauter Bäumen 
nicht mehr.
Gast #444334
Lesenswert?
• ▲
▼
Einfach einen Timer-output-compare-Interrupt so dimensionieren (Teiler, 
output-compar-INT) dass er 1 (oder 2) sekunden ausgelöst wird und in der 
INT-Routine die Ausgänge immer einen weiterschalten. Fertig.
Beispiel:
FCPU: 16MHz
Timer1 (16bit) wird benutzt

TCCR1A = 0b00000000;
TCCR1B = _BV(ICES1)|_BV(WGM12)|_BV(CS12)|_BV(CS10)|_BV(ICNC1);// Teiler 
/1024, CTC - Mode
TCNT1 = 0;  // Timer rücksetzen
OCR1A = 15624;  // OCR1A = 15625 (16MHz  1024  15625 = 1s)

Löst den OCR-Interrupt 1x pro Sekunde aus.
Gast #444341
Lesenswert?
• ▲
▼
Im Makefile hast hoffentlich mehr als nur die 4 Zeilen stehen?! Das sind 
nur die Werte, die du geändert hast?

Falls nicht undbedingt Makefile neu machen (beim Standard nur die 
entsprechenden Änderungen machen) oder auf AVR Studio umsteigen.
Gast #444359
Lesenswert?
• ▲
▼
Mach' noch einen 270-Ohm-Widerstand zwischen Gate und Portpin, ist 
besser für den µC. Ansonsten wie oben gesagt: Timer zum umschalten 
benutzen. Falls der Tiny13 keinen 16-Bit-Timer hat, 8-Bit un's auch, 
dann halt die Überläufe zählen bis 2s um sind, dann die Portpins 
umschalten.
Gast #444360
Lesenswert?
• ▲
▼
Sorry berechtigte Frage, wenn man auch Falsche Symbole benutzt die 
Portpins kommen links unten dran, da wo das zweite mal vcc steht. (OK 
ich gebs zu ungeschickt aber...)


Danke das so viele versuchen zu Helfen.
Gast #444364
Lesenswert?
• ▲
▼
Und wo sind bei deiner Schaltung jetzt die Portpins angeschlossen?

"Es funktioniert aber nicht. Compiler bricht ab...." ist übrigens eine 
ziemlich nutzlose Beschreibung des Problems. Der Compiler wird nicht 
einfach so aus Spaß kommentarlos abbrechen, sondern eine Fehlermeldung 
ausgeben. Am besten zeigst du mal dein Programm und die Ausgabe des 
Compilers (per copy/paste bitte, nicht irgendwas abgetipptes, was du für 
sinngleich hälst).
Gast #444446
Lesenswert?
• ▲
▼
Metrux, ist ein hardware, oder ein software problem...

zeig uns mal einen kompleten schaltplan mit uc, und den code den du 
verwendest, und schreib uns die fehlermeldung die kommt, dann wirst du 
wessentlich präzisere antworten bekommen und sicher zum ziel kommen...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.