Anemometre
Modérateur : Francois
Anemometre
Bonjour à tous
j'aimerai pourvoir mesurer la vitesse du vent grâce à mon anemometre et mon rasp , mais étant débutant je ne sais absolument pas comment faire.
merci pour votre aide
(l'anémometre est équipé d'une prise rj45, il ressemble a celui ci:
http://www.selectronic.fr/anemometre-de ... -1745.html
)
j'aimerai pourvoir mesurer la vitesse du vent grâce à mon anemometre et mon rasp , mais étant débutant je ne sais absolument pas comment faire.
merci pour votre aide
(l'anémometre est équipé d'une prise rj45, il ressemble a celui ci:
http://www.selectronic.fr/anemometre-de ... -1745.html
)
Re: Anemometre
Salut, le gros soucis c'est qu'il n'y a aucune information sur le câblage c'est peu être du rj45 mais pas forcément de l'ethernet
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Re: Anemometre
Ayant l’habitude de ces produits,il y des ILS ,donc tu peux alimenter en 3.3 v si tu veux et avec une résistance de tirage, tu mesures la fréquence sur une entrée gpio, détection d’interruption en python par exemple (GPIO. add_event_detect(N°Broche,GPIO.front,callback=ProgIT,bouncetime=trebond))
avec la fréquence et tu obtiens la vitesse du vents.
Exemple anémomètre sur somfy voir lien
vitesse vent (en m/s) = F (en Hz) / 4,5 (voir dossier ressources somfy)
ou vitesse vent (en km/h) = 3,6 * F (en Hz) / 4,5
http://tsin.langevin-la-seyne.fr/SIN/store-somfy.html
sur ta ressource il manque la doc mais c'est certainement ainsi qu'il fonctionne car 11 € il n'y pas d'électronique interne.
A+ bruno
avec la fréquence et tu obtiens la vitesse du vents.
Exemple anémomètre sur somfy voir lien
vitesse vent (en m/s) = F (en Hz) / 4,5 (voir dossier ressources somfy)
ou vitesse vent (en km/h) = 3,6 * F (en Hz) / 4,5
http://tsin.langevin-la-seyne.fr/SIN/store-somfy.html
sur ta ressource il manque la doc mais c'est certainement ainsi qu'il fonctionne car 11 € il n'y pas d'électronique interne.
A+ bruno
Re: Anemometre
Tous d'abord merci pour votre!
Bruno je dois donc couper l'embout rj45 et dénuder les fils?
Merci pour la Doc je v voir sa.
Salut
Bruno je dois donc couper l'embout rj45 et dénuder les fils?
Merci pour la Doc je v voir sa.
Salut
Re: Anemometre
Oui, tu peux couper et souder des connecteurs adaptés au pi ,les rj45 ont été mis pour des mini stations météo avec différents capteurs branchés dessus.
Re: Anemometre
Salut
j´ai un problème avec le code suivant.
j´obtiens une erreur et je ne vois pas d´ou cela peux venir.
Merci pour votre aide.
j´ai un problème avec le code suivant.
Code : Tout sélectionner
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN)
GPIO. add_event_detect(7,GPIO.front,callback=ProgIT,bouncetime=trebond)
Merci pour votre aide.
Re: Anemometre
ton code n'est pas bon
GPIO. add_event_detect (N°Broche,GPIO.front,callback=ProgIT,bouncetime=trebond)
N°Broche Numéro de la broche sur laquelle on souhaite identifier l’évènement.
front Type de transition à détecter : RISING, FALLING, BOTH
ProgIT Nom du sous-programme d’interruption
trebond Temps de retard (ms) pour ne pas tenir compte des rebonds mécaniques du bouton qui risquerait d’exécuter le programme d’interruption plusieurs fois.
pour mesurer simplement la fréquence (avec une erreur ,si non il faut un timer interne et synchroniser ton signal avec la liaison spi), tu comptes le nombre d'impulsions par exemple pendant 10 secondes et f (hz)= N*0.1 mais pour une mesure de vitesse de vent la précision est suffisante.
A+bruno
GPIO. add_event_detect (N°Broche,GPIO.front,callback=ProgIT,bouncetime=trebond)
N°Broche Numéro de la broche sur laquelle on souhaite identifier l’évènement.
front Type de transition à détecter : RISING, FALLING, BOTH
ProgIT Nom du sous-programme d’interruption
trebond Temps de retard (ms) pour ne pas tenir compte des rebonds mécaniques du bouton qui risquerait d’exécuter le programme d’interruption plusieurs fois.
pour mesurer simplement la fréquence (avec une erreur ,si non il faut un timer interne et synchroniser ton signal avec la liaison spi), tu comptes le nombre d'impulsions par exemple pendant 10 secondes et f (hz)= N*0.1 mais pour une mesure de vitesse de vent la précision est suffisante.
A+bruno
Re: Anemometre
bonsoir,
je suis nouveau en programmation python.
je cherche à programmer une interruption afin de ne pas surcharger mon programme principal.
au vu des échanges ci-dessus, j'ai compris qu'il fallait déclarer l'interruption dans le programme principal avec les instructions suivantes :
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN)
GPIO. add_event_detect(7,GPIO.front,callback=ProgIT,bouncetime=trebond)
je suis nouveau en programmation python.
je cherche à programmer une interruption afin de ne pas surcharger mon programme principal.
au vu des échanges ci-dessus, j'ai compris qu'il fallait déclarer l'interruption dans le programme principal avec les instructions suivantes :
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.IN)
GPIO. add_event_detect(7,GPIO.front,callback=ProgIT,bouncetime=trebond)
Re: Anemometre
désolé, j'ai posté le message précédent par mégarde.
je disais donc après avoir déclarer l'interruption en prenant en compte les remarques de bruno83, il faut créer un script pour l'interruption.
Maintenant concernant le programme principal, comment fait-on pour que celui-ci soit toujours en cours d’exécution ?
J'avais pensé à une boucle en fin de programme principal avec comme condition une combinaison de touche (par exemple CTRL+R) mais j'ai un doute.
cette façon de faire ne me semble pas propre car je vais consommer de la ressource processeur pour détecter la fin d'exécution du programme principal ?
Si le programme principal est fermé, l'interruption n'est plus active ?
Ou elle le reste jusqu'à ce que la cde suivante soit exécuter ?
"GPIO.remove_event_detect(channel)"
Merci d'avance pour votre aide
cdlt
je disais donc après avoir déclarer l'interruption en prenant en compte les remarques de bruno83, il faut créer un script pour l'interruption.
Maintenant concernant le programme principal, comment fait-on pour que celui-ci soit toujours en cours d’exécution ?
J'avais pensé à une boucle en fin de programme principal avec comme condition une combinaison de touche (par exemple CTRL+R) mais j'ai un doute.
cette façon de faire ne me semble pas propre car je vais consommer de la ressource processeur pour détecter la fin d'exécution du programme principal ?
Si le programme principal est fermé, l'interruption n'est plus active ?
Ou elle le reste jusqu'à ce que la cde suivante soit exécuter ?
"GPIO.remove_event_detect(channel)"
Merci d'avance pour votre aide
cdlt