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

Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden

Onderdelen en benodigdheden

Arduino UNO × 1
Ultrasonische sensor HC-SR04 (Generiek) × 1
Li-Ion accu 1000mAh × 2
RGB Diffused Common Cathode × 1
Buzzer × 1
Weerstand 330 ohm × 3
USB-A naar B kabel × 1
Draadjes (standaard) × 20

Benodigde tools en machines

  • Arduino Materia 101
  • Digilent Schroevendraaier

Apps en online diensten

  • Arduino IDE
  • Autodesk Fusion 360

Over dit project

Samenvatting

Dit document beschrijft het ontwerp van een obstakelvermijdende robot die objecten in haar pad detecteert en eromheen navigeert door passende beslissingen. Het demonstreert een robotische eenheid gebaseerd op Arduino UNO en Adafruit Motor Shield, geprogrammeerd in Arduino IDE. Obstakelvermijding is een cruciale factor voor mobiele robots. De implementatie van de ultrasonische afstandssensor op een micro-servomotor leverde meer precisie bij het detecteren van omringende objecten. Deze robot verschilt van andere door de integratie van een magnetische buzzer en een CC RGB Diffused LED, waarmee ze objectdetectie aangeeft en de snelheid van DC-gearmotoren in 4 omstandigheden regelt. Als autonome robot manoeuvreert het door onbekende omstandigheden zonder impact. De technologie kan ingezet worden voor militaire operaties en humanitaire hulp door de detectiecapaciteit in diverse omgevingen te verbeteren.

Multimedia

Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden
Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden
Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden
Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden
Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden
Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden

Interpretatie

De gebruikte bibliotheken:

AFMotor.h
Servo.h

Gedefinieerde verbindingen:

#define BuzzPIN A0
#define TrigPIN A1
#define EchoPIN A2
#define LEDBPIN A3
#define LEDGPIN A4
#define LEDRPIN A5
#define DCMROFF 25

Het verwachte programma:

  • Objecten detecteren op vooraf bepaalde afstanden.
  • Zoeken naar een vrij pad in een open richting.
  • Objectdetectie aangeven en snelheid regelen.

Alle operaties autonom, zonder externe controle.

Deze robot verschilt door licht-geluidindicatie, motor-snelheidsregeling, en intense manoeuvring door 180-graden detectie voorin. Gebouwd op Arduino UNO Rev3 met Arduino IDE v1.8.5. Met verdere uitbreiding (camera, draadloos) bruikbaar voor militaire operaties of hulp aan visueel/gehoorbeperkte mensen.

Pathfinder: Arduino UNO Project Kit – Componenten & Benodigdheden

Youth Zest Project Showcase

Code

Programma (Arduino)

De assembleercode voor het opzetten van deze autonome machine.

#include <AFMotor.h>
#include <Servo.h>

#define BuzzPIN A0
#define TrigPIN A1
#define EchoPIN A2
#define LEDBPIN A3
#define LEDGPIN A4
#define LEDRPIN A5
#define DCMROFF 25

AF_DCMotor M1(1, MOTOR12_64KHZ);
AF_DCMotor M2(2, MOTOR12_64KHZ);
Servo SER1;

int Search(void) {
  float Duration = 0.0;
  float CM = 0.0;
  digitalWrite(TrigPIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPIN, LOW);
  Duration = pulseIn(EchoPIN, HIGH);
  CM = (Duration / 58.8);
  return CM;
}

int RightDistance, LeftDistance;
float Distance = 0.00;

void setup() {
  pinMode(BuzzPIN, OUTPUT);
  pinMode(TrigPIN, OUTPUT);
  pinMode(EchoPIN, INPUT);
  pinMode(LEDBPIN, OUTPUT);
  pinMode(LEDGPIN, OUTPUT);
  pinMode(LEDRPIN, OUTPUT);
  SER1.attach(10);
}

