Procédure de maintenance

Bonjour,

Je dois pour un projet réaliser la procédure de maintenance d’un baby foot automatisé,

le but étant de lancer un programme qui permettra de déterminer aux mieux si un composants est défectueux ou non en envoyant un signal et en la recevant sous forme de 0 pour “pas de réponse” donc cela montre théoriquement qu’il y’a problème et 1 pour “réception du signal” qui montre théoriquement que le composant fonctionne.

Les composants:
-écran LCD
-capteur de contact Iduino
-capteur de mouvement PIR Grove
-carte arduino
-électroaimant ROB-10391

La partie automatisé du baby foot comprend le lancer de la balle à l’aide d’un électroaimant, le comptage des points à l’aide d’un capteur de mouvement placé dans la cage, d’un capteur de contacte placé dans le baby foot et l’affichage des points à l’aide d’un écran LCD.

Le souci maintenant est que je suis NUL avec Arduino et que je n’arrive pas à savoir comment réaliser ce programme ni même si c’est possible de le faire chose bête car je ne m’attendait pas à devoir réaliser ce genre de chose lorsque j’ai choisit de le faire à la base.

Je souhaiterais savoir si ce que je souhaite est réalisable ou non et si oui comment ?

Pas de code?
Pas de schéma?
Pas de datasheet?

Tu joues trop au baby foot.

Si la question c'est "comment savoir si tous mes composants marchent et sont calibrés?"
Il faut faire une mesure étalon, matériel installé, calibré, neuf.
Ensuite comparer.

Pour savoir si le capteur du but marche, la maintenance consiste à mettre un but pour voir ... si ça marche.

Ton sujet ne va pas rester longtemps ni tu n'apportes pas d'éléments.

projet bac?

infobarquee:
projet bac?

+1

Purée s’il n’en est que là à moins d’un mois de la remise du rapport ça va être chaud.
Monsieur aime se mettre des handicaps et vivre dangereusement.

Re

Bonjour,

Bien deviné en effet il s’agit bien d’une partie de mon projet bac et non je n’en suis pas qu’ à la pour la remise du rapport heureusement mais la n’est pas le sujet.

pour le code le voici:

#include <LiquidCrystal.h>
LiquidCrystal LCD(12,11,5,4,3,2);
int ScoreBleu=0; //définition du score de l'équipe bleu
int ScoreRouge=0; //définition du score de l'équipe rouge
#define CapteurButRouge 8 //définition du capteur dans la cage de l'équipe rouge
#define CapteurCageRouge A5 //définition du capteur dans la goulotte de l'équipe rouge
int Buzzer=9; //définition du buzzer

void setup() {

  pinMode(CapteurButRouge,INPUT); //définition du capteur dans la cage de l'équipe rouge en entrée
  pinMode(CapteurCageRouge, INPUT); //définition du capteur dans la goulotte de l'équipe rouge en entrée
  pinMode(Buzzer,OUTPUT); //définition du buzzer dans la goulotte de l'équipe rouge en sortie

  LCD.begin(16,2); //on initialise la communication avec 16 colonnes et deux lignes
  LCD.clear(); // on efface l'écran
  LCD.print("Rouge     Bleu"); //On affiche le nom des deux équipes sur l'afficheur
}

void Musique()//Création d'un sous programme  
{
  tone(Buzzer, 932, 200);//Le buzzer joue la note avec une fréquence de 932 pendant 2 ms
  delay(200);//Pause de 2ms
  tone(Buzzer, 987, 200);
  delay(200);
  tone(Buzzer, 554, 200);
  delay(200);
  tone(Buzzer, 740, 200);
  delay(200);
  tone(Buzzer, 932, 200);
  delay(200);
}

void loop() {
int ValeurButRouge = digitalRead(CapteurButRouge); //Récupération de la valeur digital du capteur  
int ValeurCageRouge = digitalRead(CapteurCageRouge);  //Récupération de la valeur digital du capteur 

if(ValeurButRouge == 0){ //Si le capteur dans la cage de l'équipe rouge n'est pas activé
  ScoreRouge=ScoreRouge+1; //Le score de l'équipe rouge augmente de 1
  delay(500);//On fait une pause de 0.5s
  }
  
if (ValeurCageRouge == 1){//Si le capteur dans la goulotte de l'équipe rouge n'est pas activé
  ScoreRouge=ScoreRouge-1; //Le score de l'équipe rouge baisse de 1
  ScoreBleu=ScoreBleu+1;  //Le score de l'équipe bleue augmente de 1
  delay(2000);} //On fait une pause de 2s
  
if(ScoreBleu==10){  //Si le score de l'équipe bleue est de 10
        LCD.clear();  // on efface l'écran
        LCD.setCursor(4,0); //On se place au quatrième caractère de la première ligne de l'afficheur
        LCD.print("Victoire"); //On affiche Victoire
        LCD.setCursor(5,1);//On se place au cinquième caractère de la deuxième ligne de l'afficheur
        LCD.print("Rouge"); //On affiche Rouge
        digitalWrite(Buzzer, HIGH); // Le buzzer s'active pendant 2 s puis s'éteind
        Musique(); //Appel du sous programme musique
        digitalWrite(Buzzer, LOW);
        LCD.clear();  // on efface l'écran
        LCD.print("Rouge     Bleu");//On affiche le nom des deux équipes sur l'afficheur
        ScoreBleu=0;// Réinitialisation des deux variables
        ScoreRouge=0;}
      
if(ScoreRouge==10){
        LCD.clear(); // on efface l'écran
        LCD.setCursor(4,0);
        LCD.print("Victoire");
        LCD.setCursor(5,1);
        LCD.print("Bleue");
        digitalWrite(Buzzer, HIGH);
        Musique();
        digitalWrite(Buzzer, LOW);
        LCD.clear();
        LCD.print("Rouge     Bleu");
        ScoreBleu=0;
        ScoreRouge=0;}
      
  if ((ScoreBleu<10)&&(ScoreRouge<10)){ // Si le score des deux équipes est inférieur à 10
    
    LCD.setCursor(0,1); //on passe à la ligne suivante
    LCD.print("                ");// On efface les caractéres de la deuxième ligne
    LCD.setCursor(0,1); //on passe à la ligne suivante
    LCD.print(ScoreBleu);//Afficher le score de l'équipe bleue et de l'équipe rouge
    LCD.setCursor(10,1);
    LCD.print(ScoreRouge);}        

}

