Przykład użycia modułu VS1003B do budowy automatu informacyjnego. Oprogramowanie demonstracyjne
pokazujące działanie automatu zamieniającego przesyłane ciągi znaków na wypowiadane liczby.
Cechy programu demonstracyjnego:
Schemat połączeń układu demonstracyjnego
NUCLEO | VS1003B | ||
---|---|---|---|
Gniazdo | Sygnał | Gniazdo | Sygnał |
CN10-7 | AVDD (+3,3V) | 1 | +3,3V |
CN10-9 | GND | 3 | GND |
CN10-11 | PA5 | 9 | SCLK |
CN10-13 | PA6 | 5 | MISO |
CN10-15 | PA7 | 7 | MOSI |
CN10-19 | PC7 | 11 | xCS |
CN10-21 | PA9 | 10 | xRSET |
CN10-23 | PA8 | 8 | DREQ |
CN10-25 | PB10 | 12 | xDCS |
Potencjometr | |||
CN7-16 | +3,3V | 1 | skrajny styk |
CN7-20 | GND | 3 | skrajny styk |
CN7-28 | PA0 (IN0 ADC) | 2 | suwak |
Automat przetwarza odebrany portem USB płytki NUCLEO tekst z zapisem liczb dziesiętnych, na odpowiednie komunikaty słowne. Automat jest w stanie prawidłowo czytać liczby w zakresie od 0 do 999999. Zapis liczb powinien być przesłany jako ciąg ASCII składający się ze znaków cyfr „0 … 9” zakończony znakiem nowej linii LF. Odbiór znaku LF rozpoczyna przetwarzanie. Ciąg cyfr tworzących liczbę kończy pierwszy znak nie będący cyfrą lub ilość cyfr przekraczająca 6 kolejnych znaków.
Drugim sposobem generacji komunikatu słownego jest naciśnięcie niebieskiego przycisku użytkownika na płytce NUCLEO. Program odczytuje poziom napięcia z suwaka potencjometru, konwertuje go na wartość w miliwoltach i wypowiada komunikat dodając na końcu miano.
Pliki próbek dźwięku zapisane są razem z programem obsługi w pamięci FLASH kontrolera STM32F091. Logika programu dekoduje pozycję dziesiętną kolejnych znaków przesłanej liczby pomijając nieznaczące zera. Plik przykładu skompilowany został dla kontrolera STM32F091 o pojemności pamięci FLASH 256 KB. Program powinien dać się uruchomić na innych podobnych kontrolerach rodziny STM32F0xx o pojemności pamięci FLASH nie mniejszej niż 256 KB.