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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.