IR-afstandsbediening auto
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Benodigde gereedschappen en machines
|
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#
#includechar 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
- Besturingscircuits
- Birth Control Pil
- C# Constructor
- Raspberry Pi universele afstandsbediening
- Pool Fill Control
- Hartslagmeter op afstand
- Hergebruik ongewenste infrarood afstandsbediening om Raspberry Pi af te sluiten en opnieuw op te starten
- ICS Security Attack maakt afstandsbediening van gebouwen mogelijk
- Cloud monitoring, een afstandsbedieningssysteem
- 5 voordelen van productiecontrole op afstand
- Afstandsbediening voor bovenloopkranen:alles wat u moet weten