Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

ThimbleKrox - управление мышью пальцами

Компоненты и расходные материалы

Arduino Micro
× 1
Трехосевой акселерометр и гироскоп SparkFun - MPU-6050
× 1

Необходимые инструменты и машины

3D-принтер (общий)
Необязательно

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Всем привет, вот мой первый проект ThimbleKrox, представляющий собой наперсток, который позволяет вам управлять указателем мыши посредством движения указателя (или любого пальца).

Шаг 1. Необходимые материалы и инструменты

Необходимые материалы:

  • Arduino Micro
  • MPU-6050
  • кабель для подключения Arduino и ПК (micro USB к USB)
  • Джампер (для соединения Arduino и MPU-6050)
  • резинка (если вы хотите прикрепить Arduino к руке)

Необходимые инструменты:

  • компьютер с установленной Arduino IDE (для загрузки кода в Arduino)
  • Паяльник (только если на Arduino нет предварительно установленных контактов разъемов)
  • 3D-принтер (если вы хотите, чтобы наперсток выглядел круто)

Шаг 2. Подключение

Подключите контакты Arduino к контактам MPU-6050:

  • подключить VCC Arduino к VCC
  • соединить GND с GND
  • контакт 2 к SDA
  • контакт 3 к SCL.

Шаг 3. 3D-печать (необязательно)

Если вы хотите, чтобы ваш наперсток выглядел хорошо, и если у вас есть 3D-принтер, вы можете распечатать наперсток.

Я сделал это в двух версиях:одна прозрачная, которая поэтому не требует печати опор и не слишком громоздка, вторая вместо того, что я пытался сделать в стиле стимпанк, не делая ее слишком громоздкой (она все же более громоздкая, чем прозрачная. one), но для этого требуется, чтобы подставки были напечатаны, и лучше всего возвращаются только в цвете (для PLA я хорошо ладил с темперой). Оба требуют печати с деталью с двумя внутренними выступами внизу

Шаг 4. Сборка

С наперстком, напечатанным на 3D-принтере

Чтобы установить все с напечатанным наконечником, после выполнения соединений необходимо вставить MPU-6050 в верхнюю полость втулки, в которой находятся кабели, в нижнюю полость

Без наперстка, напечатанного на 3D-принтере

В этом случае сборка выполняется более любительским способом, то есть путем размещения MPU-6050 в последней фаланге интересующего пальца и блокирования ее липкой лентой или резинкой.

Шаг 5. Код и калибровка

Первое, что нужно сделать для запуска кода, - это установить необходимые библиотеки, а именно Wire.h, I2Cdev.h, MPU6050.h и Mouse.h

После этого я советую загрузить код калибровки ThimbleKrox, надеть наперсток и открыть монитор последовательного порта (Ctrl + Shift + M).

Теперь вы должны увидеть что-то вроде этого:

  право | gx =3165 gy =469 gz =-1055 | ax =15232 ay =2064 az =-4496  

Где показано направление, в котором при правильной калибровке вы хотите переместить указатель, а затем некоторые значения, необходимые для калибровки.

Теперь вам нужно повторно открыть код и перейти к строкам, отмеченным «// калибровочная линия», и изменить числовые значения, пока вы не получите правильное направление. (Каждый раз, когда вы меняете значение в коде, вам необходимо повторно загрузить его в Arduino)

Пример

Монитор последовательного порта:

  слева | gx =3165 gy =469 gz =-1055 | ax =5232 ay =2064 az =-4496  

Код калибровки:

  if (ax> =15000) {// линия калибровки 
right ();
}

Монитор последовательного порта помечается как «левый», но мы хотим, чтобы эта строка была помечена как «правая», поэтому нам нужно изменить значение «15000» на «5000». Это потому, что в этом случае мы должны убедиться, что обнаруженный «топор» больше значения в коде. Мы понимаем, что он должен быть больше, потому что в коде есть главный знак, и что мы должны смотреть на «топор» последовательного монитора, потому что в коде есть «топор». (нужно изменять только числовые значения кода)

После перезагрузки кода в Arduino у нас будет:

Монитор последовательного порта:

  право | gx =3165 gy =469 gz =-1055 | ax =5232 ay =2064 az =-4496  

Код калибровки:

  if (ax> =5000) {// линия калибровки 
right ();
}

Когда все калибровочные линии в калибровочном коде были настроены и, следовательно, наперсток калибровочной версии функционирует, значения основного кода должны быть скорректированы в соответствии с калибровочным кодом.

Пример

Код калибровки:

  if (ax> =5000) {// линия калибровки 
right ();
}

Основной код:

  if (ax> =15000) {// линия калибровки 
right ();
}

Основной код необходимо изменить на:

  if (ax> =5000) {// линия калибровки 
right ();
}

Пришло время загрузить основной код

Шаг 6. Завершите проект