void loop() {
  SER1.write(80);
  delay(100);
  Distance = Search();
  if (Distance < 30) {
    digitalWrite(BuzzPIN, HIGH);
    digitalWrite(LEDBPIN, LOW);
    digitalWrite(LEDGPIN, LOW);
    digitalWrite(LEDRPIN, HIGH);
    M1.setSpeed(100);
    M2.setSpeed(100);
    ChangePath();
  }
  else if ((Distance >= 30) && (Distance < 60)) {
    digitalWrite(BuzzPIN, LOW);
    digitalWrite(LEDBPIN, HIGH);
    digitalWrite(LEDGPIN, LOW);
    digitalWrite(LEDRPIN, LOW);
    M1.setSpeed(150);
    M2.setSpeed(150);
    Forward();
  }
  else if ((Distance >= 60) && (Distance < 90)) {
    digitalWrite(BuzzPIN, LOW);
    digitalWrite(LEDBPIN, LOW);
    digitalWrite(LEDGPIN, HIGH);
    digitalWrite(LEDRPIN, LOW);
    M1.setSpeed(200);
    M2.setSpeed(200);
    Forward();
  }
  else {
    digitalWrite(BuzzPIN, LOW);
    digitalWrite(LEDBPIN, HIGH);
    digitalWrite(LEDGPIN, HIGH);
    digitalWrite(LEDRPIN, HIGH);
    M1.setSpeed(250);
    M2.setSpeed(250);
    Forward();
  }
}

void ChangePath() {
  Stop();
  Backward();
  Stop();
  SER1.write(12);
  delay(500);
  RightDistance = Search();
  delay(500);
  SER1.write(160);
  delay(1000);
  LeftDistance = Search();
  delay(500);
  SER1.write(80);
  delay(500);
  CompareDistance();
}

void CompareDistance() {
  if (RightDistance > LeftDistance) TurnRight();
  else if (LeftDistance > RightDistance) TurnLeft();
  else TurnAround();
}

void Forward() {
  M1.run(FORWARD);
  M2.run(FORWARD);
}

void Backward() {
  M1.run(BACKWARD);
  M2.run(BACKWARD);
  delay(500);
}

void TurnRight() {
  M1.run(BACKWARD);
  M2.run(FORWARD);
  M1.setSpeed(100 + DCMROFF);
  delay(300);
}

void TurnLeft() {
  M1.run(FORWARD);
  M2.run(BACKWARD);
  M2.setSpeed(100 + DCMROFF);
  delay(300);
}

void TurnAround() {
  M1.run(FORWARD);
  M2.run(BACKWARD);
  M2.setSpeed(100 + DCMROFF);
  delay(700);
}

void Stop() {
  M1.run(RELEASE);
  M2.run(RELEASE);
  delay(100);
}

Custom parts en behuizingen

Chassis

Het robot-chassis voor het opzetten van deze autonome machine.

Schema's

Het schakelingsschema voor het opzetten van deze autonome machine.

Productieproces

  1. Geïntegreerde Schakelingen (IC's): Compacte, Krachtige Chips die Moderne Elektronica Aandrijven
  2. Temperatuur- en vochtigheidsdata overdragen tussen twee Arduinos via Firebase
  3. Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
  4. Meerpositie-temperatuursensorsysteem voor slimme thuisintegratie
  5. DIY Arduino USB Gaming Controller – Bouw Je Eigen High-Performance Gamepad
  6. MotionSense: Slimme inbraakdetectie met Arduino en ESP8266
  7. MOSMusic Project Kit: MOSFET, Arduino en meer
  8. Essentiële Onderdelen van een Boormachine: Een Uitgebreid Overzicht
  9. Belangrijkste Componenten van een Interne Verbrandingsmotor
  10. SPICE Netlist Syntaxis Beheersen: Componentnamen, Passieve & Actieve Elementen, en Brondefinities
  11. Micro-elektronica: de wetenschap van miniatuur elektronica