-
        

Ergebnis 1 bis 2 von 2

Thema: Infrarottransistor an ATmega 16

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    13.01.2007
    Ort
    Dachau
    Alter
    28
    Beiträge
    53

    Infrarottransistor an ATmega 16

    Anzeige

    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...


    Code:
    $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

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    13.01.2007
    Ort
    Dachau
    Alter
    28
    Beiträge
    53
    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*

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •