Автокликер своими руками на базе Digispark Attiny85. С рандомной задержкой между кликами.

При подключении платы Digispark к USB компьютера, она определяется как компьютерная мышь.

Автокликер своими руками на базе Digispark Attiny85

Принцип работы заключается в том, что при нажатии на кнопку эмитируется нажатие левой кнопки мыши в бесконечном цикле с рандомной задержкой между кликами. За задержку отвечает переменная “j” и она имеет два параметра, это значения 200 и 3000. В нашем случае величина задержки будет генерироваться в пределах от 200 миллисекунд до 3000 миллисекунд.

Остановить цикл можно повторным нажатием на кнопку, или отсоединением платы от компьютера.

Переменная “j” помечена комментарием //НАСТРОЙКА! Настройте её на свое усмотрение и загрузите скетч на плату.

Как прошить плату Digispark на базе микроконтроллера ATtiny 85 смотрите по этой ссылке www.kolotushkin.com/Как прошить плату Digispark на базе микроконтроллера ATtiny 85

или по этой www.youtube.com/Как прошить плату Digispark на базе микроконтроллера ATtiny 85


//Начало скетча


  1. #include "DigiMouse.h"
  2. const int buttonPin = 1;
  3. int buttonState = 0;
  4. int i = 0;//переменная для цикла while
  5. int j = random (200, 3000);//НАСТРОЙКА!
  6. void setup() {
  7. pinMode(buttonPin, INPUT);//определяем переменную buttonPin как вход
  8. DigiMouse.begin();
  9. }
  10. void loop() {
  11. buttonState = digitalRead(buttonPin);//проверка состояния кнопки
  12. if (buttonState == HIGH) {delay(500);
  13. //если кнопка нажата, то сделать паузу на 500 мс и перейти к while
  14. while(i < 1) {
  15. unsigned long currentTime; //Переменная текущего времени
  16. if (millis() - currentTime > j)
  17. { currentTime = millis();
  18. j = random (200, 3000);//НАСТРОЙКА!
  19. DigiMouse.setButtons(1<<0);//нажать на левую кнопку мыши
  20. //DigiMouse.setButtons(2<<0);//нажать на правую кнопку мыши
  21. DigiMouse.delay(50);//Задержка 50 миллисекунд
  22. DigiMouse.setButtons(0);//отпустить все кнопки
  23. DigiMouse.delay(50);//Задержка 50 миллисекунд
  24. }
  25. buttonState = digitalRead(buttonPin); //проверка состояния кнопки
  26. if (buttonState == HIGH) {delay(500); break;}}}}
  27. // Если кнопка нажата, то сделать паузу на 500 мс и выйти из цикла

//Конец скетча


//Дополнительные команды


  1. DigiMouse.moveX(20); //переместить курсор вправо на 20 пикселей
  2. DigiMouse.moveX(-20); //переместить курсор влево на 20 пикселей
  3. DigiMouse.moveY(20); //переместить курсор вниз на 20 пикселей
  4. DigiMouse.moveY(-20); //переместить курсор вверх на 20 пикселей
  5. DigiMouse.scroll(10); //крутить колесико вперед на 10
  6. DigiMouse.scroll(10); //крутить колесико назад на 10


В конце скетча имеются Дополнительные команды! На тот случай если вы захотите добавить функции к устройству.

После загрузки припаяйте кнопку к контактам P1 и 5V, как показано на этой схеме.

Схема автокликера своими руками на базе Digispark Attiny85

О том как сделать такую же кнопку смотрите статью “Кнопка Лентяйка для World of Tanks” по этой ссылке www.kolotushkin.com/Кнопка Лентяйка для World of Tanks

Проект для Digispark Attiny85

Видео версия проекта "Автокликер своими руками на базе Digispark Attiny85."


Автокликер своими руками на базе Digispark Attiny85