Code Projet Tapi Roulant
Code Projet Tapi Roulant
h>
#include <Wire.h>
#include "TCS230.h"
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
TCS230 tcs230;
void setup() {
Serial.begin(9600);
// Initialize ultrasonic sensor
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motorPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
// Initialize LEDs
pinMode(ledRedPin, OUTPUT);
pinMode(ledGreenPin, OUTPUT);
pinMode(ledBluePin, OUTPUT);
servo1.attach(servoPin1);
servo2.attach(servoPin2);
servo3.attach(servoPin3);
servo4.attach(servoPin4);
servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
tcs230.init();
tcs230.setFrequency(TCS230_FREQ_20);
}
void loop() {
if (detectObject()) {
digitalWrite(motorPin, HIGH);
servo4.write(90);
delay(5000);
servo4.write(0);
if (color == "Red") {
handleRedObject();
handleBlueObject();
handleGreenObject();
digitalWrite(motorPin, LOW);
bool detectObject() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Calculate distance
String detectColor() {
return "Red";
return "Blue";
return "Green";
} else {
return "Unknown";
}
void handleRedObject() {
digitalWrite(ledRedPin, HIGH);
tone(buzzerPin, 1000);
servo1.write(90);
delay(3000);
servo1.write(0);
digitalWrite(ledRedPin, LOW);
noTone(buzzerPin);
void handleBlueObject() {
digitalWrite(ledBluePin, HIGH);
tone(buzzerPin, 1000);
servo2.write(90);
delay(4000);
servo2.write(0);
digitalWrite(ledBluePin, LOW);
noTone(buzzerPin);
}
void handleGreenObject() {
digitalWrite(ledGreenPin, HIGH);
tone(buzzerPin, 1000);
servo3.write(90);
delay(5000);
servo3.write(0);
digitalWrite(ledGreenPin, LOW);
noTone(buzzerPin);