נועם הוא ילד בן 13. ואם יש משהו שבאמת חשוב לילדים בגילו, זה כמובן לנצח את כל החברים שלו במשחקי מחשב. לכן הוא מתאמן כל היום להקליק על הכפתור של העכבר ברצף כמה שיותר מהר כדי לירות ולחסל את האויבים שלו.
אז יום אחד הוא חשב על רעיון לבנות קופסא עם כפתור שיעשה את הפעולה הזו בשבילו. לדעתו, והוא מכיר את השוק הזה מבפנים, זה מוצר שיכול למכור מליונים
אני די בטוח יש איזה עכבר גיימרים שעושה את זה בדיוק, אבל אבא של נועם הוא חבר טוב אבל מאותגר טכנולוגית, וחוץ מזה הילד ביקש עזרה מהדוד הכי אהוב עליו, איך אני יכול לסרב ?
אז לקחתי ארדואינו קטן, הוספתי כפתור הכי גדול שהיה לי בארגז, הוספתי גם פוטנציומטר כדי שאפשר יהיה לכוון את המהירות ודי מהר היה לי בדיוק מה שרצינו
כל לחיצה על הכפתור הגדול גורמת לשיגור מטח אין סופי של קליקים על הכפתור של העכבר. הדפסתי מארז כדי שהכל ישב יפה ובדקתי את המהירות
עכשיו נועם ממש מתלהב, והוא די בטוח שהוא יוכל לנצח אפילו יוטיוברים.
כמו בכל מרוץ חימוש, זה חייב להישמר בסוד כדי שיוכל להמשיך לשמור על היתרון היחסי ו לנצח את כל החברים שלו.
/*
based on ButtonMouseControl from arduino's examples
https://www.arduino.cc/en/Tutorial/BuiltInExamples/ButtonMouseControl
*/
#include "Mouse.h"
const int mouseButton = 2;
const int speedDial = A2;
int responseDelay = 50; // response delay of the mouse, in ms
void setup() {
Serial.begin(115200);
Serial.println("Noam's fast shooter");
// initialize the buttons' inputs:
pinMode(mouseButton, INPUT_PULLUP);
// initialize mouse control:
Mouse.begin();
}
void loop() {
// read the buttons:
int clickState = digitalRead(mouseButton);
int speed = analogRead(speedDial);
responseDelay = map(speed, 0, 1023, 500, 25);
// if the mouse button is pressed:
if (clickState == LOW) {
// if the mouse is not pressed, press it:
if (!Mouse.isPressed(MOUSE_LEFT))
Mouse.press(MOUSE_LEFT);
else if (Mouse.isPressed(MOUSE_LEFT))
Mouse.release(MOUSE_LEFT);
} else if (Mouse.isPressed(MOUSE_LEFT))
Mouse.release(MOUSE_LEFT);
// a delay so the mouse doesn't move too fast:
delay(responseDelay);
}