Ja ISP Beschaltung wie gewohnt.
Pullup und Kondensator am Reset nicht vergessen
Schau mal ob der T13 auch mit allen Kontakten im Steckbrett sitzt.
Bei einigen Bretteln sind die Mittleren Stege etwas zu hoch so das kleine IC's nicht ganz passen.
Ja ISP Beschaltung wie gewohnt.
Pullup und Kondensator am Reset nicht vergessen
Schau mal ob der T13 auch mit allen Kontakten im Steckbrett sitzt.
Bei einigen Bretteln sind die Mittleren Stege etwas zu hoch so das kleine IC's nicht ganz passen.
Gruß
Ratber
Danke, schönes lag mal wieder an den Anwender, hatte die ISP falsch angeschlossen
Nun geht es wunder schön das erste Programm ( blinkende LED ) läft auch schon. Nun möchte ich ger ndas der Tiny auf hell oder dunkel reagiert. das müsste doch über eine Lichtsensor ( Photowiderstand gehen. Faglich ist nur wie da die Minimalbeschaltung ist. Kamm mir da jemand helfen ?
Ja auch einfach.
Mit dem Fotowiderstand (oder Diode/Transitor usw.) und nem zusätzlichen Winderstand baust du nen Spannungsteiler auf.
Jetzt haste 2 Möglichkeiten.
Entweder du hängst das an nen AD-Port und wertest per Software aus oder du hängst nen OP-Amp davor und machst es Hardwaremäßig (Ausgang an normalen Digitalport)
Gruß
Ratber
so das wäre dann auch geschaft, leider will Bascom nicht so wie ich das will:
mein Quelltext :
$regfile = "ATtiny13.dat"
$crystal = 1200000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portb = Output
Ddrb = &B0101
Start Adc
Dim A As Byte
Do
While A < 500
A = Getadc(2)
Waitms 100
Wend
Portb.3 = Not Portb.3
Waitms 500
Loop
wird bim Compelieren abgelehnt, da nicht genägend Ram ?? vorhanden ist. Kann es sein das der Tiny13 überfordert ist wenn man den ADC mal abfragen möchte und dann noch das ergebnis auswerten will ? Im endefekt möchte ich eine Schalter und den Lichtsensor auswerten, und dann eine Ausgang dementsprechend schalten - mehr eigetlich nicht![]()
Doch das geht.
Du hast nur etwas vergessen.
Der Tiny13 hat nicht viel Ram und die Standardzuweisung vom Compiler frisst alles auf so das nix mehr übrig ist.
Ich hab dir mal die Stackbefehle reingesetzt und auch den Frame.
Les in ruhe nach wofür jeder ist dann haste für die Zeiten wenn auch auf nem M128 das Ram knapp wird.
Desweiteren hab ich A von Byte auf Word geändert.
Zum einen weil der ADC 10 Bit liefert und ein Byte zu eng ist.
(Grundsätzlich ist Eng ja schön aber hier passts nicht)
Und zum anderen hättest du spätestens bei der Zeile "While a<500 wieder Ärger middem Compiler bekommen denn A als Byte kann nie 500 werden denn dafür fehlte im ein Bit (Nein kein Bier)
Hier mal die geänderte Version.
Die dürfte jetzt laufenCode:'Neue Version die zumindes beim Compiler gnade findet *gg* $regfile = "ATtiny13.dat" $crystal = 1200000 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portb = Output $hwstack = 10 'Eingefügt Weil die Standardvorgaben $swstack = 10 'für den Tiny13 zu $framesize = 20 'hoch sind. Ddrb = &B0101 Start Adc Dim A As Word 'Auf Word geändert weil ADC 10 Bit liefert Do While A < 500 'Hier hätte es mit "DIM A as Byte" ärger gegeben A = Getadc(2) Waitms 100 Wend Portb.3 = Not Portb.3 Waitms 500 Loop
Gruß
Ratber
supi, nun geht es wie es soll![]()
![]()
Lesezeichen