FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Tutoriel débutant : Créez le jeu Simon sur Raspberry Pi avec une breadboard

Une breadboard (ou planche à pain) permet de prototyper des circuits électroniques sans soudure. Idéal pour les débutants en électronique, cet outil peut sembler intimidant au départ. Un projet concret comme le jeu Simon vous motivera à apprendre pas à pas.

Le jeu Simon est un classique de mémoire : des LED clignotent dans un ordre aléatoire, et vous devez reproduire la séquence. Elle s'allonge à chaque niveau. Parfait pour débuter avec Raspberry Pi !

Composants requis

Voici la liste indispensable :

  1. Raspberry Pi (évitez le Pi Zero sans adaptations)
  2. Carte microSD avec Raspberry Pi OS
  3. 4 LED de couleurs différentes
  4. 4 résistances (220 Ω à 1 kΩ)
  5. 4 boutons-poussoirs
  6. 1 breadboard
  7. Câbles jumper

Tout modèle de Pi convient, mais prévoyez alimentation, écran, clavier et souris. Si c'est votre premier Pi, consultez notre guide du débutant Raspberry Pi.

Utilisez Thonny (préinstallé) pour coder en Python : simple et adapté aux novices.

Premiers pas avec la breadboard

Découvrez les bases de la breadboard via un tutoriel dédié. Le Pi dispose de broches GPIO pour interfacer composants : sorties (signaux), alimentation (5V/3.3V) et masse (GND).

Tutoriel débutant : Créez le jeu Simon sur Raspberry Pi avec une breadboard

Commencez par une LED : connectez GPIO 18 (ou BCM 24) à une ligne de la breadboard, GND 6 au rail masse. Ajoutez résistance avant anode LED (+ longue), cathode au GND.

Tutoriel débutant : Créez le jeu Simon sur Raspberry Pi avec une breadboard

Vérifiez les connexions : la LED s'allume au boot. Vous contrôlez maintenant un circuit via code !

Contrôlez les LED avec Python

Code complet disponible sur Pastebin. Voici les bases :

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
red = 18
GPIO.setup(red, GPIO.OUT)
GPIO.output(red, GPIO.LOW)
print("LED éteinte")

Explication : Importez GPIO et time. Mode BOARD numérote physiquement les broches. Testez en alternant HIGH/LOW.

Exécutez via Thonny ou terminal : python nom_fichier.py.

Ajoutez plusieurs LED

Pour Simon, 4 LED sur GPIO 18 (rouge), 22 (jaune), 24 (vert), 26 (bleu) :

Tutoriel débutant : Créez le jeu Simon sur Raspberry Pi avec une breadboard
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
red, yellow, green, blue = 18, 22, 24, 26
GPIO.setup([red, yellow, green, blue], GPIO.OUT)
GPIO.output([red, yellow, green, blue], GPIO.HIGH)
time.sleep(1)
GPIO.output([red, yellow, green, blue], GPIO.LOW)

Utilisez des câbles colorés pour plus de clarté.

Ajoutez les boutons

Montez un bouton : un côté à GPIO (entrée), autre à GND. Utilisez pull-up interne.

Tutoriel débutant : Créez le jeu Simon sur Raspberry Pi avec une breadboard
GPIO.setup(32, GPIO.IN, pull_up_down=GPIO.PUD_UP)

Exemple boucle pour réagir au bouton rouge (GPIO 32) :

game = True
while game:
    red_state = GPIO.input(32)
    if red_state == 0:
        GPIO.output(red, GPIO.HIGH)
        time.sleep(1)
        GPIO.output(red, GPIO.LOW)

Étendez à 4 boutons (36,38,40). Montage final :

Tutoriel débutant : Créez le jeu Simon sur Raspberry Pi avec une breadboard

Créez le jeu Simon

Séquence : motif aléatoire affiché, joueur reproduit.

Générez le motif

import random
pattern = []
lights = [red, yellow, green, blue]
while game:
    pattern.append(random.randint(0, 3))
    for x in pattern:
        GPIO.output(lights[x], GPIO.HIGH)
        time.sleep(1)
        GPIO.output(lights[x], GPIO.LOW)
        time.sleep(0.5)

Récupérez l'entrée joueur

Boucles imbriquées pour vérifier séquence :

for x in pattern:
    wait = True
    while wait:
        if GPIO.input(32) == 0:  # Rouge
            GPIO.output(red, GPIO.HIGH)
            if x != 0: game = False
            wait = False
            time.sleep(1)
            GPIO.output(red, GPIO.LOW)
        # Similaire pour autres boutons

Vérifiez la saisie

Comparez avec motif : erreur → game = False.

Félicitations ! Votre jeu Simon est prêt

Améliorez-le : sons via buzzer, effets visuels, scores. L'imagination prime, avec votre matos sous la main !

[]