Sonntag, 21. Mai 2017

frz. Hochkant Monopole 5742















































































Ich fange mal mit der loop an. Diese besteht zum einen aus der Abfrage des Tasters am Encoder und zum anderen zum Starten der Suchlauffunktionen. Das flag ukw ist im UKW-Betrieb logischerweise 1 und im AM-Betrieb 0.
Den millis-Zähler benutze ich zum Entprellen. Wird ein Tastendruck erkannt wird erst nach 1 sek. wieder neu abgefragt. Anhand des ukw-flag erkennt das Programm ob es auf AM oder UKW umschalten soll.
Im ersteren Fall setzt es die Lautstärke des UKW-Empfängers auf Null, schaltet den LED-Ring ab, schaltet die Heizung der Misch- und ZF-Röhre mit Hilfe des Relais ein und unterbricht, ebenfalls über das Relais, die Einspeisung des UKW-NF-Signals.
Im zweiteren Fall fährt es die Lautstärke wieder hoch, schaltet den LED-Ring ein, unterbricht die genannten Heizspannungen und speist die UKW-NF wieder ein.

Der encoder wird in einer Interruptfunktion abgefragt. Eine Verriegelung mit dem ukw-flag sorgt dafür das bei AM keine Funktion ausgelöst wird. Dadurch wird beim Zurückschalten auf UKW der vorher eingestellte Sender wieder aufgegriffen.
Im UKW-Betrieb wertet die Interruptfunktion die Drehrichtung aus und löst einen Suchlauf entweder nach oben oder nach unten aus. In der Praxis sieht das so aus das eine minimale Bewegung des Encoders genügt um den nächsten empfangbaren Sender, dessen Feldstärke RSSI über dem eingestellten Schwellwert liegt, anzufahren.

Bei der AM/FM Umschaltung ist interessant daß die AM-Empfängerröhren nach Abschalten der Heizung noch mehrere Sekunden weiterlaufen. Umgekehrt verstummt das Radio bei der Umschaltung auf AM erst mal komplett, bis die Röhren wieder angeheizt sind.

Die Unterfunktionen für den Suchlauf stammen aus den Monk-Bibliotheken und für das LED-stripe aus dem Adafruit-Bibliotheken. Die UKW-Frequenz wird in das Arduino-EEPROM geschrieben und der Wert beim Einschalten des Radio wieder aufgegriffen.

Diverse Ausgaben für den seriellen Monitor hab ich im Quellcode belassen. Sie stören ja nicht:













Keine Kommentare:

Kommentar veröffentlichen