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

IR-afstandsbediening auto

Componenten en benodigdheden

WINGONEER Nieuwe stijl Infrarood IR draadloze afstandsbedieningssensormodulekits voor Arduino
× 1
SainSmart L298N Dual H Bridge Stappenmotor Driver
× 1
4WD Robot Car Chassis Kit
× 1
Arduino UNO
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Over dit project

Ik vond het originele ontwerp op Instructables en bouwde er een versie van. Het origineel was een baanvoertuig en deze is 4WD. De aanpassing aan het originele ontwerp zit in de setup van de IR. Het oorspronkelijke ontwerp had last van feedback wanneer de motoren draaiden die de IR-ontvanger verstoorden. De motoren fungeerden als generatoren waar de aarddraden elkaar ontmoetten. Ik heb de pinnen en toewijzingen voor de IR gewijzigd

Monteer de autobasis met behulp van de meegeleverde instructies als u de SAINSMART rover-kit gebruikt. Hier gevonden

IR-ontvanger:

int ontvanger_pin =4; // Verbind de uitgangspin 4 op de controller met de IR-ontvanger Y

int vcc =5; // Verbind de uitgangspin 5 op de controller met de IR-ontvanger V

int gnd =6; // Verbind de uitgangspin 4 op de controller met de IR-ontvanger G

L298N motoraandrijfmodule :

// motor A

int enA =8;

int in1 =12;

int in2 =11;

// motor B

int enB =7;

int in3 =10;

int in4 =9;

L298N motoraandrijfmodule GND naar controller GND

L298N motoraandrijfmodule naar motoren:

//Motorset A rechterkant

Verbinden de "+" (rode) kant van de motoren naar Out 4

Sluit de "-" (zwarte) kant van de motoren aan op Out 3

// Motorset B linkerkant

Verbinden de "+" (rode) kant van de motoren naar Out 2

Sluit de "-" (zwarte) kant van de motoren aan op Out 1

Sluit de batterij aan op de L298N-aandrijfmodule "+" (rood) op VCC en "-" (zwart) op GND

Volledig diagram

Code

  • IR-afstandsbediening auto
IR-afstandsbediening autoC#
#include char commando;int receiver_pin =4; // Sluit de uitgangspin van de IR-ontvanger aan op pin 4int vcc =5; // VCC voor IR-sensorint gnd =6; //GND ​​voor IR-sensorint statusled =13;IRrecv irrecv(receiver_pin);decode_results results;// sluit de pinnen van de motorcontroller aan op de digitale pinnen van Arduino// motor Aint enA =8;int in1 =12;int in2 =11;// motor Bint enB =7;int in3 =10;int in4 =9;void setup(){Serial.begin(9600);irrecv.enableIRIn();pinMode(statusled,OUTPUT);digitalWrite(statusled,LOW);// set alle motorbesturingspennen naar uitgangen pinMode (enA, OUTPUT); pinMode(enB, UITGANG); pinMode (in1, UITGANG); pinMode (in2, UITGANG); pinMode (in3, UITGANG); pinMode (in4, UITGANG); pinMode (vcc, UITGANG); pinMode(gnd, UITGANG); // Initialisatie vcc pin high digitalWrite (vcc, HIGH);} ongeldige loop () {if (irrecv.decode (&resultaten)) {digitalWrite (statusled, LOW); irrecv.resume ();if (results.value ==0xFF18E7 ){ // typ button 2 forward robot control // deze functie laat de motoren in beide richtingen draaien met een vaste snelheid Serial.println("Knop 2"); // zet motor A digitalWrite aan (in1, HIGH); digitalWrite(in2, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, HOOG); digitalWrite(in4, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik 0~255 analogWrite(enB, 100);}else if(results.value ==0xFF10EF){ // typ knop 4 draai links robotbesturing // deze functie laat motor A in voorwaartse richtingen motor B stop Serial.println ("Knop 4"); // zet motor A digitalWrite aan (in1, HIGH); digitalWrite(in2, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, LAAG); digitalWrite(in4, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enB, 100); }else if(results.value ==0xFF30CF){ // typ knop 1 roteer robotbesturing naar links // deze functie laat motor A in voorwaartse richting draaien, motor B in achterwaartse richting Serial.println ("Knop Draai naar rechts"); // zet motor A digitalWrite aan (in1, HIGH); digitalWrite(in2, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, LAAG); digitalWrite(in4, HOOG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enB, 100); }else if(results.value ==0xFF5AA5){ // typ knop 6 draai rechts robotbesturing // deze functie stopt motor A laat motor B in voorwaartse richting draaien Serial.println ("Button Turn Left"); // zet motor A digitalWrite aan (in1, LAAG); digitalWrite(in2, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, HOOG); digitalWrite(in4, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik 0~255 analogWrite(enB, 100);}else if(results.value ==0xFF7A85){ // typ knop 3 draai rechts robotbesturing // deze functie laat motor A in achterwaartse richtingen motor B in voorwaartse richtingen // zet motor A aan digitalWrite (in1, LOW); digitalWrite(in2, HOOG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, HOOG); digitalWrite(in4, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF4AB5) { // typ knop 8 achterwaartse robotbesturing // deze functie laat motor A en motor draaien B in achterwaartse richtingen // zet motor A digitalWrite aan (in1, LOW); digitalWrite(in2, HOOG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, LAAG); digitalWrite(in4, HOOG); // stel de snelheid in op 200 buiten het mogelijke bereik 0~255 analogWrite(enB, 100);}else if(results.value ==0xFF38C7){ // typ knop 5 stop robotbesturing // deze functie stopt zowel motor A als motor B // zet motor A aan digitalWrite (in1, LAAG); digitalWrite(in2, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enA, 100); // zet motor B digitalWrite aan (in3, LAAG); digitalWrite(in4, LAAG); // stel de snelheid in op 200 buiten het mogelijke bereik van 0 ~ 255 analogWrite (enB, 100); }}}

Schema's


Productieproces

  1. Besturingscircuits
  2. Birth Control Pil
  3. C# Constructor
  4. Raspberry Pi universele afstandsbediening
  5. Pool Fill Control
  6. Hartslagmeter op afstand
  7. Hergebruik ongewenste infrarood afstandsbediening om Raspberry Pi af te sluiten en opnieuw op te starten
  8. ICS Security Attack maakt afstandsbediening van gebouwen mogelijk
  9. Cloud monitoring, een afstandsbedieningssysteem
  10. 5 voordelen van productiecontrole op afstand
  11. Afstandsbediening voor bovenloopkranen:alles wat u moet weten