Forum: Mikrocontroller und Digitale Elektronik Bascom Atmega8 Eingang soll ab 2V erst auf 1 Schalten


von Bachatero 1. (bachatero18)


Lesenswert?

Moin Leute

hab wieder ein kleines Problem und zwar wollt ich einen Fototransistor 
als Schalter benutzen das Problem dabei ist dass der Fototansistor schon 
bei fast gar keinem Licht "durchschaltet" wie bekomme ich bei Bascom 
definiert sodass der Atmega8 Eingang erst bei einer gewünschten spannung 
wie z.B 2V auf 1 umschaltet und nicht schon bei 0,02V?

Hatte jetzt auch schon überlegt evtl. einen analogen Pin zu benutzen, 
welcher ab einen bestimmten Wert dann einen anderen Ausgang auf 1 
geschaltet wird und dieser Ausgang wieder an einen digitalen Eingang nur 
wie man es realisiert ist mir unklar.

Evtl. habt ihr noch weitere Ideen

Schon mal danke für die Hilfe

von Michael B. (laberkopp)


Lesenswert?

Bachatero 1. schrieb:
> wie bekomme ich bei Bascom
> definiert sodass der Atmega8 Eingang erst bei einer gewünschten spannung
> wie z.B 2V auf 1 umschaltet und nicht schon bei 0,02V?

Gar nicht.

Du könntest aber einen Analogeingang verwenden.

oder erst mal Grundlagen über Mikrocontroller erlernen.

von Klaus I. (klauspi)


Lesenswert?

Bachatero 1. schrieb:
> Hatte jetzt auch schon überlegt evtl. einen analogen Pin zu benutzen,
> welcher ab einen bestimmten Wert dann einen anderen Ausgang auf 1
> geschaltet wird

Soweit ok.

> und dieser Ausgang wieder an einen digitalen Eingang nur
> wie man es realisiert ist mir unklar.

Geht bestimmt, aber warum möchtest Du unbedingt einen Pin wechselnd als 
Aus- und Eingang verwenden?

von Bachatero 1. (bachatero18)


Lesenswert?

Klaus I. schrieb:

> Geht bestimmt, aber warum möchtest Du unbedingt einen Pin wechselnd als
> Aus- und Eingang verwenden?

Ne sollen unterschiedliche sein.

-Sprich PC0 analoger Eingang (das signal vom Fototransistor)

-PB1 digitaler Ausgang welcher vom Analogen im Mikrocontroller 
freigeschaltet wird bei 2V und selber 5V ausgibt

-PB2 digitaler Eingang bekommt das Signal von PB1 jenach dem 0V oder 5V
    und dieser sollte dann in das Programm eingebunden werden.

Also so war meine Idee

ODER könnte es sogar so funktionieren?

$ regfile= “M8def.dat”
$crystal = 8000000
$baud=9600

Config ADC = Single, Prescaler = Auto , Reference = Avcc
Start ADC

Dim Wert As Integer
Do
Wert = Getadc(0)
If Wert > 415 then
……….

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Du fragst zu viel, mach es doch einfach. Wird schon gehen.

von Bachatero 1. (bachatero18)


Lesenswert?

Ja hab ich jetzt auch gemacht und es hat geklappt war viel einfacher als 
gedacht trotzdem danke

von HildeK (Gast)


Lesenswert?

Bachatero 1. schrieb:
> -PB1 digitaler Ausgang welcher vom Analogen im Mikrocontroller
> freigeschaltet wird bei 2V und selber 5V ausgibt
> -PB2 digitaler Eingang bekommt das Signal von PB1 jenach dem 0V oder 5V
>     und dieser sollte dann in das Programm eingebunden werden.
>
> Also so war meine Idee

Brauchst du das Signal an einem Pin oder nur innerhalb des Programms? 
Wenn nur innerhalb, musst du das doch überhaupt nicht ausgeben und wenn 
du damit was schalten willst, dann gib es auf PB1 aus, aber einlesen 
musst du es nicht wieder. Der Zustand ist doch im Programm bekannt ...

von Bachatero 1. (bachatero18)


Lesenswert?

HildeK schrieb:

> Brauchst du das Signal an einem Pin oder nur innerhalb des Programms?
> Wenn nur innerhalb, musst du das doch überhaupt nicht ausgeben und wenn
> du damit was schalten willst, dann gib es auf PB1 aus, aber einlesen
> musst du es nicht wieder. Der Zustand ist doch im Programm bekannt ...

ja hab es jetzt intern gemacht und nicht nochmals ausgegeben, das war 
zum Anfang eine Idee nur das Ausgeben hätte nicht nochmal sein müssen 
hab es jetzt so gemacht wie ich oben schon im Programmausschnitt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.