Nezkoušel tu někdo psát pro RPi aplikace v Pythonu, co si hrajou s GPIO pinama? Mám na RPi aplikaci, která je puštěná trvale a na GPIO pinu je připojený jednoduchý bzučák. A kusem kódu na něm přehrávám "melodie." Vypadá to nějak takhle:
pwm = GPIO.PWM(self.gpio, 1)
for freq, length, delay in self.instructions:
pwm.ChangeFrequency(freq)
pwm.start(50)
time.sleep(0.001*length)
pwm.stop()
time.sleep(0.001*delay)
Tenhle kus kódu se navíc v aplikaci pouští ještě ve vlastním vlákně (které skončí, jakmile tenhle kód dojede). No a potíž je, že tohle krásně funguje, ale jenom chvíli. Odhadem to za den ten zvuk zahraje tak 10x a cca tak po 5 dnech to najednou přestane hrát. Vlákno s tímhle kódem se pouští, ale ze bzučáku se neline nějaký zvuk. Pokud aplikaci vypnu a znova pustím, tak to zase korektně hraje. Co mě napadá je, jestli není nějaká ošklivá chyba v té RPi.GPIO knihovně, kde to potom přestane fungovat... nezkoušel tu tedy někdo používat tohle SW PWM na něčem, co jede dýl než pár hodin? :))