Echanges autour d'EduPython.
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour, pourriez-vous me dire comment il faut faire pour enregistrer un code dans un répertoire contenant les bibliothèques de edupython .
Merci
Hors ligne
Bonjour,
Vous pouvez enregistrer votre code où vous voulez. Quand vous tapez par exemple
import math
Python recherche de lui même le module math dans les dossiers d'EduPython.
Bonne journée,
VM
Hors ligne
Merci pour votre réponse, je suis professeur de sciences physiques et je voulais établir la communication entre python et la carte arduino. Mais je ne comprends cette étape : Etape n°1
Copier le code ci-dessous dans un nouveau programme Python et nommer-le “microcontroleurs.py“. Ce programme doit être enregistré soit dans le répertoire de travail, soit dans le répertoire contenant les bibliothèques de la distribution Python utilisée (Ex : « lib » pour Edupython).
Merci pour votre aide précieuse.
Hors ligne
Dans EduPython, il y a déjà un certain nombre de modules pré-installés. Si votre programme utilise des modules d'EduPython, il n'y a rien à faire, sinon, il faut commencer par installer les modules en question. Je vous propose de mettre le code ici en copie que je regarde de quoi il y a besoin.
VM
Hors ligne
#! encoding: utf-8 import serial class arduino(): def __init__(self,port): self.serie = serial.Serial(port,baudrate=9600) synchro = ord(self.serie.read()) while synchro != 0: synchro = ord(self.serie.read()) def sortie_numerique(self,pin,etat): self.serie.write(chr(1).encode('latin-1')) self.serie.write(chr(pin).encode('latin-1')) self.serie.write(chr(etat).encode('latin-1')) def entree_numerique(self,pin): self.serie.write(chr(2).encode('latin-1')) self.serie.write(chr(pin).encode('latin-1')) val=ord(self.serie.read()) return val def sortie_analogique(self,pin,val): self.serie.write(chr(3).encode('latin-1')) self.serie.write(chr(pin).encode('latin-1')) self.serie.write(chr(val).encode('latin-1')) def entree_analogique(self,pin): self.serie.write(chr(4).encode('latin-1')) self.serie.write(chr(pin).encode('latin-1')) val1=ord(self.serie.read()) val2=ord(self.serie.read()) return val1*256 + val2 def son(self,pin,freq,duree=0): self.serie.write(chr(5).encode('latin-1')) self.serie.write(chr(pin).encode('latin-1')) self.serie.write(chr(freq>>8 & 255).encode('latin-1')) self.serie.write(chr(freq & 255).encode('latin-1')) self.serie.write(chr(int(duree*1000)>>8 & 255).encode('latin-1')) self.serie.write(chr(int(duree*1000) & 255).encode('latin-1')) def module_us(self,echo,trig): self.serie.write(chr(6).encode('latin-1')) self.serie.write(chr(echo).encode('latin-1')) self.serie.write(chr(trig).encode('latin-1')) val1=ord(self.serie.read()) val2=ord(self.serie.read()) return val1*256 + val2 def resistance_pt100(self,cs,di,do,clk): self.serie.write(chr(7).encode('latin-1')) self.serie.write(chr(cs).encode('latin-1')) self.serie.write(chr(di).encode('latin-1')) self.serie.write(chr(do).encode('latin-1')) self.serie.write(chr(clk).encode('latin-1')) val1=ord(self.serie.read()) val2=ord(self.serie.read()) return 430*(val1*256 + val2)/32768 def fermer(self): self.serie.close()
Hors ligne
Seul le module serial est utilisé, il est déjà présent dans EduPython, donc vous pouvez enregistrer votre code où vous voulez. Ceci étant dit, ce programme ne "fait rien" : il crée une nouvelle classe du nom d'arduino, mais c'est tout. Donc il ne va rien se passer si vous lancez ce code.
Hors ligne
Merci beaucoup, je sais que le code ne peut rien faire car c’est juste la première étape.
Hors ligne
Donc jusque là tout va bien N'hésitez pas
Hors ligne
Salutations ! Je suis un nouveau membre et je suis très heureux de vous rencontrer et d'avoir l'opportunité de poursuivre la communication.
Dernière modification par RogerCote (2022-09-22 05:58:29)
Hors ligne
Pages : 1