Ich habe ein Riesen Problem. Ich habe seit Jahren Python Bücher über Bücher,die ich auch immer wieder lese. Für meine Begriffe, befassen die sich nur mit einer neuen programmierung des Programmes Word. Ich versteh sie nicht. Hast du nicht einen Tip, welches Buch sich mit Python Geometrie,Zahlen und Berechnungen befasst, dann wird sicherlich auch mal mein Groschen fallen..
Ich bin ja auch bis jetzt ans Ziel gekommen mit Kraut und Rüben Programmierung. Nur das ist nicht mehr mein Ziel. Ich möchte schon gerne mehr Lernen und Wissen über die Sprache und ihre Struktur.
Warum habe ich soviele Bücher. Ich gehe immer in eine Buchhandlung und schaue mir das Buch an und rein, finde dann auch eine Sache die ich Verstehe und somit wurde es gekauft. Nur zur Struktur hab ich bis heute kein für mich verständliches gefunden. Struktur heisst für mich, Welche Variablen sind wo Aktiv.
Entschuldigt nochmal meine Einrückungen, das kommt vom Editor des Raspi´s. Wing läuft auf ihm leider nicht und auf meinem Hauptrechner , laufen die Python Programme des Raspi´s nicht, weil die Funktionen dessen nicht gefunden werden. Mega Mist, denn im Wing, sehe ich die Ergebnisse der Variablen sofort die ich in der normalen Python Umgebung nicht sehe. Eine Programm Entwicklung ist da schon sehr ZÄH
Ich bin ja auch 2 Schritte weiter gekommen
Code: Alles auswählen
#läuft, diese Version soll die Zustandsdatei lesen und weiter verarbeiten und neu schreiben
import sys,re, time, Adafruit_PCA9685, tkinter,shelve,os,subprocess
from tkinter import *
pwm = Adafruit_PCA9685.PCA9685()
pwm.set_pwm_freq(60)
def tor1():
datei_n=tor1
datei_name=(("tor1")+str(".dat"))
daten=read_data(datei_name)
servo1_min = float(daten['servo1_min'])
servo1_max = float(daten['servo1_max'])
kanal1=int(daten['kanal1'])
servo2_min = float(daten['servo2_min'])
servo2_max = float(daten['servo2_max'])
kanal2=int(daten['kanal2'])
servo_anz=int(daten['servo_anz'])
v_zeit=float(daten['v_zeit'])
bewegen(servo1_min,servo1_max,kanal1,servo2_min,servo2_max,kanal2,servo_anz,v_zeit,datei_name)
s1=servo1_max
s2=servo2_max
servo1_max=int(servo1_min)
servo2_max=int(servo2_min)
servo1_min=int(s1)
servo2_min=int(s2)
datei_neu(servo1_min,servo1_max,kanal1,servo2_min,servo2_max,kanal2,servo_anz,v_zeit,datei_name)
def tor2():
datei_name=(("tor2")+str(".dat"))
daten=read_data(datei_name)
servo1_min = float(daten['servo1_min'])
servo1_max = float(daten['servo1_max'])
kanal1=int(daten['kanal1'])
servo2_min = float(daten['servo2_min'])
servo2_max = float(daten['servo2_max'])
kanal2=int(daten['kanal2'])
servo_anz=int(daten['servo_anz'])
v_zeit=float(daten['v_zeit'])
bewegen(servo1_min,servo1_max,kanal1,servo2_min,servo2_max,kanal2,servo_anz,v_zeit,datei_name)
s1=servo1_max
s2=servo2_max
servo1_max=int(servo1_min)
servo2_max=int(servo2_min)
servo1_min=int(s1)
servo2_min=int(s2)
datei_neu(servo1_min,servo1_max,kanal1,servo2_min,servo2_max,kanal2,servo_anz,v_zeit,datei_name)
def datei_neu(servo1_min,servo1_max,kanal1,servo2_min,servo2_max,kanal2,servo_anz,v_zeit,datei_name):
f=open(datei_name,"w")
f.write("servo1_min"+"="+str(servo1_min)+"\n")
f.write("servo1_max"+"="+str(servo1_max)+"\n")
f.write("servo2_min"+"="+str(servo2_min)+"\n")
f.write("servo2_max"+"="+str(servo2_max)+"\n")
f.write("servo_anz"+"="+str(servo_anz)+"\n")
f.write("v_zeit"+"="+str(v_zeit)+"\n")
f.write("kanal1"+"="+str(kanal1)+"\n")
f.write("kanal2"+"="+str(kanal2)+"\n")
f.close()
def bewegen(servo1_min,servo1_max,kanal1,servo2_min,servo2_max,kanal2,servo_anz,v_zeit,datei_name):
servo1_step=(servo1_max-servo1_min)/servo_anz
servo1_pos=servo1_min
servo2_step=(servo2_max-servo2_min)/servo_anz
servo2_pos=servo2_min
for i in range(int(servo_anz)):
servo1_pos=int(servo1_pos+servo1_step)
pwm.set_pwm(kanal1, 0, servo1_pos)
time.sleep(float(v_zeit))
servo2_pos=int(servo2_pos+servo2_step)
pwm.set_pwm(kanal2, 0, servo2_pos)
time.sleep(float(v_zeit))
return()
def Grafik():
rootWindow=Tk()
rootWindow.wm_geometry("500x300")
b1=Button(rootWindow,text="tor 1",command=tor1)
b1.place(x=50, y=50, anchor="s")
b2=Button(rootWindow,text="tor 2",command=tor2)
b2.place(x=100, y=50, anchor="s")
def read_data(datei_name):
result={}
with open(datei_name) as lines:
for line in lines:
name, _, value = line.partition('=')
result[name.strip()] = value.strip()
return result
def main():
Grafik()
def ende():
sys.exit(0)
if __name__ == '__main__':
main()
Tor1:
Code: Alles auswählen
servo1_min=450
servo1_max=200
servo2_min=210
servo2_max=405
servo_anz=20
v_zeit=0.06
kanal1=2
kanal2=3
tor2:
Code: Alles auswählen
servo1_min=210
servo1_max=420
servo2_min=425
servo2_max=225
servo_anz=20
v_zeit=0.06
kanal1=0
kanal2=1
Als nächstes möchte ich, das ich die Torflügel unabhängig steuern kann
Wird wieder ne Woche und viele viele Fragen hier brauchen
Viele Grüße und Danke für eure Hilfe