Bonjour à tous,
Je vous explique mon projet en quelques mots, je veux réaliser un banc de test pour mes voiture de modélisme.
Dans un premier temps, je voudrais juste pouvoir tester l'autonomie de mes batteries avant de rentrer plus dans les détails (tours moteur, vitesse ...)
J'ai donc commencer à réaliser plusieurs chose:
- Un schéma électrique du câblage en pièce jointe. à noter que le variateur représenter n'est pas celui qui sera utilisé réellement.
- Le banc d'essai tel qu'il sera à voir sur la photo, le câblage n'est pas encore fait
- Et le programme que je vais mettre plus bas avec les problèmes que je rencontre déjà en faisant la compilation.
Fonctionnement du banc:
- J'ai prévu deux modes de fonctionnement, 1 en manuel et 1 en automatique, la sélection se ferait via un inter 3 positions
- Mode manuel dans le quel je peux me servir de la direction et de l'accélération à l'aide de potentiomètre
- Mode automatique dans lequel souhaiterais faire tourner en boucle une courbe moteur dans le style de celle en pièce jointe que j'ai trouver sur le net. Je lancerais et j'arrêterais cette boucle de programmation avec un inter "pullup"
Etant assez novice dans la programmation, je rencontre plusieurs problème:
- Le code ci dessous ne fonctionne pas en compilation et je n'arrive pas à voir ou ça cloche
- Je ne sais pas si mon inter Start / Stop du programme est bien programmé
- Je n'ai aucune idée de comment réaliser la boucle de fonctionnement de mon mode automatique, actuellement je l'ai mis avec les sorties à l'état haut
Le code:
/
// Programme bance de test
// Nom des entrées / sorties
#include <Servo.h>
Servo Moteur;
Servo Direction;
const byte InterMANU = 8; // Choix mode manuel
const byte InterAUTO = 7; // Choix mode automatique
const byte InterSTARTSTOP = 6; // Impulsion de mise en route ou mise à l'arret mode auto
const byte potmot = A0; // Signal entree carte pour reglage de la vitesse
const byte potdir = A1; // Signal entree carte pour reglage de la direction
const byte SortieMoteur = 10; // Signal sortie carte vers ESC
const byte SortieDirection = 9; // Signal sortie carte vers Servo de direction
// Définition des entrées / sorties
void setup()
{
pinMode(InterMANU, INPUT); // Interrupteur position mode manuel
pinMode(InterAUTO, INPUT); // Interrupteur position mode automatique
pinMode(InterSTARTSTOP, INPUT_PULLUP); // Interrupteur impulsion de mise en route ou mise à l'arret mode auto
pinMode(potmot, INPUT); // Signal entree carte pour reglage de la vitesse
pinMode(potdir, INPUT); // Signal entree carte pour reglage de la direction
pinMode(SortieMoteur, OUTPUT); // Signal sortie carte vers ESC
pinMode(SortieDirection, OUTPUT); // Signal sortie carte vers Servo de direction
Serial.begin(9600);
Moteur.attach(10);
Direction.attach(9);
int digitalRead(InterSTARTSTOP, HIGH);
int valpotmot;
int valpotdir;
}
// Programme
void loop()
{
if (InterMANU == HIGH){ // Utilisation du mode manuel avec les deux potentiomètre
// Prog moteur
valpotmot = analogRead(potmot);
Serial.print("valpotmot:");
Serial.print(valpotmot);
SortieMoteur = map(valpotmot, 0, 1023, 0, 179);
Serial.print(", SortieMoteur: ");
Serial.println(SortieMoteur);
Moteur.write(SortieMoteur);
//Prog direction
valpotdir = analogRead(potdir);
Serial.print("valpotdir:");
Serial.print(valpotdir);
SortieMoteur = map(valpotdir, 0, 1023, 0, 179);
Serial.print(", SortieMoteur: ");
Serial.println(SortieMoteur);
Direction.write(SortieMoteur);
}
else if (InterAUTO == HIGH){ // Utilisation du mode automatique
int InterSTARTSTOP = digitalRead(6); // Lecture de l'interrupteur Start / Stop
Serial.println(InterSTARTSTOP); //print out the value of the pushbutton
if (InterSTARTSTOP == HIGH){
analogWrite(A0, LOW);
analogWrite(A1, LOW);
}
else (InterSTARTSTOP == LOW){
analogWrite(A0, HIGH); // le but de cette partie étant de remplacer les sortie par le graphique de la courbe moteur qui tournerait en boucle
analogWrite(A1, HIGH); // le but de cette partie étant de remplacer les sortie par le graphique de la courbe moteur qui tournerait en boucle
}
}
}
/[code]
Voilà, bon si quelqu'un peu me donner un coup de main, je le remercie par avance
Philippe
Schéma-banc-d-essai.pdf (947 KB)