# Compte rendue project feu tricolor
**Partie 1 :**
Nous avons commencé par réaliser le schéma donné par le prof qui est :

Ensuite j'ai écris le programme suivant :
```
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
LED_RED = 11
LED_ORANGE = 13
LED_GREEN = 15
GPIO.setup(LED_RED, GPIO.OUT)
GPIO.setup(LED_ORANGE, GPIO.OUT)
GPIO.setup(LED_GREEN, GPIO.OUT)
GPIO.output(LED_GREEN, GPIO.HIGH)
time.sleep(10)
GPIO.output(LED_GREEN, GPIO.LOW)
GPIO.output(LED_ORANGE, GPIO.HIGH)
time.sleep(2)
GPIO.output(LED_ORANGE, GPIO.LOW)
GPIO.output(LED_RED, GPIO.HIGH)
time.sleep(8)
GPIO.output(LED_RED, GPIO.LOW)
```
Je vais maintenant vous l'expliquez :
* import permet de rajouter des modules au programme
* GPIO.setmode(GPIO.BOARD) permet de configurer les ports GPIO en mode BOARD
* GPIO.setwarning(False) permet de desactiver le mode warning
* La ligne 7 à 10 sont des variables on nomme la variable puis on lui attribut une donnée
* GPIO.setup() permet de configurer les ports GPIO
* GPIO.output permet de donner une information au port GPIO
* time.sleep() permet de faire une pause en seconde du temps entre paranthése
Ceci conclue notre partie 1.
**Partie 2**
Nous avons commencé par réaliser le schéma donné par le prof qui est :

Ensuite j'ai écris ce programme :
```
import RPi.GPIO as GPIO
from time import *
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GREEN = 40
ORANGE = 38
RED = 36
pinBtn = 3
GPIO.setup(RED, GPIO.OUT)
GPIO.setup(ORANGE, GPIO.OUT)
GPIO.setup(GREEN, GPIO.OUT)
GPIO.setup(pinBtn, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
def ALLUMAGE():
GPIO.output(ORANGE, GPIO.HIGH)
time.sleep(2)
GPIO.output(ORANGE, GPIO.LOW)
GPIO.output(RED, GPIO.HIGH)
time.sleep(8)
GPIO.output(RED, GPIO.LOW)
while 1==1:
GPIO.output(GREEN, GPIO.HIGH)
for i in range(100):
if GPIO.input(pinBtn)==1:
GPIO.output(GREEN, GPIO.LOW)
break
time.sleep(0.1)
ALLUMAGE()
```
Je vais maintenant vous l'expliquez :
* def suivi d'un nom permet de créer une fonction que l'on pourra rappeler plus tard
* Le mot-clé while signifie tant que en anglais. Le corps de la boucle sera répété tant que la condition est vraie
* L’instruction for est une instruction composée, c’est-à-dire une instruction dont l’en-tête se termine par deux-points :, suivie d’un bloc indenté qui constitue le corps de la boucle
* L'instruction break, comme en C, interrompt la boucle for ou while la plus profonde
Ce qui conclue le TP. Merci de m'avoir lu.
Bruggeman Viktor