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 !
Voici la liste indispensable :
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.
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).

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.

Vérifiez les connexions : la LED s'allume au boot. Vous contrôlez maintenant un circuit via code !
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.
Pour Simon, 4 LED sur GPIO 18 (rouge), 22 (jaune), 24 (vert), 26 (bleu) :

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é.
Montez un bouton : un côté à GPIO (entrée), autre à GND. Utilisez pull-up interne.

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 :

Séquence : motif aléatoire affiché, joueur reproduit.
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)
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
Comparez avec motif : erreur → game = False.
Améliorez-le : sons via buzzer, effets visuels, scores. L'imagination prime, avec votre matos sous la main !
[]