H/L Signale einlesen und "speichern"

Gast #871888
Lesenswert?

Hallo!
Habe folgendes problem:
ich habe einen fototransistor wo ich über einen transistor eine led 
angeschlossen habe. ich habe bei logisch 0 0V und bei logisch 1 5V.
soweit sogut.
jetzt wollte ich in bascom das so programmieren das wenn ich bei einer 
fernbedienung auf eine taste drücke, das der atmega8 die signalfolge 
speichert! ich habe das bis jetzt so programmiert das der atmel jede ms 
"nachschaut" welches signal er hat! wie kann ich das jetzt am besten 
machen das er dann so signalfolge speichert?

mfg danczi
Gast #872333
Lesenswert?

Ganz einfach:

do{
  Signal messen und speichern
  1 ms warten
  }
  while (speicher noch nicht voll)

Aber wer sagt Dir, dass 1 ms ausreicht?
Die meisten Fernsteuerungen (Ausnahme einige Sony) arbeiten mit 
moduliertem Licht, d.h. es treten 2 Frequenzen auf: die Trägerfrequenz 
und die Modulation (Informationsbits).
Es kann nun sein, dass Du genau in ein Loch der Trägerfrequenz fällst.

Du brauchst einen demodulierenden Empfänger, sowas wie den TSOPxxxx.
Benutze mal die erweiterte Forum-Suche 
http://www.mikrocontroller.net/search

Des weiteren würde ich nicht mit konstanter Frequenz samplen, da dadurch 
größere Ungenauigkeit entstehen kann.
Besser: messe und speichere die Zeit zwischen den Signal-Wechseln.

Die meisten µC haben dafür die Timer-Capture-Funktion.
Gast #872754
Lesenswert?

Hallo

ja so wollte ich das eh machen, dass ich die zeit messe bis sich das 
signal ändert. aber diese zeit muss ich in einer variable abspeichern 
und das sind ja
sehr sehr viele zeiten das heißt ich müsste auch sehr sehr viele 
variablen definieren. kann ich das in bascom irgendwie machen das wenn 
er ein signal abspeichern muss das er sich selber eine variable 
definiert? mfg
Gast #874669
Lesenswert?

Ein Array ist ein Feld von Variablen. es ist sozusagen eine Variable mit 
einer "Nummerierung"

z.B.

DIM meinevariable[10] as BYTE


Das ist jetzt ein Array aus 10 Bytes die man mit meinevariable[0] .... 
meinevariable[9] ansprechen kann. Man kann sogar eine andere Variable 
als Zeiger benutzen z.B. meinevariable[a].

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren