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

Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit

Onderdelen en Benodigdheden

WINGONEER Infrarood IR Draadloze Afstandsbediening Sensor Module Kit voor Arduino × 1
SainSmart L298N Dual H-Brug Stappenmotor Driver × 1
4WD Robot Auto Chassis Kit × 1
Arduino UNO × 1

Benodigde Tools en Machines

  • Solderbout (generisch)

Over dit Project

Ik vond het originele ontwerp op Instructables en bouwde een versie ervan. Het origineel was een gedaantevoertuig (tracks), deze is 4WD. De aanpassing zit in de IR-opstelling. Het originele ontwerp had storingen van de motoren die de IR-ontvanger 방해den. De motoren werkten als generatoren waar de ground draden samenkwamen. Ik veranderde de pinnen en toewijzingen voor de IR.

Monteer de autobasis met de meegeleverde instructies als je de SAINSMART rover kit gebruikt.

Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit

IR Ontvanger Aansluiting

int receiver_pin = 4; // Output pin 4 op controller naar IR ontvanger Y
int vcc = 5; // Output pin 5 op controller naar IR ontvanger V
int gnd = 6; // Output pin 6 op controller naar IR ontvanger G
Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit

L298N Motor Driver Module

Motor A (Rechts)

int enA = 8;
int in1 = 12;
int in2 = 11;

Motor B (Links)

int enB = 7;
int in3 = 10;
int in4 = 9;

L298N motor driver module GND naar controller GND

Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit

L298N naar Motoren

Motor set A (Rechts)

  • Verbinden "+" (Rood) van motoren met Out 4
  • Verbinden "-" (Zwart) van motoren met Out 3

Motor set B (Links)

  • Verbinden "+" (Rood) van motoren met Out 2
  • Verbinden "-" (Zwart) van motoren met Out 1

Accu aansluiten op L298N drive module: "+" (Rood) naar VCC en "-" (Zwart) naar GND

Compleet Diagram

Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit
Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit

Code

IR Afstandsbediende Auto (C/C++)

#include <IRremote.h>
char command;
int receiver_pin = 4;
int vcc = 5;
int gnd = 6;
int statusled = 13;
IRrecv irrecv(receiver_pin);
decode_results results;

// Motor controller pinnen
// Motor A
int enA = 8;
int in1 = 12;
int in2 = 11;
// Motor B
int enB = 7;
int in3 = 10;
int in4 = 9;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(statusled, OUTPUT);
  digitalWrite(statusled, LOW);
  
  // Alle motor control pinnen als output
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(vcc, OUTPUT);
  pinMode(gnd, OUTPUT);
  
  // VCC pin high initialiseren
  digitalWrite(vcc, HIGH);
}

void loop() {
  if (irrecv.decode(&results)) {
    digitalWrite(statusled, LOW);
    irrecv.resume();
    
    if (results.value == 0xFF18E7) { // Knop 2 - Vooruit
      Serial.println("Knop 2");
      digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 100);
      digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 100);
    }
    else if(results.value == 0xFF10EF) { // Knop 4 - Links
      Serial.println("Knop 4");
      digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 100);
      digitalWrite(in3, LOW); digitalWrite(in4, LOW); analogWrite(enB, 100);
    }
    else if(results.value == 0xFF30CF) { // Knop 1 - Rechts draaien
      Serial.println("Knop Draai Rechts");
      digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 100);
      digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 100);
    }
    else if(results.value == 0xFF5AA5) { // Knop 6 - Links draaien
      Serial.println("Knop Draai Links");
      digitalWrite(in1, LOW); digitalWrite(in2, LOW); analogWrite(enA, 100);
      digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 100);
    }
    else if(results.value == 0xFF7A85) { // Knop 3 - Achteruit draaien
      Serial.println("Knop Draai Achteruit");
      digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 100);
      digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 100);
    }
    else if(results.value == 0xFF4AB5) { // Knop 8 - Achteruit
      Serial.println("Knop 8");
      digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 100);
      digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 100);
    }
    else if(results.value == 0xFF38C7) { // Knop 5 - Stop
      Serial.println("Knop 5");
      digitalWrite(in1, LOW); digitalWrite(in2, LOW); analogWrite(enA, 100);
      digitalWrite(in3, LOW); digitalWrite(in4, LOW); analogWrite(enB, 100);
    }
  }
}

Schema's

Bouw een 4WD IR Afstandsbediende Arduino Robot Auto Kit

Productieproces

  1. Anticonceptiepil: Geschiedenis, Voordelen, Risico's en Productie
  2. Een Professionele Raspberry Pi Universele Afstandsbediening Bouwen met LIRC
  3. Geautomatiseerd Zwembadvul- en Monitoringssysteem
  4. Remote Hartslagmonitoringssysteem met AWS IoT-waarschuwingen
  5. Je Raspberry Pi Besturen met een Herbruikte IR-remote: Afsluiten & Herstarten via LIRC
  6. Regelschakelingen: Fundamenten, Toepassingen en Best Practices
  7. Cloud Monitoring: Extern controlsysteem voor real-time activabeheer
  8. 5 Belangrijkste voordelen van externe productiecontrole voor de moderne industrie
  9. Overhead kraan afstandsbediening: veiligheid & efficiëntie in uw magazijn
  10. Delta Controls' enteliBUS-kwetsbaarheid: Remote Controle van Gebouwsystemen Blootgelegd
  11. C# Constructors: Types, Voorbeelden en Geavanceerde Patronen