Bonjour à tous,
Je suis nouveau sur le forum
et je fais actuellement un projet d’aéroglisseur dans le cadre de mes cours.
Je fais partie d’un groupe, et ma tâche est de m’occuper de la partie programmation ArduBlock.
J’ai déjà réalisé le programme en Arduino code (ci-dessous), mais j’aimerais maintenant le convertir en ArduBlock pour qu’il soit utilisable avec l’interface graphique.
Voici le programme que j’ai écrit en Arduino IDE :#include <Servo.h>
#include <SoftwareSerial.h>
Servo directionServo;
SoftwareSerial bluetooth(8, 9); // RX = 8, TX = 9
const int brushlessPin = 3;
const int sustainTurbinePin = 5;
const int servoPin = 6;
const int ledPin = 13;
const int irSensorPin = A0;
int propulsionPower = 0;
int servoAngle = 90;
bool obstacleDetected = false;
void setup() {
directionServo.attach(servoPin);
pinMode(brushlessPin, OUTPUT);
pinMode(sustainTurbinePin, OUTPUT);
pinMode(ledPin, OUTPUT);
bluetooth.begin(9600);
Serial.begin(9600);
}
void loop() {
int irValue = analogRead(irSensorPin);
float distance = irValue * (5.0 / 1023.0) * 100.0;
if (distance < 20.0) {
obstacleDetected = true;
digitalWrite(ledPin, millis() % 500 < 250);
analogWrite(brushlessPin, 0);
bluetooth.println("Obstacle détecté !");
} else {
obstacleDetected = false;
digitalWrite(ledPin, LOW);
analogWrite(brushlessPin, propulsionPower);
}
if (bluetooth.available()) {
char cmd = bluetooth.read();
switch (cmd) {
case 'A':
propulsionPower = min(propulsionPower + 25, 255);
break;
case 'B':
propulsionPower = max(propulsionPower - 25, 0);
break;
case 'L':
servoAngle = max(servoAngle - 10, 60);
break;
case 'R':
servoAngle = min(servoAngle + 10, 120);
break;
case 'S':
propulsionPower = 0;
break;
case 'C':
servoAngle = 90;
break;
}
directionServo.write(servoAngle);
Serial.print("Cmd: "); Serial.println(cmd);
}
delay(100);
}
Mon objectif est de reproduire ce programme dans ArduBlock, pour pouvoir ensuite le tester sur le banc d’essai avec mon groupe.
Voici également le TP sur lequel je travaille (n’hésitez pas à me demander si vous avez besoin de précisions) :
[Ajoute ici un lien vers un PDF ou une capture, ou bien “je peux l’envoyer si besoin”]
Merci d’avance pour votre aide ![]()
Je suis preneur de toute astuce ou fichier .xml compatible ArduBlock !Je sais pa pourquoi je peut pas vous envoyer le fichier du tp vus que je suis un nouveau utilisateur