kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Übung zu Datenpufferung Sommer 2017

(EN google-translate)

(PL google-translate)

Überblick

Es soll ein Moresesystem entwickelt werden.

Texte, die im Serial-Monitor eingegeben und an den Arduino-Micro geschickt werden, sollen Zeichen für Zeichen in Morsepulse umgesetzt werden.

Dabei entsteht insbesondere folgendes Problem:

Das Verschicken eines längeren Textes geht viel schneller, als das Umsetzen des Textes in Morsepulse.

Lösung:

Der Text wird in einen Puffer-Speicher abgelegt und nach und nach abgearbeitet.

Wie hat man sich einen Pufferspeicher und den zugehörigen Mechanismus vorzustellen?

Bild 0-1:

  • Solange der Seriell-Merker auf einen leeren Speicherplatz trifft, schreibt er das nächste Zeichen in den Puffer.
  • Der Index des Seriell-Merkers wird danach inkrementiert.
  • Solange der Index vom Morseübertrager nicht die gleiche Position hat, wie der Index vom Seriell-Merker, wird das vorleigende Zeichen in Morsepulse umgesetzt, gelöscht und dann der Index erhöht.
  • Kommt ein Index ans Ende des Pufferspeichers, wird er wieder auf Null gesetzt.
Aufgabe 1
  • Realisieren Sie mit den Arduino-Libraries einen Morseumsetzer für die Ziffern 0 bis 9.
  • Verwenden Sie die Arduino-Library Serial und die Funktuion delay(...).
  • Das Morsesignal wird durch eine grüne LED angezeigt.
Aufgabe 2
  • Erzeugen Sie das Morsesignal als Piepton mit Hilfe der Arduinofunktion "tone".
  • Wenn der Puffer voll ist, soll eine rote LED aufleuchten.

Achtung: Verwenden Sie für den Lautsprecher einen Vorwiderstand von mindestens 1000 Ohm zur Strombegrenzung und Schonung der Ohren ;-)


Aufgabe 3
  • Realisieren Sie den Piepton mit Hilfe des Timers 1 im CTC-Mode.
Zusatzaufgabe

Entwickeln Sie auf Basis des Morsecodes ein Bussystem.

Hinweise:

  • Statt Lang und kurz können digitale Signale auf zwei Leitungen verwendet werden.
  • Eine dritte Leitung kann anzeigen, dass ein neues Zeichen gesendet wird.