Nie wiem jak Wy, ale ja zawsze marzyłem o tym, żeby móc sobie implementować jakieś fajne muzyczki retro (jak ze starych komputerów typu Spectrum, Atari, Commodore itp) we własnych układach z mikrokontrolerami ;) ... przeszkadzało mi w tym zwykle to, że kompletnie nie znałem się na muzyce a szczególnie na nutach, formie ich zapisu itp itd. Postanowiłem troszkę nadrobić ten brak wiedzy - chociażby na poziomie szkoły podstawowej, bo już tyle wystarczy aby lepiej rozumieć formaty i standardy zapisu nut dla mikrokontrolerów. Dzięki tej wejściu w posiadanie tej podstawowej wiedzy, umiem już nawet je modyfikować i bardzo fajnie dostosowywać do własnych celów. Postaram się podzielić z Wami tą wiedzą i oddać Wam do użytku bardzo ciekawą bibliotekę do odtwarzania takich muzyczek/utworków z własnych procków. Najważniejsze żeby działało to w sposób NIEBLOKUJĄCY. Zapraszam zatem na małą przygodę z poznawaniem standardu Nokia RTTTL od podstaw, nawet z elementarzem podstaw muzycznych ;) chociaż chyba jestem w tym zakresie słabym nauczycielem muzyki - no ale tłumaczę na bieżąco tak swoimi słowami jak to widzę - żeby pomogło również Tobie w zrozumieniu tematu ;)
poniedziałek, 5 października 2020
sobota, 26 września 2020
PWM8 HERCULES - jak sobie poradzić gdy w procku brak PWMów
Witam,
Często spotykamy się z sytuacją gdy brakuje nam wyjść PWM w mikrokontrolerze. Może to nas spotkać nawet gdy stosujemy 32-bitowce ;) ... Jak sobie poradzić? Możemy zrobić sobie PWM HERCULES'a ;). Co to jest? Ot proste rozwiązanie polegające na tym, że bierzemy w łapki jakiś sub-miniaturowy procek np. ATtiny25 lub podobny i do niego podłączamy popularny rejestr przesuwny 74hct595. Ten mały procek będzie napędzał rejestr przesuwny w taki sposób, że uzyskamy maksymalnie nawet 8 niezależnych kanałów PWM! Ok być może nie będą w tym wypadku jakieś zawrotne wysokie częstotliwości PWM'a ale przecież nie zawsze one muszą być wysokie. No dobra - to mamy 8 PWM'ów w takim małym procku - ale przecież rozwiązanie to miało pozwolić nam, żeby np. taka ATmega8 mogła mieć tych 8 kanałów. Wtedy możemy zrobić tak, że poświęcimy dwa wolne piny w ATtiny25 żeby pracowały jako wejście SPI, żeby mógł pracować on w trybie SPI SLAVE. Dzięki czemu będzie osobnym modułem do którego prostymi komendami po SPI będzie można przesyłać wartości do każdego kanału PWM niezależnie. No dobra ... tu ktoś powie albo zapyta. To po jasny GWINT mam dodawać jeszcze ATtiny25 jeśli mogę to od razu zrobić w ATmega8? I tu się czai właśnie ZŁO! ;) ... otóż jeśli od razu w ATmega8 zrobimy to sterowanie rejestrem i 8 kanałów PWM to stracimy tyle czasu procesora że nie starczy go na inne części programu. I dlatego stawiamy na oddzielny moduł zwany PWM HERCULES który to będzie się męczył z PWM'ami i grzecznie przyjmował komendy. Tylko to będzie jego zadaniem. Zaś procek taki jak np ATmega8 będzie tylko ładnie wysyłał jakieś proste komendy i wszystkie timery i zasoby procka ma dla siebie w 100% do dyspozycji, żaden PWM go nie obciąża ;) .... Idąc tym tokiem rozumowania chciałbym Wam przedstawić w krokach - jak się za to zabrać ;) zapraszam na kilka fajnych poradników.
poniedziałek, 20 lipca 2020
ECLIPSE 2020 - najnowszy poradnik od A do Z
wtorek, 28 kwietnia 2020
czwartek, 23 kwietnia 2020
AT Command Generator + najnowsza wersja MK MULTI UART 2.0
wtorek, 21 kwietnia 2020
HID - VU Meter czyli wskaźnik wysterowania przez HID !
środa, 15 kwietnia 2020
Projekt ORANGEBOOK - właśnie wystartował - 15 kwietnia 2020 roku
sobota, 28 marca 2020
czwartek, 26 marca 2020
niedziela, 22 marca 2020
Gdy nie działa ci usbasp pod ANDRUINO
to pobierz sobie poprawny avrdude (bo kocie andruino jest wciąż pakowane ze skopanym avrdude)
a następnie UWAGA! wgraj pliki z ZIP'a do odpowiednich katalogów andruino, tak jak opisałem to poniżej:
avrdude.conf ::: wgraj do dwóch folderów:
\arduino-1.8.12\hardware\tools\avr\etc
\arduino-1.8.12\hardware\arduino\avr\bootloaders\gemma
avrdude.exe ::: wgraj do folderu:
\arduino-1.8.12\hardware\tools\avr\bin
Uwaga! przykłady folderów są dla najnowszego andruino na dzisiaj czyli dla wersji 1.8.12 więc jak się pojawi nowsza to pamiętaj żeby sobie zmienić te nazwy albo ręcznie wyszukać i podmienić






