Acum, în continuarea temei GPIO din MSP430, aș vrea să înțeleg o întrebare obișnuită cum ar fi conectarea piezo-dinamică la microcontroler și redarea melodiilor prin ea.
Ca mediu de lucru, am folosit un pachet: Windows7 x64 + Cygwin + MinGW. Ca un compilator: msp430-gcc de la Energia. Spre deosebire de IAR, nu are restricții asupra dimensiunii codului. Firmware prin BSL cu MSPFET (sa dovedit că funcționează bine din Windows 7).
Piezo-dinamica este fundamental diferită de dinamica obișnuită, prin faptul că aceasta este o sarcină de înaltă rezistență. În principiu, piezoelectricul este un condensator.
Acum vom fi interesați de cea mai simplă versiune a conexiunii, printr-un rezistor.
În general, piezo-dinamica are, de asemenea, un generator integrat, sunt capabili să funcționeze fără un microcontroler, este suficient doar să conectați puterea. dar, tonalitatea unei astfel de dinamici nu poate fi schimbată, iar melodia va fi de asemenea pierdută.
Cea mai ușoară modalitate de a testa munca dinamicii piezoelectrice se bazează pe programul Blink:
aici va fi un scurt pip și o pauză lungă de două secunde. Și așa pe ciclu.
Rezistor este mai bine să punem, totuși, pentru verificare, va fi posibil să se facă fără ea. Așa cum am mai spus, piezoelectricul este un condensator și nu conduce curent, dar poate "jang" în timpul descărcării. Deși capacitatea pieeodinamicii este mică, cu cât este mai tare, cu atât este mai mare, cu atât mai mare este probabilitatea.
Modelul meu HC0903A, un difuzor mic, de 3 volți. Pentru a crește volumul, puteți conecta piezoelectricul la comanda de fază.
Rămâne să înțelegeți redarea melodiei. Aici este un program gata pentru a juca "martie imperial" de la k.f. "Războaiele secundare". Cu toate acestea, după cum am înțeles, programul este scris sub LaunchPad cu cuarț de 16MHz, așa că am corectat calendarul și am realizat conexiunea piezo-dinamică în faza de control.
Suna asa: