ich würde ein kleinen controller nehmen und das schnell hinproggen
mach erstmal ne Schaltung (3 Inputs für die Taster, 3 Outs für die Farben (an PWM, also Timer) ) und dann fang mit der Software an. Wenn es nicht mehr weiter geht melde dich.
Also ich möchte für meine Freundin ein Herz basteln, welches von hinten mit 3x3 LED´s angestrahlt werden soll (3xrot,3xgrün,3xblau). Die LED´s sollen einfach hell und dunkel dimmen und mit drei Tastern soll man die Farbe wechseln können (Rot, grün, oder Blau).
Da ich noch nicht sehr lange in Basic programmiere weiß ich nicht wie ich das machen soll. Meine Idee ist es nun, die Schaltung mit Kondensatoren aufzubauen. Also LED an bis Kondensator leer und wieder an.
Was haltet ihr davon? Ist die Softwarelösung vielleicht doch gar nicht so schwer? Wie gesagt, ich versuche mich erst ein Paar tage in der Programmierung (ATmega8515, ATtiny13).
Gruß Malte
ich würde ein kleinen controller nehmen und das schnell hinproggen
mach erstmal ne Schaltung (3 Inputs für die Taster, 3 Outs für die Farben (an PWM, also Timer) ) und dann fang mit der Software an. Wenn es nicht mehr weiter geht melde dich.
Ist der ATtiny ausreichend?
2PWM Ausgänge und 3 Inputs. Wird eng aber könnte gehen. Wir könnten ein PWM out nutzen, müssen dann aber switchen welche der 3 Farben damit betrieben werden soll. Dann haben wir allerdings nur ein Output um 3 Zustände zu schalten...hmmm
(3 Farben sollens aber sein?), weil 2PWM Ausgänge sind ja schon so da, d.h. mit 2 Farben ist es genau passend und recht easy.
Ich habe nun zunächst versucht ohne taster eine led anzusteuern. Ich bekomme 2 Fehlermeldungen: Out of SRAM space (Line 10);
Invalid Parameter for CONFIG parameter or value(Line 7).
Code:$regfile = "ATtiny13.dat" $crystal = 4000000 Config Timer0 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8 Config Portb.2 = Output Dim A As Word do For A = 0 To 255 Step 1 Pwm1a = A Waitms 10 Next For A = 255 To 0 Step -1 Pwm1a = A Waitms 10 Next loop End
wenn es "nur" dimmer sein sollen, tut es auch n soft-PWM also per timer-interrupt die pins manuell high und low ziehen, man muss ja nicht den "echten" PWM output benutzen
Ich schau zuhause mal in mein code, dann kann ich dir das zeigen. Softpwm hab ich noch nicht gemacht, müsste man mal beispielcode suchen.
naja einfach die ISR für OUTPUT_COMPAREn und TIMER_OVERFLOWn und dann das notewndige pinverhalten programmieren wenn die ISR ausgeführt wird ... so schwer isset ja net meine ich mal
Grobe Fehler kann ich nicht finden. Ich habe allerdings einmal Clear Down und einmal Clear UP (weiß nicht mehr was das heißt) aber es kann ja nur an deiner Config liegen. Probier mal mit den Einstellungen des PWM rum.
Noch nicht weitergekommen? 2 Tage hast du noch
ist denn die Hardware schon fertig?
Lesezeichen