PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Infrarottransistor an ATmega 16



Lukas.
13.01.2009, 17:11
Hallo zusammen,
für meine Lichtschranke will ich einen Fototransistor an einen ATmega16 anschließen.

Ich habe mir das so gedacht: +5V - LPT - 1kOhm - Pin des uC
1kOhm habe ich einfach mal genommen weil ich davon viele hab *g*

Die Schaltung sollte einen Highpegel liefern und wenn die Lichtschranke unterbrochen wird fällt dieser auf Low.
Damit könnte ich dann einen Timer ansteuern...



$regfile = "m16def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000

Config Portc.0 = Output
Config Pinc.1 = Input

Do
If Pinc.1 = 1 Then
Portc.0 = 0
Else
Portc.0 = 1
End If
Loop


End

An C0 ist im Moment eine LED angesteckt, zur Kontrolle.
Wenn C0 Low ist (=GND) dann leuchtet die LED.
Eigentlich sollte die LED ausgehen, wenn ich den Transistor verdunkle, tut sie aber nicht.

Ich hab auch schon einfach die LED nach dem Transistor ohne uC an 5V gehängt und da hats super funktioniert.

Ich vermute also fast, dass der Transistor nicht den richtigen Pegel liefert.
Liegts vielleicht am zu hohen Widerstand? Der Transistor schafft 50mA.
Wieviel braucht/verträgt der ATmega16?

Das wäre eh noch einen Grundlegende Frage...
Wieviel Spannung fällt denn am ATmega ab?
Wenn ich das so berechne zieh ich ja einfach die 1,5V die der Transistor schluckt ab und kann dann damit rechnen, dass am R 3,5V abfallen.
Wie berechne ich das wenn da noch der ATmega zwischen R und GND hängt?


Hm jetzt hab ich so viel geschrieben und ich glaube mir ist was eingefallen...

Damit der Pin auf Low umschaltet müsste ich ja wenn der Transistor nicht mehr durchschaltet den Pin mit GND verbinden oder?
Das heißt den Pin intern auf High setzen und wenn die Lichtschranke unterbrochen wird mit einem 2. Transistor auf GND schalten.

Wäre das die Lösung? *g*
Oder geht es auch, dass einfach statt 5V nichts mehr anliegt?

Danke schonmal,
Lukas

Lukas.
13.01.2009, 17:27
Ok ich bin selbst drauf gekommen, war auch mehr als einfach...

Ich schreibs mal als Doppelpost damit mans besser als Lösung erkennt.

Einfach den Input-Pin über den Pullup auf High setzen,
den Kollektor an den ATmega und den Emitter an GND.
Wenn der Transistor schaltet wird der Input Low wenn die Lichtschranke unterbrochen wird wieder High.

So einfach kanns gehen.
Kaum schreibt man das Problem auf findet man auch gleich die Lösung *g*