.. vim: set expandtab fileencoding=utf-8 nomodified wrap textwidth=200 shiftwidth=2 ts=2 foldmethod=marker foldcolumn=4 ruler showcmd lcs=tab\:|- list: .. title: Arduino: Klikimouse5 .. slug: 2023-07-29-Arduino-progs-Klikimouse5 .. date: 2023-07-29 20:31:01 .. tags: Arduino,progs,USB .. category: Arduino .. link: .. description: Klikimouse5 .. type: text .. author: Gilhad .. |logo| image:: /images/logo/gilhad.png |logo| Klikimouse5 aneb už dlouho nebyl žádný Klikimouse ... .. |klikimouse| image:: images/Klikimouse5-small.png .. |th_klikimouse| thumbnail:: images/Klikimouse5-small.png |th_klikimouse| .. TEASER_END ... tak tu máme pokračování `Klikimouse3 `_ a `Drobničky 006 - Klikimouse aneb volím si tebe, Klikaču! `_ s pár vylepšeníma. Stejný HW (tedy USB arduino - micro), stejné zapojení (3 tlačítka proti zemi (A,B, a C) a jedna LED s odporem pro indikaci, teď navíc druhá LED pro indikaci režimu). * `I výpis KlikiMouse5.ino `_ a `I zdroj KlikiMouse5.ino `_ * `obrázek `_ Mám už 5 režimů a začíná to být míň přehledné, tak jsem přidal i indikaci režimu - arduino micro má dvě ledky, RX a TX, které se používají při výpisu na Serial. Ale já tam skoro nic nepíšu, tak proč je nevyužít jinak. Sedí na "digitálních pinech" 17 a 30 a jsou zapojené proti VCC, takže svítí, když je na nich LOW. Používám makro _BV(bit), které vytvoří jedničku na správném místě, protože c_status mi běží od nuly, ale LEDky chci, aby ukazovaly od jedničky, tak pro účely zobrazení přičtu 1 a pro LED proti VCC ještě výsledek neguju vykřičníkem. .. code-block:: C digitalWrite(RXled,!((c_state+1) & _BV(0))); digitalWrite(TXled,!((c_state+1) & _BV(1))); digitalWrite(C_led, ((c_state+1) & _BV(2))); A aby pohyby myši byly přené, nikoli náhodně akcelerované, tak pro Arduino myš `akceleraci vypneme `__. Také na `Robodoupěti `_ `Drobničky 008 - Potlačení akcelerace Arduino myši na Linuxu `_ ~~~~ **Licence** Ukázkový program je pod `GPL v2.0 `_, takže není problém ho měnit a použít jako základ něčeho dalšího. (Ale vzhledem k tomu, jak je jednoduchý, není ani problém napsat zbrusu nový pod jinou licencí "na zelené louce").