Przyciski dotykowe w kilka minut (Bascom AVR)

Przyciski dotykowe w kilka minut (Bascom AVR)

Witam wszystkich zainteresowanych!

Tym razem chciał bym się pochwalić, dość nietypowym wykonaniem panelu dotykowego,
opartego o dowolny mikrokontroler z rodziny AVR (może być Attiny 13, Atmega 8, Atmega 32, itp…),
Program został napisany w środowisku Bascom AVR.

Wiadomo, że są układy specjalnie przeznaczone do tych celów, lecz ja potrzebowałem panelu dotykowego na przysłowiowe wczoraj, a niestety nie miałem w swoim magazynku żadnego układu Qtouch ;).
Trochę pomyślałem, wykonałem wiele prób, aż udało mi się stworzyć program, który działa bezbłędnie.

Zasada działania:
1. Pin uC do którego podłączony jest sensor (pole dotykowe), jest ustawiany jako port, o stanie 0 (reset), a następnie po 20us,
konfigurowany jest jako wejście o stanie 1.
2. Kolejną czynnością, którą wykonuje mikroprocesor jest odczekanie odpowiednią ilość taktów, którą należy dobrać. (komenda NOP (język ASM), zatrzymuje procesor na jeden cykl zegara. 5 NOP’ów to 5 cykli zegara. Można użyć też „waitus”, tyle że trzeba dokładnie sobie przeliczyć ile trwa cykl, przy danym taktowaniu.)
UWAGA! Ilość NOP’ów uzależniona jest od szybkości taktowania procesora, oraz od pojemności pól dotykowych. Zmieniając ilość NOPów zmienia się czułość na dotyk.
3. Jeśli po przystawieniu palca do pola dotykowego, rozładujemy stan wysoki, przywracając stan niski, oznacza to dotyk, co przekłada się na wyjście z podłączoną diodą LED.

Opublikuj swój projekt i odbierz 50% rabatu do wykorzystania w sklepie Nettigo.pl

Wykonanie:
Najlepsze efekty przynosi laminat dwustronny o grubości 1mm. Warstwa czołowa przedstawia obrysy przycisków (w tym przypadku wycięty mini szlifierką), na który została naklejona taśma izolacyjna, a warstwa tylnia pozostaje nienaruszona – podłączona do masy (-).
Przyciski mogą być dowolnej wielkości, i kształtu. Kable łączeniowe z polami dotykowymi nie powinny być dłuższe niż 15cm. Im krótsze tym leprze, i mniejsze prawdopodobieństwo zakłóceń (mi się nie zdarzyły).

Przyciski dotykowe w kilka minut (Bascom AVR)

Tyle w temacie ;)

Pozdrawiam!

Ocena: 4.78/5 (głosów: 9)
Nettigo - patron działu Elektronika

Podobne posty

Arduino ethernet device

Arduino ethernet device

Poniżej opisany projekt przedstawia „wrap” biblioteki EtherCard https://github.com/njh/EtherCard.Biblioteka EtherCard bardzo ładnie rozwiązuje konfigurację modułu ethernet…

11 komentarzy do “Przyciski dotykowe w kilka minut (Bascom AVR)

  • Bez przesady… To nie jest dedykowany układ qtouch 😉 braknie zegara. Kilka warstw folii to maksimum, ale przy typowym rozwiązaniu to wystarcza.

    Odpowiedz
  • Jednak nie!
    Przy kwarcu 16MHz, i 10 NOP’ach udało się uzyskać zasięg ok 5mm. Z pleksą da rady ;)
    Dla osób które będa konstruować panel dotykowy wedłóg mojego programu, dodam że warto jest odrazu projektować go tak, by był taktowany kwarcem 16MHz. Regulacja czułości ilością NOP’ów jest wtedy znacznie bardziej dokładna.

    Odpowiedz
  • Projekt fajny, ale sorki ze się czepiam… proszę…. popraw błędy ortograficzne tak w artykule jak i w komentarzach. Przynajmniej te najbardziej walące po oczach :P

    Druga sprawa to moje pytanie co do zasady działania… Rozumiem, że ciało człowieka posiada jakiś potencjał magazynowania energii elektrycznej i działa na zasadzie niewielkiego kondensatora. Przy dotyku pin w stanie wysokim „ładuje” ciało jakimś potencjałem energii, a potem przełącza się szybko stan odczytu i sprawdza czy dociera do niego energia z naładowanego „palca-kondensatora”. Jeśli tak to znaczy że był dotyk. Szybkość przełączania reguluje czułość. Dobrze myslę?

    Odpowiedz
  • W moim ostatnim poście faktycznie jest trochę błędów (nie wiem jak go poprawić), ale gdzie widzisz jeszcze jakieś to nie wiem ;)
    Wskaż mi proszę w artykule chodź jeden błąd.

    Jeśli chodzi o Twoje pytanie, to nie chodzi o żadne „ładowanie palca” tylko o zmianę pojemności.

    Odpowiedz

Odpowiedz

anuluj

Przyciski dotykowe w kilka minut (Bascom AVR)

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!

Masz uwagi?