Le 04/10/2021 en NSI , j’ai découvert , comment programmer des simples choses à l’aide d’une carte micro-bit BBC et de ses extensions , tels que des DEL , des hauts parleurs et bien d’autres ….
Ici j’ai constitué la music de Stars Wars , de R2D2 et d’un Buzzer , à l’aide des touches d’un piano que j’ai vu sur internet. Selon sur lequel des pins on le branches sa va jouer une de ces musiques , exemple pin 0 sa sera la music de Starwars , pin 1 le buzzer et le pin 2 celle de R2D2 ! Vous pouvez même l’essayer si cela vous « chante » !!
from microbit import * import time def beep (pin, noteFrequency, noteDuration, sleepDuration = 100): microsecondsPerWave = 1e6/noteFrequency millisecondsPerCycle = 1000/(microsecondsPerWave * 2) loopTime = noteDuration * millisecondsPerCycle for x in range(loopTime): pin.write_digital(1) time.sleep_us(int(microsecondsPerWave)) pin.write_digital(0) time.sleep_us(int(microsecondsPerWave)) sleep(sleepDuration) def BuzzerStarWars(pin): SW_NOTES = [293.66, 293.66, 293.66, 392.0, 622.25, 554.37, 523.25, 454, 932.32, 622.25, 554.37, 523.25, 454, 932.32, 622.25, 554.37, 523.25, 554.37, 454] SW_DURATION = [180, 180, 180, 800, 800, 180, 180, 180, 800, 400, 180, 180, 180, 800, 400, 180, 180, 180, 1000] SW_SLEEP = [40, 40, 40, 100, 100, 40, 40, 40, 100, 50, 40, 40, 40, 100, 50, 40, 40, 40, 100] for i in range(len(SW_NOTES)): beep(pin, SW_NOTES[i], SW_DURATION[i], SW_SLEEP[i]) def BuzzerGamme(pin): G_NOTES = [261.63, 293.66, 329.54, 349.23, 392, 440, 493.88, 523.25] for i in range(len(G_NOTES)): beep(pin, G_NOTES[i], 250, 50) def BuzzerR2D2(pin): R2D2_NOTES = [3520, 3135.96, 2637.02, 2093, 2349.32, 3951.07, 2793.83, 4186.01, 3520, 3135.96, 2637.02, 2093, 2349.32, 3951.07, 2793.83, 4186.01] for i in range(len(R2D2_NOTES)): beep(pin, R2D2_NOTES[i], 80, 20) while True: if pin0.is_touched(): BuzzerStarWars(pin0) if pin1.is_touched(): BuzzerGamme(pin1) if pin2.is_touched(): BuzzerR2D2(pin2)
Aucune réponse