Bonjour,
Tout d'abord félicitations pour votre site remarquable !
Je débute en langage python et de ce fait mes connaissances actuelles sont très limitées....
Mon problème: je travaille avec une mini ordinateur pcDuino (comparable à un Raspberry Pi) sous LXDE 14.04. Je souhaiterai créer une application (ma première....) pour gérer un futur aquaterrarium.
J'ai parcouru le net et je suis arrivé naturellement à utiliser Python 2.x et Tkinter qui sont installés par défaut sur cette mini carte.
J'ai parcouru de nombreux tutos et je me suis enfin lancé. j'ai réussi à afficher dans une fenêtre la valeur de l'échelon d'une entrée analogique à laquelle est raccordée un capteur de température LM35.
le programme:
Avec ce programme (probablement pas très propre...) l' échelon apparaît dan la fenêtre du terminal et dans ma fenêtre Tkinter !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #!/usr/bin/python #-*- coding: utf-8 -*- # importation modules from Tkinter import * import gpio from adc import analog_read import time #led_pin = "gpio2" # configuration LED sur gpio2 #gpio.pinMode(led_pin, gpio.OUTPUT) # configuration de gpio2 en sortie def maj(): # on arrive ici toutes les 1000 ms temperature.set ('Echelon = ' + str(analog_read(2))) # lecture adc2 Mafenetre.after(1000,maj) # boucle toute les 1000 ms Mafenetre = Tk() Mafenetre.title("Echelon LM35 sur ADC2") # titre de la fenetre # Creation d'un widget Label temperature = StringVar() Label(Mafenetre,textvariable=temperature).pack(padx=10,pady=10) maj() Mafenetre.mainloop()
J'ai voulu améliorer ma petite application pour faire une moyenne sur 64 lectures. J'ai créer une fonction pour affichage dans ma fenêtre..... mais impossible de faire fonctionner....
nouveau programme:
J'obtiens l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #!/usr/bin/python #-*- coding: utf-8 -*- # importation modules from Tkinter import * import gpio from adc import analog_read import time #led_pin = "gpio2" # configuration LED sur gpio2 #gpio.pinMode(led_pin, gpio.OUTPUT) # configuration de gpio2 en sortie def analog_read64(): # 64 lectures et moyenne somme_temp = 0 i = 0 while i < 64: # lecture 64 x echelon temp = analog_read(2) # lecture adc2 somme_temp = somme_temp + temp i += 1 temp = somme_temp / 64 print temp def temp_LM35(): temp.set ('Temperature ' + analog_read64()) Mafenetre.after(1000,temp_LM35) # boucle toutes les secondes Mafenetre = Tk() Mafenetre.title("Moyenne echelon LM35") # titre de la fenetre # Creation d'un widget Label temp = StringVar() Label(Mafenetre,textvariable=temp).pack(padx=10,pady=10) temp_LM35() Mafenetre.mainloop()
Un problème de type de variable que je n'arrive pas à résoudre malgré toutes mes recherches sur le net....Traceback (most recent call last):
File "Affichage moyenne echelon LM35.py", line 35, in <module>
temp_LM35()
File "Affichage moyenne echelon LM35.py", line 25, in temp_LM35
temp.set ('Temperature ' + analog_read64())
TypeError: cannot concatenate 'str' and 'NoneType' objects
Merci de votre aide afin de m'orienter sur une solution ainsi que sur les notions élémentaires qui m'échappent !
Cordialement
Partager