logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Attiny2313][C] Zliczanie impulsow ze scroll'a myszki

bonifacy3030 30 Kwi 2011 08:48 3010 7
  • #1 9453610
    bonifacy3030
    Poziom 10  
    Witam
    Tak jak w tytule, chce zliczać impulsy przy obracaniu scroll'a myszki. Do podawania na mikroprocesor impulsów wykorzystałem diodę IR i fototranzystor 3-nóżkowy oraz enkoder na wałku scroll'a. Pin PD5(T1) do zliczania impulsów ustawiłem jako wejście z podciągnięciem do Vcc. Poniżej załączyłem dwa zdjęcia.
    Niskie napięcie - nie ma impulsu
    [Attiny2313][C] Zliczanie impulsow ze scroll'a myszki
    Wysokie napięcie - jest impuls
    [Attiny2313][C] Zliczanie impulsow ze scroll'a myszki

    Moje pytanie dotyczy zdjęcia przy niskim napięciu tzn., czy napięcie to musi być równe 0V czy może być takie jak widać. Czy może to mieć jakiś negatywny skutek na avr'a?? Czy ustawienie Pinu jest poprawne??

    Pozdrawiam
  • #2 9453648
    victoriii
    Poziom 19  
    W dokumentacji producenta masz podane jakie jest maksymalne napięcie aby uC rozpoznał to jeszcze jako stan niski i wynosi ono 0,3Vcc. BTW wysoki albo niski jest stan a nie napięcie. Wynosi ono dla 5,05V ~1.5V więc mieścisz się w zakresie. Natomiast mógłbyś to przepuścić przez powiedzmy 74HCT14 - wtedy na wyjściu będziesz miał eleganckie przebiegi. W układzie jak teraz jesteś blisko granicy i mogą się kiedyś pojawić problemy. A ten scroll to podejrzewam, że zwyczajny enkoder jest. Podawanie napięć w zakresie 0-Vcc nie ma żadnego negatywnego skutku dla AVRa, z wyjątkiem tego że może nie rozpoznać stanu jako 0 lub 1 i wtedy program nie będzie działać ;).
  • #3 9456463
    bonifacy3030
    Poziom 10  
    OK, dzięki za radę z tym układem :)

    Jak ma wyglądać kod w C, aby pin PD5 zliczał impulsy oraz timer odliczał czas?

    Czy wewnętrzny kwarc ustawiony fabrycznie na 1MHz wystarczy do zliczania impulsów co określony czas np. 1 sek., czy trzeba ustawić inaczej wewnętrzny albo zastosować zewnętrzny rezonator?
  • #4 9459927
    victoriii
    Poziom 19  
    Wewnętrzny to jest generator RC a nie kwarc. Wystarczyć wystarczy, ale poczytaj w pdfie jaka jest dokładność wewn. generatora i jak się rozjeżdża jego częstotliwość przy zmianach temperatury.
  • #5 9459932
    dondu
    Moderator na urlopie...
    bonifacy3030 napisał:
    Jak ma wyglądać kod w C, aby pin PD5 zliczał impulsy oraz timer odliczał czas?

    Zasady: http://mikrokontrolery.blogspot.com/2011/04/fora-dyskusyjne-sa-bardzo-pomocne.html


    bonifacy3030 napisał:
    Czy wewnętrzny kwarc ustawiony fabrycznie na 1MHz wystarczy do zliczania impulsów co określony czas np. 1 sek., ...?

    Wystarczy.
  • #6 9460008
    excray
    Poziom 41  
    1,11V to AVR może wykrywać jako "1". Tak samo może się dziać z HCT14. Lepiej chyba zrobić na jednym tranzystorze translator poziomu. Coś takiego:
    [Attiny2313][C] Zliczanie impulsow ze scroll'a myszki
    r1-33-47kom
    Tylko trzeba pamiętać że jak na wejściu jest +5V to na wyjściu będzie "0" bo układ działa jak negator.
  • #7 9469554
    bonifacy3030
    Poziom 10  
    Excray dzięki za świetny pomysł z tym tranzlatorem poziomu.
    Teraz zamiast ponad jednego volta mam tylko 0,05V i do tego za darmo, bo części były już w moim posiadaniu. Co do rezystora R1 to zastosowałem 33 Kiloomowy :)
    Teraz tylko pozostało mi poszukać jak ustawić PD5 jako counter no i załączyć timer, co pewnie zajmie mi trochę czasu, no chyba, że ktoś z Was będzie taki uprzejmy i oświeci mnie paroma linijkami kodu :D
  • #8 9469614
    dondu
    Moderator na urlopie...
    Nie PD5 tylko T1 - używaj właściwych oznaczeń do funkcji pinu, który chcesz wykorzystać.

    Opis znajdziesz na str 88: http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf
    Spróbuj sam, i co wymyślisz wklej do sprawdzenia - to najlepszy sposób nauki :)

    Ale czy aż potrzeba timera do liczenia impulsów?
    Może prędzej do generowania przerwania, które będzie zliczało impulsy?
    Można to rozwiązać na kilka sposobów.
REKLAMA