Le schéma:

j’espère que ce montage un peu brouillon vous sera utile :slight_smile:

après l’idée ce n’est pas juste d’envoyer la balle dans le baby-foot et de voir si sa marche mais plutôt de lancer un programme qui envoi une information aux composants ou un truc du genre pour voir si le composant fonctionne, désolé de ne pas être plus précis mais c’est la où je bloque.

01101110:
j'espère que ce montage un peu brouillon vous sera utile :slight_smile:

Je ne comprenais pas pourquoi certains râlent quand on poste ces schémas colorés, façon licorne bourrée. Ayé, j'ai compris. C'est pas objectif, mais ce montage est dégueulasse. Tu n'as presque rien de branché, fais un effort d'organisation. Imagine ce que ça donnera quand tu auras des bidules sur chaque pin en plus de l'électronique.

01101110:
après l'idée ce n’est pas juste d'envoyer la balle dans le baby-foot et de voir si sa marche mais plutôt de lancer un programme qui envoi une information aux composants ou un truc du genre pour voir si le composant fonctionne, désolé de ne pas être plus précis mais c'est la où je bloque.

Honnêtement, je pense avoir raison.
Imagine que tu aies besoin de lunettes. Tu vas chez l'ophtalmo parce que tes yeux ne sont pas capables de s'autocalibrer. Pourtant ya du gros microcontrôleur derrière :wink:
Tu arrives chez l'ophtalmo, il te bande les yeux et te dit de lire des lettres. Mal barré.
Un capteur capte un truc précis, il réagit. Il ne sait pas s'il marche. D'ailleurs, quand tu achètes un capteur, tu le testes avant de le monter (j'espère) car dans l'emballage, rien ne dit s'il est en état de marche.
Tu dois étalonner, calibrer ton capteur. Son taf c'est de capter un but.
Comment demander à une lampe de phare de voiture si elle marche sans l'actionner et aller voir devant si tu as de la lumière? Si tu trouves, je suis preneur.

Re

Clairement l'aspect esthétique du montage n'est pas le plus important, je pourrais peaufiner cela, après que veux tu dire quand je n'ai presque rien de branché ? je précise qu'il s'agit d'un montage schématique repris d'un montage réel ou les composants sont relier entre eux et fonctionnent ensemble.

Pour le test, y'a pas d'autre solution que de tester directement le composant voulut et voir si sa marche donc. Dommage moi qui pensais qu'un système de se genre pouvais marcher, (programme pour une procédure de maintenance) au moin cela sera plus facile à réaliser.

Si je veux vérifier qu'un thermomètre d'aquarium fonctionne, je le longe dans de l'eau à par exemple 25°c, s'il affiche 25°c c'est chouette, je peux le tester à différentes températures, ensuite, pour être sûr. C'est l’étalonnage.
En en installant trois dans un aquarium, si je lis leurs retours, et que l'un me dit 25, un autre 24,9 et un dernier 1023, le dernier déconne. Un simple calcul median ou une comparaison suffisent.

Mais comment veux-tu savoir si un capteur de but fonctionne sans qu'il y ait un but??

Que ce soit un capteur de choc, un tilt, un capteur IR, ils captent un événement. Si cet événement n'a pas lieu, ils attendent que ça passe.

Sur certains composants tu peux vérifier s'ils sont alimentés, c'est le cas de KY008 (laser). Si tu avais cette possibilité sur ton capteur, tu saurais s'il "marche" (il est alimenté).

Maintenant imaginons que tu peux vérifier que ton capteur est alimenté ou non. Il te renvoie que oui.
Tu fais une partie, un gros shoot dans le but, et le capteur se décolle. Il tombe au fond du but.
Il te renvoie quand-même qu'il marche, car il est alimenté. Par contre les buts ne sont plus comptabilisés. Le capteur ne capte plus rien, pourtant il fonctionne... Il ne peut pas te dire que la colle a lâché.

Je suis tout débutant, je ne connais rien en électronique et je pose encore beaucoup de questions assez stupides, mais il faut être logique.
C'est ton domaine, pas le mien, tu apprends à concevoir ces trucs, comment est-il possible que tu ne comprennes pas?

Sinon tu dresses un petit singe qui vit dans le but contre quelques cacahuètes. Mais ces animaux sont fourbes et gourmands et ont tendance à s'échapper. Le mieux, c'est un humain qui, lorsqu'il marque un but, remarque qu'il n'est pas comptabilisé.

CQFD

Bien deviné en effet il s'agit bien d'une partie de mon projet bac et non je n'en suis pas qu' à la pour la remise du rapport heureusement mais la n'est pas le sujet.

Alors, modifie rapidement ton titre avant que la sanction modo ne tombe.

Les demandes déguisées n'indiquant pas sujet bac avec texte au kilomètre=>poubelle