Arduino: Klikimouse5

logo Klikimouse5 aneb už dlouho nebyl žádný Klikimouse ...

th_klikimouse

... 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).

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.

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").