Ich bin ziemlich neu in Python und versuche, etwas ein bisschen schwierig zu machen. Im Wesentlichen versuche ich Daten über das Licht zu senden. nur eine kleine Menge Text. So habe ich eine Zeile Code die ASCII-Binär zu kodieren, und das funktioniert gut und läßt mich mit einer Liste mit dem binären als Strings wieTiming-Problem zwischen dem Senden und Empfangen von Code
n=['0','b','1','0','1']
und so weiter. Ich habe eine Himbeere pi
eingerichtet, um mit dem Code unten zu senden, und eine mit dem Code weiter unten erhalten. Es scheint alles zu funktionieren, aber ich denke, das Timing ist zwischen den beiden deaktiviert und die Liste am empfangenen Ende ist verschoben und hat manchmal zufällige 0, wo es nicht sein sollte. (Ich denke, es liest schneller als Senden). Gibt es eine Möglichkeit, dies zu beheben, die Sie leicht sehen können? Die for-Schleifen starten beide gleichzeitig über die Drucktaste.
gesendet:
For x in range(2,130):
If myList[x] != '1':
Led.off()
Sleep(.5)
Led.off()
Elif myList == '1':
Led.on()
Sleep(.5)
Led.off()
Empfangen:
For x in range(2,130):
If gpio.input(14) == True:
myList[x] = '1'
Sleep(.5)
Elif gpio.input(14) ==False:
myList[x] = '0'
Sleep(.5)
Die gpio.input(14)
an einen photodiode
verbunden ist, dass die Signale, die von einer LED empfängt. Ich nehme an, dass der Code zum Empfangen schneller läuft als der sendende Code und warum das Timing deaktiviert ist, aber ich weiß nicht, wie ich es beheben soll.