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.