Skip to content

Aktywność

Gitara 3 - oktawy

Zaawansowany | MakeCode, Python | Dźwięk, Piny | Dzielenie, Dźwięk, Elektronika, Elektryczność, Harmonia, Mnożenie, Operatory arytmetyczne, Zmienne

Krok 1: Wykonaj to

Co to jest?

Ulepsz swoją gitarę micro:bit przesuwając wysokosć tonu w górę i w dół.

słuchawki połączone z pinami micro:bit 0 i GND, klawisze zbudowane z folii aluminiowej połączone z pinami 1, 2 i GND

Jak to działa

  • Połącz swój micro:bit ze słuchawkami lub głośnikiem, dzięki czemu możesz usłyszeć dźwięk.
  • Połącz klawisze z folii aluminiowej zpinami micro:bit, jak w projektach Gitara 1 i Gitara 2.
  • Zamiast używać funkcji muzycznych do odtwarzania nut, ten program przechowuje częstotliwości każdej nuty w zmiennych o nazwach F, A, C i E.
  • Gdy dotkniesz pinu 1 lub pinu 2 i GND, zagra złamany akord, ale teraz możesz przesuwać akord w dół oktawy (obniżając wysokość tonu) naciskając przycisk A, i przesuwać go w górę oktawy (podnosząc jego ton) naciskając przycisk B.
  • Wysokość tonu (częstotliwość) tonu podwaja się, gdy poruszasz się w górę o jedną oktawę: średnie A ma częstotliwość 440Hz (440 wibracji na sekundę), wysokie A ma częstotliwość 880Hz. To dlatego dotykanie palcami wibrujących części strun gitarowych o różnej długości zmienia wysokość granych nut.
  • Przyciski A i B zmiejszają o połowę lub podwajają wartość częstotliwości zapisanej w każdej zmiennej, co skutkuje obniżeniem lub zwiększeniem każdej nuty granej w oktawie.

Czego potrzebujesz

  • micro:bit i opcjonalny pakiet baterii
  • słuchawki, buzzer lub zasilany głośnik
  • 5 zacisków krokodylkowych
  • dobrowolnie karton, folia aluminiowa, klej, nożyczki do wykonania gitary lub klawiatury

Krok 2: Zakoduj to

1from microbit import *
2import music
3F = 349
4A = 440
5C = 523
6E = 659
7
8while True:
9    if pin1.is_touched():
10        music.pitch(int(F), 500)
11        music.pitch(int(A), 500)
12        music.pitch(int(C), 500)
13    if pin2.is_touched():
14        music.pitch(int(A), 500)
15        music.pitch(int(C), 500)
16        music.pitch(int(E), 500)
17    if button_a.was_pressed():
18        F = F / 2
19        A = A / 2
20        C = C / 2
21        E = E / 2
22    if button_b.was_pressed():
23        F = F * 2
24        A = A * 2
25        C = C * 2
26        E = E * 2
27        

Krok 3: Ulepsz to

  • Wytnij z tektury kształt gitary i zamontuj na niej swój micro:bit, abyś mógł grać na stojąco.
  • Jeśli przesuniesz oktawy zbyt wysoko lub zbyt nisko, program przestanie działać – i nie będziesz mógł usłyszeć dźwięków o bardzo niskiej lub bardzo wysokiej częstotliwości. Zmodyfikuj program, aby to zatrzymać.
  • Zwiększ lub zmniejsz tempo w zależności od sposobu przechylenia micro:bita.