Tout nos projetsConstruire une voiture éléctronique avec Arduino et commande bluetooth ou IR (infra rouge)
Version infrarouge : Voiture éléctronique, éléments de montage et démo
Comment peut on facilement réaliser un projet électronique avec Arduino pour créer une une voiture avec commande infra rouge sans cable! Objets utilisés pour ce projet:
LEDs coloriés.
1 servo moteur.
1 carte de dévéloppement Arduino.
1 d'extension ProtoShield.
4 moteurs
1 element bluetooth
1 detecteur de distance (double)
Des resitences, des cables jump et 1 cable d'alimentation USB.
Version smartphone : Voiture éléctronique, éléments de montage et démo
Comment peut on facilement réaliser un projet électronique avec Arduino pour créer une une voiture avec bluetooth et la commander avec son smartphone sans cable!
La viédo est mise à titre éducative et toute copie à titre commerciale du produit sera poursuivie. Seules les copies à titre personnel sont permises.
Code source complet:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE_PIN 9
#define CSN_PIN 10
const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe=
//int ledPinonoff = 3;
int pin_num=0;
String readString;
int speed=0;
// L9110 connections
#define L9110_A_IA 3 // Pin D10 --> Motor A Input A
#define L9110_A_IB 4 // Pin D11 --> Motor A Input B
#define L9110_B_IA 5 // Pin D10 --> Motor B Input A
#define L9110_B_IB 6 // Pin D11 --> Motor B Input B
// Motor Speed & Direction
#define MOTOR_B_PWM L9110_B_IA // Motor PWM Speed
#define MOTOR_B_DIR L9110_B_IB // Motor Direction
#define MOTOR_A_PWM L9110_A_IA // Motor PWM Speed
#define MOTOR_A_DIR L9110_A_IB // Motor Direction
int ledPin1 = A0;
int ledPin2 = A1;
int Car_state = 0;
void lightderriere(){
analogWrite(ledPin2,130);digitalWrite(ledPin1,LOW);
}
void lightdevant(){
digitalWrite(ledPin2,LOW);analogWrite(ledPin1,130);
}
void lightoff(){
digitalWrite(ledPin2,LOW);digitalWrite(ledPin1,LOW);
}
void setup() {
Serial.begin (9600);
Serial.println("Start");
pinMode( ledPin1, OUTPUT );pinMode( ledPin2, OUTPUT );
}
void up()
{
if(speed<250)speed +=10;
//analogWrite(ledPinonoff, speed);
Serial.println(speed);
digitalWrite( MOTOR_A_DIR, HIGH ); // direction = forward
analogWrite( MOTOR_A_PWM, speed ); // PWM speed = 60
digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward
analogWrite( MOTOR_B_PWM, speed ); // PWM speed = 60
lightdevant();
}
void down()
{
if(speed>=10) speed -=10;
//analogWrite(ledPinonoff, speed);
Serial.println(speed);
lightderriere();
}
void loop() {
while (Serial.available()) {
delay(3);
char c = Serial.read();
readString += c;
}
if (readString == "less"){
if(speed>=10) speed -=10;//sensorValue = analogRead(sensorPin);
//analogWrite(ledPinonoff, speed);
}
if (readString == "more"){
if(speed<=250)speed +=10;
//analogWrite(ledPinonoff, speed);
}
if (readString == "on"){
//analogWrite(ledPinonoff, HIGH);
up();
Serial.write("LEDs ON");
}
if (readString == "off"){
// digitalWrite(ledPinonoff, LOW);
down();
Serial.write("LEDs OFF");
}
if (readString == "up"){
up();
}
if (readString == "down"){
down();
}
if (readString == "left"){
analogWrite(11, speed);
Serial.write("LEDs OFF");
}if (readString == "right"){
analogWrite(11, speed);
}
readString="";
}
|
|