Hallo Leute,
ich stelle mir die Frage, ob es sämtliche Programme aus dem im Betreff angegeben Buch auch zum Download gibt, oder ob diese nur auf der käuflich zu erwerbenen SD-Karte von Elektor sind.
Ich habe nun einige Probleme von selbst lösen bzw. recherchieren können, doch jetzt stoße ich auf ein Problem, dessen Lösung einfach nicht gefunden werden will...:s
Mein erstes Anliegen ist also, an sämtliche Programme des Buches zu kommen und
mein zweites Anliegen ist, Hilfe bei dem derzeitigen Problem (Quelltext unten) zu bekommen.
Ich verstehe auch nicht, wieso Python auf meinem PC dieses bemängelt und das auf dem Raspberry Pi bemängelt bereits, dass es kein ASCII ist (Non-ASCII found, yet no encoding declared. Add a link like " # -*- coding: cp1252 -*- " to your file [...])
Vielen Dank schonmal! :thumbs1:
Dateiname: timerled.pyw (aus dem Buch abgeschrieben)
ZitatAlles anzeigen
import wx
import os
import wiringpiclass Example(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self,parent)
# self.io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS)
self.InitUI()
def InitUI(self):
self.SetBackgroundColour('white')
self.SetSize((250, 200))
self.SetTitle('Timer LED')
self.Centre()
self.Show(True)# Hier eigene Objekte einfügen
# Timerobjekt
self.timer = wx.Timer(self)
# Funktion, die vom Timer aufgerufen wird
self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)# Pins konfigurieren
os.system( 'gpio export 4 out' )
global io
io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS)
io.pinMode(4,io.OUTPUT)# Die ist Button 0
cbtn0 = wx.Button(self, label='Start', pos=(20, 60))
# Funktion, die beim Klick aufgerufen wird
cbtn0.Bind(wx.EVT_BUTTON, self.OnStart)# ein Textfeld
self.text = wx.StaticText(self, label='Press button to start',pos=(20,30))# Hier eigene Funktionen einfügen
def OnStart(self, e):
# starte den Timer, Event alle 10ms
self.count=0
self.text.SetLabel('0')
self.timer.Start(10)
io.digitalWrite(4,1)def OnTimer(self, e):
# der timer erhöht alle 10ms den Zähler
self.count = self.count + 1
# und zeigt ihn an
self.text.SetLabel('Elapsed time ' + str(self.count*10) + 'ms')if self.count==200:
# Zeit vorbei stoppe Timer
self.timer.Stop()
io.digitalWrite(4,0)
self.text.SetLabel('Press button to start')def main():
ex = wx.App()
Example(None)
ex.MainLoop()if __name__ == '__main__':
main()