Egér, egér, ki a házból!
Természetesen lehet egerészni is, hiszen azt ígértem, hogy az A-starból egér is lehet!
Először is csináljunk egy kis progit, ami a 0-ás portra kötött gomb megnyomására egy Mouse.click(MOUSE_LEFT) függvényhívást csinál!
A dolog logikája ugyanaz, mint a Keyboard esetén:
- Mouse.begin() a setup részbe, ami elindítja az egérszimulációt
- Mouse.click() ez tud kattintást (gombnyomást és elengedést)
- Mouse.press() ez tud gombnyomást
- Mouse.release() ez tud gomb elengedést
- Mouse.move() ez meg egér elmozdulást csinálni.
A gombozat kezelésekor előfordulhatott, hogy néha sikerült olyan programot csinálni, ami megkergítette a számítógépet, mert például túl gyakran küldtünk be gombnyomást, vagy épp nem küldtünk be egy gomb elengedését, így a gép azt hitte, hogy valami gomb még meg van nyomva. Ekkor a panel újraprogramozása sem volt könnyű, hiszen rögtön beleírt a programunkba a ... programunk. Hogy ilyen gond ne lehessen, a setup részt rögtön egy 1 másodperces várakozással kezdtem, tehát ha nagy baj lenne, akkor is 1 másodpercig még nem indul el a programunk a loop részben.
void setup() {
pinMode(0,INPUT_PULLUP);
Mouse.begin();
// Ha esetleg butaságot csinálna a programunk,
// bekapcsolás után van 1 másodperc újraprogramozni
delay(1000);
}
void loop() {
if (digitalRead(0)==0) {
Mouse.click(MOUSE_LEFT);
delay(100); // ne legyen prell
while(digitalRead(0)==0) {
// megvárjuk, míg elengedi
delay(10);
}
}
}
A többi rész a szokásos:
- kicsit várunk a gombnyomás után, hogy a prell esetén (ahogy a gombot megnyomjuk, sokszor be-ki kapcsol) se legyen sok klikkelés
- meg is várjuk, hogy enegdjék el a gombot, így ha valaki 5 másodpercig nyomja a gombot, abból csak egyetlek klikk lesz
Indíts el egy Youtube-t, válassz ki egy zenét, tedd az igazi egeret a lejátszás gombra, majd nyomd meg az A-star panelen a gombot, amit a 0-ás port és a GND közé kötöttél. Juhhéj, kattint, és elindítja a zenét!
Mit tudsz ezzel kezdeni? Az egérkattintással meglepően sok mindent! Emlékszel amikor szétszedett egérrel vezéreltük a gépet?
Megcsináltuk rendesen pont azt, amihez fél éve még szét kellett barkácsolni egy igazi egeret! Wow.
Feladat: Kiabálós répa
No most, cseréld ki a gombot érintés-érzékelősre:
- az INPUT helyett INPUT_PULLUP
- a 0-ás port és az 5V közé egy ellenállás
- a Youtube-en válaszd ki a https://youtu.be/2qexU0zZs3A-t
- menj az igazi egérrel a lejátszás gombra
- vegyél egy répát és kösd rá a 0-ás portra
- egy kést a GND-re
...és kész is a répa, aki nagyon interaktív:
Kiabáló répa