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

Умное кресло‑колясочка с управлением жестами рук для людей с инвалидностью

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

Arduino Nano R3 × 2
Модуль nRF24L01+ (generic) × 2
Два канала H‑bridge драйвер двигателей L298 (SparkFun) × 1
Перемычки × 1
DC‑двигатели 12 В × 2

Инструменты

Программное обеспечение

О проекте

Дополнительные материалы (Google Drive)

Умное кресло‑колясочка с управлением жестами рук для людей с инвалидностью

Код

Передатчик (Transmitter)

#include <SPI.h>
#include "RF24.h"
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"

MPU6050 mpu;
int16_t ax, ay, az;
int16_t gx, gy, gz;
int data[2];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void){
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();
  radio.begin();
  radio.openWritingPipe(pipe);
}

void loop(void){
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  data[0] = map(ax, -17000, 17000, 300, 400); // X axis
  data[1] = map(ay, -17000, 17000, 100, 200); // Y axis
  radio.write(data, sizeof(data));
}

Приёмник (Receiver)

#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
#include "RF24.h"

const int enbA = 3;
const int enbB = 5;
const int IN1 = 2;  // Right Motor (-)
const int IN2 = 4;  // Right Motor (+)
const int IN3 = 7;  // Left Motor (+)
const int IN4 = 6;  // Left Motor (-)
int RightSpd = 130;
int LeftSpd = 130;
int data[2];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(){
  pinMode(enbA, OUTPUT);
  pinMode(enbB, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(1, pipe);
  radio.startListening();
}

void loop(){
  if (radio.available()){
    radio.read(data, sizeof(data));
    if(data[0] > 380){ // forward
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
      digitalWrite(IN3, HIGH);
      digitalWrite(IN4, LOW);
    }
    if(data[0] < 310){ // backward
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, HIGH);
    }
    if(data[1] > 180){ // left
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, HIGH);
    }
    if(data[1] < 110){ // right
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
      digitalWrite(IN3, HIGH);
      digitalWrite(IN4, LOW);
    }
    if(data[0] > 330 && data[0] < 360 && data[1] > 130 && data[1] < 160){ // stop
      analogWrite(enbA, 0);
      analogWrite(enbB, 0);
    }
  }
}

Схемы

Умное кресло‑колясочка с управлением жестами рук для людей с инвалидностью

Умное кресло‑колясочка с управлением жестами рук для людей с инвалидностью

Умное кресло‑колясочка с управлением жестами рук для людей с инвалидностью

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

  1. Продвинутые схемы управления двигателями: защёлкивание, стоп и задержка времени
  2. Renesas представляет семейство 32-битных МК RX66T, повышающее производительность управления двигателями в 2,5 раза
  3. Renesas запускает RX72T микроконтроллеры для передовых серво-приводов в промышленных роботах
  4. Новый мозг-компьютерный интерфейс позволяет парализованным пользователям управлять планшетами мыслью
  5. DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
  6. Управление светодиодом Arduino через Cortana по Bluetooth в Windows 10
  7. DIY робот-следопыт на Arduino UNO и Motor Shield
  8. Омни-робот для безопасного слежения за человеком: распознавание лиц на Ci20 + OpenCV
  9. Автоматический ключ для радиолокации — точность, простота и надежность
  10. Набор для создания робота с умной внутренней навигацией на базе Arduino