Piezohögtalare som tryckknapp (ATmega i första hand)
Postat: 15 januari 2012, 15:34:08
Tjopp! Jag är förtjust i minimalistisk design och har just börjat experimentera med att använda en liten piezohögtalare som alternativ till en vanlig tryckknapp. Jag började med att koppla upp piezobrickan mot oscilloskopet för att fånga pulsernas längd och amplitud. Det visade sig vara ganska bra "tjong" dessa små tingestar, vilket både är på gott och ont.
Eftersom jag redan använder en piezohögtalare i några av mina projekt och jag har skapat funktioner för seriell inmatning av programparametrar är det mycket frestande att ta bort tryckknappen och använda högtalaren istället. För att maximera ljudstyrkan då piezobrickan används som högtalare är den ansluten MELLAN två portpinnar som arbetar omvänt.
Då jag använder piezobrickan som ingång "jordar" jag brickans negativa anslutning genom att i SLEEP lägga den portpinnen på "0" och sedan aktivera ett port-change interrupt på den andra.
De första experimenten visar att principen fungerar och dessutom är mycket känslig. Det går också i viss mån att skilja på korta och långa tryckningar. Eftersom piezobrickan är en övervägande kapacitiv last är detekteringen ganska buggig men den borde bli bättre av en högohmig "urladdningsresistor" parallellt med piezobrickan. Tyvärr kommer motståndet förmodligen att minska känsligheten och dessutom sabba en del av förmågan att känna av längre tryckningar, men jag kan ju detektera avståndet MELLAN de inmatade pulserna istället.
Fler experiment behöver förstås göras innan jag vågar lita på principen rent funktionsmässigt, men min huvudsakliga oro är huruvida piezobrickans ibland ganska höga utspänning kan skada processorns portar. Knackar man hårt kan man få uppemot 10V mycket kortvarigt och detta är ju långt över de 0,5V över matningsspänningen som Atmel tillåter. Överspänningen kommer förstås klippas av portens clamping-dioder men den inmatade energin omvandlas då till strömpulser istället. Hur mycket en Atmel ATmega tål av sådant framgår inte av databladen.
Jag kan förstås lägga till ett strömbegränsande seriemotstånd men jag är en envis försvarare av minimalistiska byggen med ytterst få externa komponenter så jag slipper helst.
Någon som lekt med detta? Någon som vågar gissa om energin från en piezobricka kan göra skada på portarna?
Eftersom jag redan använder en piezohögtalare i några av mina projekt och jag har skapat funktioner för seriell inmatning av programparametrar är det mycket frestande att ta bort tryckknappen och använda högtalaren istället. För att maximera ljudstyrkan då piezobrickan används som högtalare är den ansluten MELLAN två portpinnar som arbetar omvänt.
Då jag använder piezobrickan som ingång "jordar" jag brickans negativa anslutning genom att i SLEEP lägga den portpinnen på "0" och sedan aktivera ett port-change interrupt på den andra.
De första experimenten visar att principen fungerar och dessutom är mycket känslig. Det går också i viss mån att skilja på korta och långa tryckningar. Eftersom piezobrickan är en övervägande kapacitiv last är detekteringen ganska buggig men den borde bli bättre av en högohmig "urladdningsresistor" parallellt med piezobrickan. Tyvärr kommer motståndet förmodligen att minska känsligheten och dessutom sabba en del av förmågan att känna av längre tryckningar, men jag kan ju detektera avståndet MELLAN de inmatade pulserna istället.
Fler experiment behöver förstås göras innan jag vågar lita på principen rent funktionsmässigt, men min huvudsakliga oro är huruvida piezobrickans ibland ganska höga utspänning kan skada processorns portar. Knackar man hårt kan man få uppemot 10V mycket kortvarigt och detta är ju långt över de 0,5V över matningsspänningen som Atmel tillåter. Överspänningen kommer förstås klippas av portens clamping-dioder men den inmatade energin omvandlas då till strömpulser istället. Hur mycket en Atmel ATmega tål av sådant framgår inte av databladen.
Jag kan förstås lägga till ett strömbegränsande seriemotstånd men jag är en envis försvarare av minimalistiska byggen med ytterst få externa komponenter så jag slipper helst.
Någon som lekt med detta? Någon som vågar gissa om energin från en piezobricka kan göra skada på portarna?