Nuty w tablicy
Część sekcji Wyjścia ścieżki Arduino w Coddy. Lekcja 13 z 24.
Melodia to lista nut. Tablica przechowuje listę wartości pod jedną nazwą:
int notes[] = {262, 294, 330, 349}; // C, D, E, FKażda wartość ma pozycję nazywaną indeksem, a liczenie zaczyna się od 0: notes[0] to 262, notes[1] to 294, a ostatnia wartość, notes[3], to 349. Nie ma notes[4]: odczytanie jej zwraca to, co akurat znajduje się w pamięci za tablicą.
Indeksem może być zmienna. Zachowaj ją, zagraj nutę, na którą wskazuje, a następnie przesuń ją dalej:
int i = 0;
void loop() {
tone(8, notes[i]);
delay(400);
i = i + 1;
if (i == 4) {
i = 0;
}
}Za każdym razem, gdy uruchamia się loop(), odgrywana jest następna nuta. Po ostatniej indeks wraca do 0 i melodia zaczyna się od nowa.
Wyzwanie
ŁatwyOdtwarzaj kolejno nuty C, D, E i F na pinie 8, każdą przez 400 ms, w kółko:
- przechowuj cztery częstotliwości w tablicy: 262, 294, 330, 349
- użyj zmiennej indeksu, aby odtwarzać kolejną nutę za każdym razem, gdy uruchamia się
loop() - po ostatniej nucie wróć do pierwszej
Naciśnij Run, a następnie Check.
Spróbuj swoich sił
const int buzzerPin = 8;
// utwórz tutaj tablicę notes i zmienną index
void setup() {
}
void loop() {
// odtwórz nutę o danym indeksie, odczekaj 400 ms, przejdź do następnej
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wyjścia
Poćwicz samodzielnie: Edytor online Arduino