Witam Wszystkich, jako że buduję do samochodu carPC i potrzebuję jakiegoś układu z enkoderem do regulacji głośności w komputerze wpinanego do złącza USB, postanowiłem zrobić to następująco: 1.kupiłem za kilkanaście złoty klawiaturę USB z dodatkowymi klawiszami z góry (m. in. do regulacji głośności) Postanowiłem opisać krótko układ na forum, gdyż może ktoś mi coś podpowie jak ten układ ulepszyć. Kod jaki użyłem do mikrokontrolera nie jest oryginalnym kodem mirleya, lecz tym który w komentarzach jego układu wkleił kolega "Piotr_94" jako że podobno jest on czulszy na szybkie kręcenie enkoderem. Problemy jakie mam: 1. Przy bardzo szybkim zakręceniu enkoderem procesor się zawiesza podając stan wysoki na oba wyjścia (Vol+ i vol-). Pomaga jedynie restart. Schemat układu: Kod mikrokontrolera tiny13: $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 20 $swstack = 10 $framesize = 30 Config Pinb.3 = Input Set Portb.3 Config Pinb.4 = Input Set Portb.4 Config Pinb.0 = Output Config Pinb.1 = Output I1 Alias Pinb.3 I2 Alias Pinb.4 O1 Alias Portb.0 O2 Alias Portb.1 O1 = 0 O2 = 0 Config Timer0 = Timer , Prescale = 8 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts Dim Impuls As Byte Do If I1 = 0 Then Bitwait I1 , Set If I2 = 0 Then O1 = 1 End If End If If I2 = 0 Then Bitwait I2 , Set If I1 = 0 Then O2 = 1 End If End If Loop Prztimer0: Timer0 = 55 If O1 = 0 Or O2 = 0 Then Incr Impuls If Impuls = 15 Then Impuls = 0 O1 = 0 O2 = 0 End If Else Impuls = 0 End If Return
|
|||
Odp. Emulacja naciśnięcia przycisku głośności
Witam. Kiedy to pierwszy raz zobaczyłem to pomyślałem, że to przekombinowane i wszystko może spokojnie zrobić jeden mikrokontroler.
Chwile mi to zajęło, ale po krótkim rozpoznaniu sam zbudowałem podobny układ bo potrzebne mi były tylko przyciski Volume+ i Volume-
Pod tym linkiem jednak możesz zobaczyć gotowy projekt który wykorzystuje enkoder.
Ja zrobiłem coś takiego. Nie ma potrzeby instalacji sterowników bo to urządzenie HID.
BARTek
Moja strona
układ ciekawy, ale nie
układ ciekawy, ale nie chciałem podłączać kolejnego urządzenia USB, bo musiałbym już HUBa instalować w carPC (wykorzystałem wszystkie 9 USB na płycie).
Chciałem wykorzystać gotową elektronikę klawiatury gdyż prócz głośności potrzebuję jeszcze innych klawiszy, jak: MUTE, ENTER, ESCAPE, a w przyszłości może strzałki kierunkowe itp.
Poskładałem też układ z tego linku:
http://obruboff.ru/english-pages/usb-volume-control/
wersję na atmega 16 która ma dodatkowo 16 klawiszy multimedialnych do dyspozycji. Niestety całość nie ruszyła. Jako że osobiście nie znam się na programowaniu w C, układ dałem koledze który jest programistą C. Niestety on też tego nie uruchomił. Zaprogramował, wstępnie przeglądnął wszystko, ale na dokładne przeanalizowanie kodu nie miał czasu. Autor projektu twierdzi że wszystko powinno działać...
W chwili obecnej mam wgrany w układzie ze schematu wsad od mirleya i "jako tako" działa, lecz każdy impuls to 2% głośności, i żeby zjechać ze 100% do minimum, trzeba się nakręcić.
Sam program jest dobry, ale moim zdaniem powinien być tak zrobiony, że gdy impulsator poda np 4 impulsy, to sam układ powinien już dawać na wyjściu ilość przychodzących impulsów x2, a np po przyjściu z impulsatora 8 impulsów, na wyjściu mamy x3.
Myślę że jest to do ogarnięcia, ale chyba musiałbym znaleźć pojemniejszy zamiennik do tiny 13, tak by zastosować go w tej samej PCB