Hallo zusammen,
die folgenden Zeilen kann man zwar nicht als Projekt definieren (bitte Thema ggf. verschieben), aber es gab im Forum immer mal wieder eine "Hausaufgabe" bzw. ein kleines (Schul)Projekt, das man mit dem Pi machen sollte ...
Dies hier ist eine einfache Morse-Station ('nackt' ohne irgendwelche Gehäuse und Schnickschnack, etc.), bestehend aus einem Skript und einer simplen Schaltung auf dem Steckbrett.
Schaltung:
[x] 2 Jumperkabel (m-f)
[x] LED
[x] Steckbrett
[x] 270 Ohm Widerstand
Anordnung:
GPIO1 => Jumperkabel => widerstand => Anode => Kathode => Jumperkabel => GPIO10
Skript:
Spoiler anzeigen
Python
#!/usr/bin/python3.2
# -*- coding: utf-8 -*-
# Import Module
from RPi import GPIO
from time import sleep
# globale Variablen
dit = 0.3 #die Morsegeschwindigkeit kann hier eingestellt werden
dah = dit * 3
pause_klein = dit * 2
pause_lang = dit * 6
morseCode = {'a':'.-', 'b':'-...', 'c':'-.-.', 'd':'-..', 'e':'.', 'f':'..-.',
'g':'--.', 'h':'....', 'i':'..', 'j':'.---', 'k':'-.-', 'l':'.-..',
'm':'--', 'n':'-.', 'o':'---', 'p':'.--.', 'q':'--.-', 'r':'.-.',
's':'...', 't':'-', 'u':'..-', 'v':'...-', 'w':'.--', 'x':'-..-',
'y':'-.--', 'z':'--..', 'ä':'.-.-', 'ö':'---.', 'ü':'..--',
'ß':'...--.', ' ':' ', '.':'.-.-.-', ',':'--..--', ':':'---...',
';':'-.-.-.', '?':'..--..', 'M':'-....-', '_':'..--.-',
'(':'-.--.', ')':'-.--.-', "'":'.----.', '=':'-...-', '+':'.-.-.',
'0':'-----', '1':'.----', '2':'..---', '3':'...--', '4':'....-',
'5':'.....', '6':'-....', '7':'--...', '8':'---..', '9':'----.',
'@':'.--.-.', 'è':'.-..-', 'é':'..-..', 'C':'----', 'S':'-..-.'}
PFAD = "/Pfad/zu/einer/Textdatei" #bitte anpassen
morseText = ''
# GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(10, GPIO.OUT)
# Hauptprogramm
try:
f = open(PFAD, "r")
text = f.read()
f.close()
except:
print("die Datei", PFAD, "konnte nicht geöffnet werden.")
text = ""
if text:
text = text.lower()
text = text.replace("\n", " ")
text = text.replace("ch", "C")
text = text.replace("/", "S")
text = text.replace("-", "M")
# print(text) #Debugging
for buchstabe in text:
if buchstabe in morseCode.keys():
morseText += morseCode[buchstabe] + '/'
# print(morseText) #Debugging/Kontrolle
for zeichen in morseText:
if zeichen == '.':
GPIO.output(10, False)
sleep(dit)
GPIO.output(10, True)
sleep(dit)
elif zeichen == '-':
GPIO.output(10, False)
sleep(dah)
GPIO.output(10, True)
sleep(dit)
elif zeichen == '/':
sleep(pause_klein)
else:
sleep(pause_lang)
print("Ende")
else:
print("Ende")
Alles anzeigen
so long
Perlchamp