Robotisâmes - Smart Car 4WD (RA-KS-025) 1.0
Cette library sert à programmer la voiture intelligente 4WD.
Chargement...
Recherche...
Aucune correspondance
RaSmartCar4WD.h
1#include <Arduino.h>
2#include <Servo.h>
3#include <RaKsRemoteControl.h>
4#include <LedMatrixAiP1640.h>
5#include <SR04.h>
6
7// LED
8#define PIN_LED 9
9
10// Servo
11#define PIN_SERVO A3 //servo Pin
12
13// Line Tracking
14#define PIN_TRACKING_LEFT 11
15#define PIN_TRACKING_MIDDLE 7
16#define PIN_TRACKING_RIGHT 8
17
18// HC-SR04
19#define PIN_TRIGGER 12
20#define PIN_ECHO 13
21
22// Remote Controle
23#define PIN_IR_RECEIVER 3
24
25// Motors
26#define PIN_MOTOR_L_CTRL 4 // define the direction control pin of B motor
27#define PIN_MOTOR_L_PWM 5 //define the PWM control pin of B motor
28#define PIN_MOTOR_R_CTRL 2 //define direction control pin of A motor
29#define PIN_MOTOR_R_PWM 6 //define the PWM control pin of A motor
30
31// LED Matrix
32#define PIN_MATRIX_CLOCK A5
33#define PIN_MATRIX_DATA A4
34
35#define DIST_UNIT_CM 0
36#define DIST_UNIT_INCH 1
37
38#define SPEED_MAX 255
39#define SPEED_STEP 10
40
41#define BT_MODE_RUN 1
42#define BT_MODE_ANTI_DROP 2
43#define BT_MODE_LINE_TRACKING 3
44#define BT_MODE_AVOID 4
45#define BT_MODE_FOLLOWING 5
46
48{
49private:
50 bool debug;
51 int distanceUnit;
52 int speed;
53 Servo servoHead;
54 RaKsRemoteControl* rcHandler;
55 LedMatrixAiP1640* ledMatrix;
56 SR04* distSensor;
57 bool showSymbols;
58 int btMode;
59
60
61public:
63
64 // Init
65 void init();
66
67 // Debug
68 void setDebug(bool dbg);
69
70 // Servo
71 void setServoAnglePWM(int iAngle);
72 void setServoAngle(int iAngle);
73
74 // LED
75 void switchLed(bool status);
76 void blinkLed(int iDelay);
77 void breathLed();
78
79 // Tracking sensor
80 int getLeftTrack();
81 int getMiddleTrack();
82 int getRightTrack();
83 void checkTrack();
84
85 // Servo
86 void calibrateServo();
87
88 // Ultrasonic sensor
89 void setDistanceUnit(int unit);
90 float getDistance();
93
94 // IR Remote Control
95 void checkRemoteControl();
97
98 // Bluetooth
99 void debugBluetooth();
101
102 // Wheels control
103 void setSpeed(int iSpeed);
104 void goForward();
105 void goForward(int iSpeed);
106 void goBackward();
107 void goBackward(int iSpeed);
108 void turnLeft();
109 void turnLeft(int iSpeed);
110 void turnRight();
111 void turnRight(int iSpeed);
112 void stop();
113
114 // LED Matrix
115 void setShowSymbols(bool iShow);
116 void display(unsigned char entries[]);
117 void displaySmile();
118 void displayLeft();
119 void displayRight();
120 void displayStart();
121 void displayForward();
122 void displayBackward();
123 void displayStop();
124 void clearDisplay();
125
126 // Line tracking
127 void enableLineTracking();
128};
Definition: RaSmartCar4WD.h:48
void setShowSymbols(bool iShow)
Permet d'activer ou désactiver les symboles qui s'affichent sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:667
float getDistance()
Récupère la distance détectée par le capteur ultrason. L'unité de la valeur de retour peut être défin...
Definition: RaSmartCar4WD.cpp:431
void goBackward()
Actionne les moteurs pour faire reculer la voiture. Utilisez la méthode setSpeed pour régler la vites...
Definition: RaSmartCar4WD.cpp:161
void switchLed(bool status)
Allume ou éteint la LED de test (voir la définition du PIN_LED). Le branchement de la LED sert à test...
Definition: RaSmartCar4WD.cpp:311
void enableLineTracking()
Active le mode de suivi de ligne au sol de la voiture.
Definition: RaSmartCar4WD.cpp:766
void setSpeed(int iSpeed)
Définit la vitesse (entre 0 et 255) des moteurs à courant continu de la voiture.
Definition: RaSmartCar4WD.cpp:102
int getRightTrack()
Récupère la valeur du capteur de droite de suivi de ligne.
Definition: RaSmartCar4WD.cpp:382
void goForward()
Actionne les moteurs pour faire avancer la voiture droit devant. Utilisez la méthode setSpeed pour ré...
Definition: RaSmartCar4WD.cpp:120
int getLeftTrack()
Récupère la valeur du capteur de gauche de suivi de ligne.
Definition: RaSmartCar4WD.cpp:362
void checkTrack()
Affiche l'état des 3 capteurs de suivi de ligne dans la console (moniteur).
Definition: RaSmartCar4WD.cpp:390
void setServoAngle(int iAngle)
Définit l'angle (entre 0 et 180°) du servomoteur de la tête de la voiture.
Definition: RaSmartCar4WD.cpp:92
void displayLeft()
Affiche une flèche vers la gauche sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:698
void debugBluetooth()
Permet d'afficher les informations envoyées via l'interface série lors de l'utilisation d'une applica...
Definition: RaSmartCar4WD.cpp:547
void checkRemoteControl()
Permet de vérifier le bon fonctionnement de la télécommande infrarouge. La touche pressée est indiqué...
Definition: RaSmartCar4WD.cpp:463
void enableBluetoothControl()
Définit le fonctionnement de la voiture pour l'application "keyes 4WD" de Keyestudio....
Definition: RaSmartCar4WD.cpp:567
void init()
l'objet de gestion de la Smart Car. A noter que par défaut :
Definition: RaSmartCar4WD.cpp:24
void displayForward()
Affiche une flèche vers le haut sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:728
void setServoAnglePWM(int iAngle)
Définit l'angle (entre 0 et 180°) du servomoteur de la tête de la voiture. Cette méthode utilise de f...
Definition: RaSmartCar4WD.cpp:77
void blinkLed(int iDelay)
Fait clignoter la LED de test.
Definition: RaSmartCar4WD.cpp:321
void displaySmile()
Affiche un emoji qui sourit sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:688
int getMiddleTrack()
Récupère la valeur du capteur du milieu de suivi de ligne.
Definition: RaSmartCar4WD.cpp:372
void handleRemoteControl()
Active le contrôle par la télécommande infrarouge. Flèche haut = avancer, Flèche bas = reculer,...
Definition: RaSmartCar4WD.cpp:889
void turnRight()
Actionne les moteurs pour faire tourner la voiture à droite. Utilisez la méthode setSpeed pour régler...
Definition: RaSmartCar4WD.cpp:243
void turnLeft()
Actionne les moteurs pour faire tourner la voiture à gauche. Utilisez la méthode setSpeed pour régler...
Definition: RaSmartCar4WD.cpp:202
void clearDisplay()
Efface la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:757
void displayStop()
Affiche le mot "STOP" sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:748
void display(unsigned char entries[])
Affiche quelque chose sur la matrice de LEDs 16x8.
Definition: RaSmartCar4WD.cpp:679
void displayBackward()
Affiche une flèche vers le bas sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:738
void enableFollowMovingObjects()
Active le mode de suivi d'un objet en mouvement (grâce au capteur ultrason).
Definition: RaSmartCar4WD.cpp:798
void breathLed()
Fait clignoter la LED de test en faisant varier son éclairage progressivement.
Definition: RaSmartCar4WD.cpp:341
void enableAvoidObstacles()
Active le mode d'évitement d'obstacles. Lorsqu'un objet est détecté à moins de 20 cm devant le robot,...
Definition: RaSmartCar4WD.cpp:830
void setDebug(bool dbg)
Active/désactive le mode debug.
Definition: RaSmartCar4WD.cpp:64
RaSmartCar4WD()
Definition: RaSmartCar4WD.cpp:6
void stop()
Arrête les moteurs de la voiture. Si la propriété showSymbols=true, la matrice de LED affiche un symb...
Definition: RaSmartCar4WD.cpp:283
void setDistanceUnit(int unit)
Définit l'unité de mesure utilisée pour la distance détectée par le capteur ultrason....
Definition: RaSmartCar4WD.cpp:418
void calibrateServo()
Fixe l'angle du servomoteur à 90°, de sorte à fixer la tête de la voiture correctement et définitivem...
Definition: RaSmartCar4WD.cpp:300
void displayStart()
Affiche un emoji sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:718
void displayRight()
Affiche une flèche vers la droite sur la matrice de LEDs.
Definition: RaSmartCar4WD.cpp:708