Aller au contenu principal

Test de distraction STM32

InformatiqueTechnologieSTM32 IoT NodeBouton-poussoirLED, BuzzerÉcran OLEDMakeCode
ProjetDuréeDifficultéÂge
The Dexter Lab1-2 heuresIntermédiaire12-16 ans

Matériel

  • 1 carte programmable "STM32 IoT Node Board"
  • 1 bouton-poussoir
  • 1 LED + résistance 330 Ω
  • 1 buzzer
  • 1 écran OLED SSD1306
  • 1 breadboard + câbles
  • 1 câble USB - micro B
Test de distraction STM32

De quoi parle-t-on ?

Cette fiche technique accompagne la ressource Distractions et temps de réaction. Elle reprend la chaîne de programmation pour mesurer le temps de réaction avec stimulus visuel ou sonore, afin d'étudier comment différentes formes de distraction (musique, téléphone, conversation) affectent la vitesse de réponse.

Objectifs d'apprentissage

  • Programmer un stimulus visuel (LED) puis sonore (buzzer) en MakeCode
  • Mesurer un intervalle temporel via control.millis()
  • Comparer des mesures dans plusieurs conditions expérimentales
  • Afficher les résultats sur un écran OLED

Étape 1 : Stimulus visuel (LED)

Câblage : Bouton-poussoir sur GND/D2, LED anode sur D4, cathode via résistance 330Ω sur GND.

Câblage LED + bouton-poussoir

Installez l'extension Serial.

Données collectées LED + bouton
input.buttonD2.onEvent(ButtonEvent.Down, function () {
Serial.writeValue("Reaction time (ms)", (control.millis() - timeTurnOn));
newGame()
})
function newGame () {
pins.D4.digitalWrite(false)
pause(randint(1000, 5000))
timeTurnOn = control.millis()
pins.D4.digitalWrite(true)
}
let timeTurnOn = 0
Serial.attachToConsole()
newGame()

Étape 2 : Stimulus sonore (buzzer)

Câblage : Bouton-poussoir sur GND/D2, buzzer '+' sur D3, '-' sur GND.

Câblage buzzer

Installez les extensions Music et Serial.

Données collectées buzzer
input.buttonD2.onEvent(ButtonEvent.Down, function () {
Serial.writeValue("Reaction time (ms)", (control.millis() - timeTurnOn));
newGame()
})
function newGame () {
music.stopAllSounds()
pause(randint(1000, 5000))
timeTurnOn = control.millis()
music.ringTone(262)
}
let timeTurnOn = 0
Serial.attachToConsole()
newGame()

Étape 3 : Afficher les données sur un écran

Câblage écran OLED I2C : GND, VCC (3.3V), SDA (D14), SCL (D15).

Câblage écran OLED

Installez l'extension oled.

function newGame () {
pins.D4.digitalWrite(false)
pause(randint(1000, 5000))
timeTurnOn = control.millis()
pins.D4.digitalWrite(true)
}
input.buttonD2.onEvent(ButtonEvent.Down, function () {
reaction = control.millis() - timeTurnOn
oled.clear()
oled.showString("Reaction time:", 1)
oled.showString("" + reaction + "ms", 2)
newGame()
})
let reaction = 0
let timeTurnOn = 0
Serial.attachToConsole()
newGame()

Cette fiche fait partie du projet The Dexter Lab, financé par le programme Erasmus+. Contenu sous licence CC BY-SA 4.0.