А теперь пора надеть наперсток и поиграть с ним!

Код

  • Код ThimbleKrox
  • Калибровочный код ThimbleKrox
Код ThimbleKrox Arduino
Основной код для ThimbleKrok
 // Код для управления указателем мыши движением пальца // Для калибровки устройства запустите «Калибровочный код ThimbleKrox» и следуйте инструкциям на https://www.hackster.io/projects / dd8881 /// Строки, которые необходимо изменить для калибровки, имеют "// калибровочную строку" // код, записанный Magform # include  #include  #include  #include  MPU6050 mpu; int16_t ax, ay, az, gx, gy, gz; int vx, vy; int sensibility =10; // Измените это значение, чтобы изменить чувствительность устройства void setup () {Serial.begin (9600); Wire.begin (); mpu.initialize (); if (! mpu.testConnection ()) {// проверяем соединение с MPU-6050, если нет соединения, прекращает работу while (1); }} void up () {Mouse.move (0, -sensibility); } void down () {Mouse.move (0, чувствительность); } void left () {Mouse.move (-sensibility, 0); } void right () {Mouse.move (чувствительность, 0); } void loop () {mpu.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz); if (ax> =15000) {// калибровочная линия right (); } if (ax <=- 9000) {// калибровочная строка left (); } if (ay <=- 8000) {// калибровочная линия up (); } if (ay> =10000) {// калибровочная линия вниз (); } // раскомментируйте следующие строки, чтобы задать для правого щелчка мыши спринт вверх и левой кнопки мыши для спринта вниз (часть «Работа в процессе») / * if (gy> =20000) {// калибровочная линия Mouse.click (MOUSE_RIGHT); задержка (100); } if (gy <=- 20000) {// калибровочная линия Mouse.click (MOUSE_LEFT); задержка (100); } * / delay (10);} 
Код калибровки ThimbleKrox Arduino
Код для калибровки ThimbleKrox
 // Код для калибровки ThimbleKrox // Для калибровки устройства запустите этот код и следуйте инструкциям по адресу https://www.hackster.io/projects/dd8881/// для изменения (как и другой код) для калибровки есть "// калибровочная линия" // код, записанный Magform # include  #include  #include  #include  MPU6050 mpu; int16_t ax, ay, az, gx, gy, gz; int vx, vy; int Nwrong =1; void setup () {Nwrong =1; Serial.begin (9600); Wire.begin (); mpu.initialize (); while (Nwrong! =0) {if (! mpu.testConnection ()) {Serial.print ("Неверный номер соединения:"); Serial.print (Неверно); Nwrong ++; задержка (1000); } else {Nwrong =0; }}} void up () {Serial.print ("вверх"); } void down () {Serial.print ("вниз"); } void left () {Serial.print ("влево"); } void right () {Serial.print ("право"); } void rightclick () {Serial.print ("RightClick");; } void leftclick () {Serial.print ("LeftClick");; } void loop () {mpu.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz); if (ax> =15000) {// калибровочная линия right (); } if (ax <=- 9000) {// калибровочная строка left (); } if (ay <=- 8000) {// калибровочная линия up (); } if (ay> =10000) {// калибровочная линия вниз (); } // раскомментируйте следующие строки, чтобы установить для правого щелчка мыши спринт вверх и левой кнопки мыши для спринта вниз (часть «Работа в процессе») / * if (gy> =20000) {// калибровочная линия rightclick (); задержка (100); } if (gy <=- 20000) {// калибровочная строка leftclick (); задержка (100); } * / Serial.print ("| gx ="); Serial.print (gx); Serial.print ("gy ="); Serial.print (gy); Serial.print ("gz ="); Serial.print (gz); Serial.print ("| ax ="); Серийный принт (топор); Serial.print ("ау ="); Serial.print (ау); Serial.print ("az ="); Serial.print (az); Serial.print ("\ n"); задержка (5000); } 
ThimbleKrox
https://github.com/Magform/ThimbleKrox

Изготовленные на заказ детали и корпуса

Модель для 3D-печати ThimbleKrox
Для тех, кто предпочитает брать модели из файла ThingiverseCAD на сайте thingiverse.com Поддержка не требуется. Поддержка не требуется.

Схема


Производственный процесс

  1. Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
  2. Включение Alexa Control для потолочного вентилятора
  3. Управление монетоприемником с помощью Arduino
  4. Центр управления Arduino
  5. Arduino с Bluetooth для управления светодиодом!
  6. Управление увлажнителем Arduino
  7. Arduino Nano:управление двумя шаговыми двигателями с помощью джойстика
  8. Управляйте своим светодиодом с помощью Cortana
  9. Полный контроль над вашим телевизором с помощью Alexa и Arduino IoT Cloud
  10. 4-контактный ШИМ-контроль вентилятора, 25 кГц, с Arduino Uno