---
# System prepended metadata

title: Compte rendue project feu tricolor

---

# Compte rendue project feu tricolor

**Partie 1 :**
Nous avons commencé par réaliser le schéma donné par le prof qui est : 
![](https://i.imgur.com/5vKIrAA.png)

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 : 
![](https://i.imgur.com/R7ZkZhJ.png)

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