BARRAUX Arthur
2 years ago
2 changed files with 173 additions and 0 deletions
@ -0,0 +1,173 @@ |
|||||
|
# pour installer la librairie MCP9808 : |
||||
|
# cd ~ |
||||
|
# git clone https://github.com/adafruit/Adafruit_Python_MCP9808.git |
||||
|
# Attention à la version de python par défaut ( python --version) |
||||
|
# Si ce n'est pas la bonne : |
||||
|
# sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 |
||||
|
# cd Adafruit_Python_MCP9808 |
||||
|
# sudo python setup.py install |
||||
|
|
||||
|
|
||||
|
import RPi.GPIO as GP |
||||
|
import time |
||||
|
import Adafruit_MCP9808.MCP9808 as mcp |
||||
|
import serial |
||||
|
import threading |
||||
|
|
||||
|
# initialisation du raspberry |
||||
|
capteurTemp = mcp.MCP9808() |
||||
|
GP.setwarnings(False) |
||||
|
GP.setmode(GP.BOARD) |
||||
|
GP.setup(7,GP.OUT, initial=GP.LOW) # D1, a1 |
||||
|
GP.setup(11,GP.OUT, initial=GP.LOW) # D2, b1 |
||||
|
GP.setup(13,GP.OUT, initial=GP.LOW) # D3, c1 |
||||
|
GP.setup(15,GP.OUT, initial=GP.LOW) # D4, d1 |
||||
|
GP.setup(19,GP.OUT, initial=GP.LOW) # D5, e1 |
||||
|
GP.setup(21,GP.OUT, initial=GP.LOW) # D6, f1 |
||||
|
GP.setup(23,GP.OUT, initial=GP.LOW) # D7, g1 |
||||
|
GP.setup(22,GP.OUT, initial=GP.LOW) # D8, DP1 |
||||
|
GP.setup(29,GP.OUT, initial=GP.LOW) # a2, RVB rouge |
||||
|
GP.setup(31,GP.OUT, initial=GP.LOW) # b2, RVB bleu |
||||
|
GP.setup(33,GP.OUT, initial=GP.LOW) # c2, RVB vert |
||||
|
GP.setup(35,GP.OUT, initial=GP.LOW) # d2 |
||||
|
GP.setup(37,GP.OUT, initial=GP.LOW) # e2 |
||||
|
GP.setup(16,GP.OUT, initial=GP.LOW) # f2 |
||||
|
GP.setup(18,GP.OUT, initial=GP.LOW) # g2 |
||||
|
GP.setup(24,GP.OUT, initial=GP.LOW) # DP2 |
||||
|
GP.setup(26,GP.IN) # Bouton poussoir 1 |
||||
|
GP.setup(32,GP.IN) # Bouton poussoir 2 |
||||
|
|
||||
|
#Ouverture et configuration du port UART |
||||
|
monPort = serial.Serial( |
||||
|
port='/dev/ttyS0', |
||||
|
baudrate = 9600, |
||||
|
parity=serial.PARITY_NONE, |
||||
|
stopbits=serial.STOPBITS_ONE, |
||||
|
bytesize=serial.EIGHTBITS, |
||||
|
timeout=1 |
||||
|
) |
||||
|
|
||||
|
# Lancement d'un thread pour répliquer les octets reçus sur l'uart |
||||
|
def Lire_port(): |
||||
|
""" écoute le port UART et renvoie les octets reçus""" |
||||
|
while monPort.isOpen(): # tant que le port est ouvert le thread fonctionne |
||||
|
data = (monPort.read()) |
||||
|
if len(data) !=0: |
||||
|
print(data) |
||||
|
monPort.write(data) |
||||
|
|
||||
|
threadLectureUART = threading.Thread(target=Lire_port, args=()) |
||||
|
threadLectureUART.start() |
||||
|
|
||||
|
#Test des boutons poussoir |
||||
|
print ("appuyer sur le bouton poussoir 1") |
||||
|
while GP.input(26): |
||||
|
pass |
||||
|
print("BP1 OK") |
||||
|
print ("appuyer sur le bouton poussoir 2") |
||||
|
while GP.input(32): |
||||
|
pass |
||||
|
print("BP2 OK") |
||||
|
|
||||
|
#Test des leds |
||||
|
print("mettre le cavalier en position LED puis appuyer sur BP1 pour lancer le test") |
||||
|
while GP.input(26): |
||||
|
pass |
||||
|
for i in range(5): |
||||
|
GP.output(7, GP.HIGH) |
||||
|
GP.output(11, GP.HIGH) |
||||
|
GP.output(13, GP.HIGH) |
||||
|
GP.output(15, GP.HIGH) |
||||
|
GP.output(19, GP.HIGH) |
||||
|
GP.output(21, GP.HIGH) |
||||
|
GP.output(23, GP.HIGH) |
||||
|
GP.output(22, GP.HIGH) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(7, GP.LOW) |
||||
|
GP.output(11, GP.LOW) |
||||
|
GP.output(13, GP.LOW) |
||||
|
GP.output(15, GP.LOW) |
||||
|
GP.output(19, GP.LOW) |
||||
|
GP.output(21, GP.LOW) |
||||
|
GP.output(23, GP.LOW) |
||||
|
GP.output(22, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
|
||||
|
#Test afficheurs |
||||
|
print("mettre le cavalier en position afficheur puis appuyer sur BP1 pour lancer le test") |
||||
|
while GP.input(26): |
||||
|
pass |
||||
|
for i in range(5): |
||||
|
GP.output(7, GP.HIGH) |
||||
|
GP.output(11, GP.HIGH) |
||||
|
GP.output(13, GP.HIGH) |
||||
|
GP.output(15, GP.HIGH) |
||||
|
GP.output(19, GP.HIGH) |
||||
|
GP.output(21, GP.HIGH) |
||||
|
GP.output(23, GP.HIGH) |
||||
|
GP.output(22, GP.HIGH) |
||||
|
GP.output(29, GP.HIGH) |
||||
|
GP.output(31, GP.HIGH) |
||||
|
GP.output(33, GP.HIGH) |
||||
|
GP.output(35, GP.HIGH) |
||||
|
GP.output(37, GP.HIGH) |
||||
|
GP.output(16, GP.HIGH) |
||||
|
GP.output(18, GP.HIGH) |
||||
|
GP.output(24, GP.HIGH) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(7, GP.LOW) |
||||
|
GP.output(11, GP.LOW) |
||||
|
GP.output(13, GP.LOW) |
||||
|
GP.output(15, GP.LOW) |
||||
|
GP.output(19, GP.LOW) |
||||
|
GP.output(21, GP.LOW) |
||||
|
GP.output(23, GP.LOW) |
||||
|
GP.output(22, GP.LOW) |
||||
|
GP.output(29, GP.LOW) |
||||
|
GP.output(31, GP.LOW) |
||||
|
GP.output(33, GP.LOW) |
||||
|
GP.output(35, GP.LOW) |
||||
|
GP.output(37, GP.LOW) |
||||
|
GP.output(16, GP.LOW) |
||||
|
GP.output(18, GP.LOW) |
||||
|
GP.output(24, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
|
||||
|
#Test Led RVB |
||||
|
print("mettre le cavalier en position Led RVB puis appuyer sur BP1 pour lancer le test Led RVB") |
||||
|
while GP.input(26): |
||||
|
pass |
||||
|
GP.output(29, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(29, GP.HIGH) |
||||
|
GP.output(31, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(31, GP.HIGH) |
||||
|
GP.output(33, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(31, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(31, GP.HIGH) |
||||
|
GP.output(29, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(29, GP.HIGH) |
||||
|
GP.output(33, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(29, GP.LOW) |
||||
|
GP.output(31, GP.LOW) |
||||
|
GP.output(33, GP.LOW) |
||||
|
time.sleep(0.5) |
||||
|
GP.output(29, GP.HIGH) |
||||
|
GP.output(31, GP.HIGH) |
||||
|
GP.output(33, GP.HIGH) |
||||
|
|
||||
|
# Test capteur de température |
||||
|
print("appuyer sur BP1 pour lancer le test capteur de température") |
||||
|
while GP.input(26): |
||||
|
pass |
||||
|
capteurTemp.begin() |
||||
|
for i in range(5): |
||||
|
temperature = capteurTemp.readTempC() |
||||
|
print("Température = ",temperature, " °C") |
||||
|
time.sleep(0.5) |
||||
|
|
Loading…
Reference in new issue