[133] MIDI - język nie tylko instrumentów cz. 9
![[133] MIDI - język nie tylko instrumentów cz. 9](/_next/image?url=https%3A%2F%2Farduino.pl%2Fimgproxy%2Fqb2K97UpOvyk5fpjG6Ym1kvikBNWtwuu9_oJG3aZuk4%2Ff%3Awebp%2Fw%3A1200%2FbG9jYWw6Ly8vaW1hZ2VzLzgtNjhmLzMzNmUzL2MzYmZiLzgtNjhmMzM2ZTNjM2JmYjc5OTA4OTE3OS5wbmc%3D.webp&w=3840&q=75)
Dziś coś bardzo praktycznego, oczywiście dla muzyków, ale nie tylko. Właściwie nie będzie to nic szczególnie nowego względem urządzeń prezentowanych w poprzednich artykułach serii o MIDI, lecz wykonanie będzie zdecydowanie inne. Użyjemy bowiem, jak już kiedyś, maleńkiego układu ATtiny 25, będącego chyba najmniejszym i najsłabszym mikrokontrolerem mogącym się odnaleźć w środowisku Arduino.

O tej i wielu innych rodzinach, nie do końca oficjalnie wspieranych, pisałem jakiś czas temu w artykule poświęconym kostkom współpracującym z Arduino. Przypomnę więc założenia: nie są one w stu procentach kompatybilne, a raczej mają takie czy inne braki. Rzeczony bohater na przykład ma tylko sześć pinów, które mogą stać się portami do wyboru z dość dużego zbioru możliwości. Posiada 2 kB pamięci FLASH i 128 bajtów RAM-u, więc wydaje się zupełnie nieatrakcyjny. Pozory mylą. Najpierw jednak przypomnijmy sobie, w jaki sposób z tej małej biednej kostki można zrobić Arduino. Szczegóły podawałem w wymienionych artykułach, więc dziś przypomnę tylko szybciutko.

Do programowania układu Tiny użyję dużego Arduino, czyli wersji Uno, która tym razem nie będzie elementem docelowym, a tylko sprytnym interfejsem - programatorem. Wykorzystam płytkę edukacyjną TME, ponieważ mam tu wygodny dostęp do portów. Na płytce uniwersalnej osadzam mały mikrokontroler w sposób tu widoczny, czyli: port 10 – nóżka pierwsza, 11 – piąta, 12 – szósta i 13 – siódma. Nóżka 8 to zasilanie, a czwarta – masa. Potrzeba będzie więc sześciu przewodów i niczego więcej.

Uruchamiamy Arduino IDE i w preferencjach dodajemy widoczny tu adres do narzędzi, które umożliwią nam stworzenie programatora z Uno.

W menedżerze płytek należy odnaleźć bibliotekę, którą widzimy i zainstalować ją. Z pewnością pojawią się komunikaty żądające potwierdzenia instalacji sterowników, dlatego będziemy musieli pracować w trybie admina.

Gdy przejdziemy ten etap, trzeba będzie z naszego Uno zrobić programator. Odpowiedzialny za to szkic odnajdziemy w przykładach jako ArduinoISP. Należy nim zwyczajnie zaprogramować Uno, jak się to robi z każdym innym szkicem. Teraz będziemy musieli kolejno:

a) Wybrać nasz mały układ – jak na widocznym zrzucie,

b) Wybrać rodzaj programatora, czyli płytkę Uno z programem, który przed chwilą do niego wrzuciliśmy,

c) Wskazać tę naszą kostkę, bo domyślnie wybierana jest ta o nazwie 85. Od tej pory, zawsze gdy będziemy chcieli zaprogramować układ Tiny, będziemy musieli wybierać te opcje. Jest to mała niedogodność, ale taka jest cena posiadania programatora w cenie sześciu drutów.
No dobrze, narobiliśmy się, ale nadal nic nie wiadomo. Zasadą generalną jest: zanim zabierzesz się za duże, zrób najpierw małe. Innymi słowy, odpalimy słynnego blinka, nie po to, żeby mrugać diodą, tylko by stwierdzić, że mamy komunikację z małym Tiny i możemy go programować już na poważnie.

W tym celu przez opornik 1kΩ podłączyłem diodę do nóżki trzeciej. Mamy tam port czwarty.
const byte led = 4;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(200);
}
Szkic jest tak prosty, że nawet nie siliłem się na komentarze. Odpalamy i podziwiamy pulsującą diodę. Możemy sobie jeszcze przetestować inne porty, zgodnie z widocznym na górze schematem. Jeśli wszystko będzie działać, będziemy mogli powrócić do tematyki wiodącej, czyli do MIDI. Ale o tym napiszę w kolejnym artykule.