Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Slimme Handgebaar‑Rollstoel voor Mensen met een Beperking

Onderdelen en benodigdheden

Onderdeel Aantal
Arduino Nano R3 2
nRF24 Module (generiek) 2
SparkFun Dual H‑Bridge Motor Driver L298 1
Jumper wires (generiek) 1 set
DC Motor 12V 2

Benodigde gereedschappen

  • Soldeerbout
  • Lijmpistool

Apps en online services

  • Arduino IDE

Over dit project

Project documentatie (Google Drive)

Slimme Handgebaar‑Rollstoel voor Mensen met een Beperking
  • Het percentage mensen met een beperking neemt toe in zowel landelijke als stedelijke gebieden in India. Beperking kan aangeboren zijn of het gevolg van medische/ongevallen.
  • Doel: een handgebaar‑gestuurde rolstoel met een accelerometer als sensor, zodat mensen met een lichamelijke beperking kunnen navigeren door alleen handbewegingen te maken.
  • Vele mensen in India lijden aan paralyse van de onderhelft. Deze rolstoel vergemakkelijkt hun mobiliteit en comfort.

Code

Zender Code (Transmitter – op handband/handgebaar module)

#include <SPI.h>                    // SPI library voor nRF24L01+
#include "RF24.h"                  // Hoofdlibrary nRF24L01+
#include "Wire.h"                  // I2C communicatie
#include "I2Cdev.h"                // Communicatie met MPU6050
#include "MPU6050.h"               // Hoofdlibrary MPU6050

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();               // Initialiseer MPU6050
  radio.begin();                  // Start nRF24 communicatie
  radio.openWritingPipe(pipe);    // Stel ontvanger adres in
}

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

Ontvanger Code (Receiver – op rolstoel)

#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;  // Rechter motor (-)
const int IN2 = 4;  // Rechter motor (+)
const int IN3 = 7;  // Linker motor (+)
const int IN4 = 6;  // Linker 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));
    // Vooruit
    if (data[0] > 380) {
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
      digitalWrite(IN3, HIGH);
      digitalWrite(IN4, LOW);
    }
    // Achteruit
    if (data[0] < 310) {
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, HIGH);
    }
    // Links
    if (data[1] > 180) {
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, HIGH);
    }
    // Rechts
    if (data[1] < 110) {
      analogWrite(enbA, RightSpd);
      analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
      digitalWrite(IN3, HIGH);
      digitalWrite(IN4, LOW);
    }
    // Stop (neutrale zone)
    if (data[0] > 330 && data[0] < 360 && data[1] > 130 && data[1] < 160) {
      analogWrite(enbA, 0);
      analogWrite(enbB, 0);
    }
  }
}

Schema's

Slimme Handgebaar‑Rollstoel voor Mensen met een Beperking
Slimme Handgebaar‑Rollstoel voor Mensen met een Beperking
Slimme Handgebaar‑Rollstoel voor Mensen met een Beperking

Productieproces

  1. DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
  2. Een Arduino LED besturen met Cortana via Bluetooth op Windows 10
  3. DIY Mensen-Volgende Robot met Arduino UNO en Motor Shield
  4. Omnidirectionele Robot voor Veilige Mensenvolging
  5. Automatische Keyer voor Radiopeiling – Precisie, Gemak en Betrouwbaarheid
  6. Precieze Stappenmotorcontrole: 28BYJ-48 met Arduino UNO & Joystick
  7. Slim Indoor Navigatie Robot Kit voor Arduino Projecten
  8. Geavanceerde Motor Besturingsschakelingen: Latching, Stop, en Tijdvertraging Technieken
  9. Nieuwe Brain-Computer Interface Laat Gelamde Gebruikers Tabletapparaten Besturen Met Gedachten
  10. Renesas lanceert RX66T 32‑bit MCU-familie: motorprestaties verhoogd met factor 2,5
  11. Renezas lanceert RX72T microcontrollers voor geavanceerde servo-controle in industriële robots