Airsoft Krispies

Bonjour à tous et bienvenue


    Ciblerie Arduino + PC

    Partagez
    avatar
    laranjeira

    Messages : 7
    Date d'inscription : 13/01/2018
    Age : 35
    Localisation : orne

    Ciblerie Arduino + PC

    Message par laranjeira le Mer 18 Juil - 13:29

    Bonjour a tous,

    tout d’abord un grand merci a Krispies pour sont forum, merci a burnout' pour le codage Arduino.
    cela fait quelque temps que je travail sur un projet de ciblerie électronique, mon projet avance bien donc je vais vous le faire partager.

    J'ai choisi d'utilisé un PC car cela me parait plus interactif, plus de possibilité d'évolution (réalisé des classements, des statistiques,...)

    Pour la partie logiciel j'ai développer un application a l'aide de Windev, avec différents mode de jeux, la gestion d'un double écrans.
    La liaison sens fil est assurer par des modules APC220, pour la platine de reception j'ai utilisé un arduino nano qui propose 8 entrées/sorties qui permet d'utilisé 8 clibles.
    J'ai utiliser des leds tri-colores dans le but de pouvoir changer de couleurs en fonction du lieux ou seront les cibles.

    Pour supporter les cibles, je pense utiliser des pieds de micro (j'en ai commander un pour faire des tests)

    voici quelque photos de l'avancement du projet.













    avatar
    droopaille
    boulon platine
    boulon platine

    Messages : 2562
    Date d'inscription : 03/04/2011
    Age : 43
    Localisation : Vitré (35)

    Re: Ciblerie Arduino + PC

    Message par droopaille le Mar 24 Juil - 23:39

    sympa
    c'est quoi tes petits boitiers ?


    _________________
    Toutes mes créations
    avatar
    laranjeira

    Messages : 7
    Date d'inscription : 13/01/2018
    Age : 35
    Localisation : orne

    Re: Ciblerie Arduino + PC

    Message par laranjeira le Mer 25 Juil - 13:25

    Bonjour, ce sont des boitiers de raccordement RJ45 que j'ai trouver chez un de mes fournisseurs.
    avatar
    laranjeira

    Messages : 7
    Date d'inscription : 13/01/2018
    Age : 35
    Localisation : orne

    Re: Ciblerie Arduino + PC

    Message par laranjeira le Mer 25 Juil - 13:36

    avancement, avec la réalisation du boitier maitre et du boitier esclave




    avatar
    laranjeira

    Messages : 7
    Date d'inscription : 13/01/2018
    Age : 35
    Localisation : orne

    Re: Ciblerie Arduino + PC

    Message par laranjeira le Mer 25 Juil - 13:40

    Premiers tests

    cible installée sur le pied micro, la stabilité est super



    malheureusement les billes d'acier sont un peut violentes! il va falloir modifier
    avatar
    laranjeira

    Messages : 7
    Date d'inscription : 13/01/2018
    Age : 35
    Localisation : orne

    Re: Ciblerie Arduino + PC

    Message par laranjeira le Mer 25 Juil - 23:23

    pour ceux qui souhaiterai essayer, voici le programme, il y a surement encore des bugs Wink

    https://we.tl/i9i1UA6Avz



    code Arduino :
    Code:

      //  #include <printf.h>
        #include <avr/wdt.h>


        char toSend[] = "Z";

        //Variable
        //int LEDRouge = 7;
        //int LEDVert = 6;
        //int LEDJaune = 5;
        int LEDCible0 = 2;
        int LEDCible1 = 3;
        int LEDCible2 = 4;
        int LEDCible3 = 5;
        int LEDCible4 = 6;
        int LEDCible5 = 7;
        int LEDCible6 = 8;
        int LEDCible7 = 9;
        int testcible =0;
        int testPiezo=0;


        int received; //reception RF/PC
        void Jeux();
        const int threshold= 300;  //500

        const int sensorPin0= 0;
        const int sensorPin1= 1;
        const int sensorPin2= 2;
        const int sensorPin3= 3;
        const int sensorPin4= 4;
        const int sensorPin5= 5;
        const int sensorPin6= 6;
        const int sensorPin7= 7;

        const int DelayCible = 100;

        void setup() {

          Serial.begin(9600);
          Serial.println("Started");

          
          //pinMode(LEDRouge, OUTPUT);
          //pinMode(LEDVert, OUTPUT);
          //pinMode(LEDJaune, OUTPUT);

          pinMode(LEDCible0, OUTPUT);
          pinMode(LEDCible1, OUTPUT);
          pinMode(LEDCible2, OUTPUT);
          pinMode(LEDCible3, OUTPUT);
          pinMode(LEDCible4, OUTPUT);
          pinMode(LEDCible5, OUTPUT);
          pinMode(LEDCible6, OUTPUT);
          pinMode(LEDCible7, OUTPUT);

          digitalWrite(LEDCible0, LOW);
          digitalWrite(LEDCible1, LOW);
          digitalWrite(LEDCible2, LOW);
          digitalWrite(LEDCible3, LOW);
          digitalWrite(LEDCible4, LOW);
          digitalWrite(LEDCible5, LOW);
          digitalWrite(LEDCible6, LOW);
          digitalWrite(LEDCible7, LOW);
        }

        void loop() {

          if (Serial.available()>0) {          // Si des données sont disponibles
            received = Serial.read();          // On les récupère
            if(received == 'S') {
               Serial.println("Stat");
              jeux();
              }
          }

        }

        void jeux(){

          while(1){
            if (Serial.available()>0) {          // Si des données sont disponibles
              received = Serial.read();          // On les récupère
              
              if(received == 'X') {
                digitalWrite(LEDCible0, LOW);
                digitalWrite(LEDCible1, LOW);
                digitalWrite(LEDCible2, LOW);
                digitalWrite(LEDCible3, LOW);
                digitalWrite(LEDCible4, LOW);
                digitalWrite(LEDCible5, LOW);
                digitalWrite(LEDCible6, LOW);
                digitalWrite(LEDCible7, LOW);
               // return;
                }

               if(received == 'Q') { setup();}
              if(received=='0'){digitalWrite(LEDCible0, HIGH);}
              if(received=='1'){digitalWrite(LEDCible1, HIGH);}
              if(received=='2'){digitalWrite(LEDCible2, HIGH);}
              if(received=='3'){digitalWrite(LEDCible3, HIGH);}
              if(received=='4'){digitalWrite(LEDCible4, HIGH);}
              if(received=='5'){digitalWrite(LEDCible5, HIGH);}
              if(received=='6'){digitalWrite(LEDCible6, HIGH);}
              if(received=='7'){digitalWrite(LEDCible7, HIGH);}
              //if(received=='A'){
                 // digitalWrite(LEDCible0, HIGH);
                //  digitalWrite(LEDCible1, HIGH);
                //  digitalWrite(LEDCible2, HIGH);
                //  digitalWrite(LEDCible3, HIGH);
                //  digitalWrite(LEDCible4, HIGH);
                //  digitalWrite(LEDCible5, HIGH);
                //  digitalWrite(LEDCible6, HIGH);
               //   digitalWrite(LEDCible7, HIGH);      
                 // }
                
            }

          //----------------- LECTURE DES CIBLES -----------------//
              //-- CIBLE 0 --//
            
            if(analogRead(sensorPin0) >= threshold){
              Serial.println('A');
             // digitalWrite(LEDCible0, LOW);
              delay(DelayCible);
            }
              //-- CIBLE 1 --//
            if(analogRead(sensorPin1) >= threshold){
              Serial.println('B');
             // digitalWrite(LEDCible1, LOW);
              delay(DelayCible);
            }
              //-- CIBLE 2 --//
            if(analogRead(sensorPin2) >= threshold){
              Serial.println('C');
              //digitalWrite(LEDCible2, LOW);
              delay(DelayCible);
            }
              //-- CIBLE 3 --//
            if(analogRead(sensorPin3) >= threshold){
              Serial.println('D');
             // digitalWrite(LEDCible3, LOW);
              delay(DelayCible);
            }
              //-- CIBLE 4 --//
            if(analogRead(sensorPin4) >= threshold){
              Serial.println('E');
             // digitalWrite(LEDCible4, LOW);
              delay(DelayCible);
            }
              //-- CIBLE 5 --//
            if(analogRead(sensorPin5) >= threshold){
              Serial.println('F');
             // digitalWrite(LEDCible5, LOW);
              delay(DelayCible);
            }
             //-- CIBLE 6 --//
            if(analogRead(sensorPin6) >= threshold){
              Serial.println('G');
             // digitalWrite(LEDCible6, LOW);
              delay(DelayCible);
            }
              //-- CIBLE 7 --//
            if(analogRead(sensorPin7) >= threshold){
              Serial.println('H');
             // digitalWrite(LEDCible7, LOW);
              delay(DelayCible);
            }
          } //Fin While

          
       }//Fin jeux


    avatar
    rausko
    vis rouillée
    vis rouillée

    Messages : 103
    Date d'inscription : 27/01/2012
    Age : 46
    Localisation : oise

    Re: Ciblerie Arduino + PC

    Message par rausko le Mar 31 Juil - 7:49

    Bonjour

    superbe !

    le concentrateur RJ45 de ta base, a tu ces références ?


    regus06
    vis rouillée
    vis rouillée

    Messages : 37
    Date d'inscription : 24/09/2015
    Age : 52
    Localisation : NICE

    Re: Ciblerie Arduino + PC

    Message par regus06 le Mar 31 Juil - 22:05

    Bonjour,

    Super projet et turoriel, c'est vraiment un travail très soigné.

    Petite question, comment faites vous VOUS raccordez un boîtier maître au PC via USB ou le PC communique directement avec le boîtier esclave.

    En vous remerciant pour votre réponse.
    avatar
    burnout'
    vis rouillée
    vis rouillée

    Messages : 30
    Date d'inscription : 06/04/2015
    Age : 25
    Localisation : Le Mans

    Re: Ciblerie Arduino + PC

    Message par burnout' le Mar 31 Juil - 23:30

    Salut regus06,

    Larenjeira utilise des modules APC220 pour la communication. L'un est connecté sur la base esclave et l'autre directement sur le PC (qui fait office de base Maître). Le module APC220 connecté en USB sur le PC émule un port série (port COM). Ensuite toute l'intelligence est gérée par le logiciel de Larenjeira qui dialogue avec la base esclave via le module APC220.

    Smile

    regus06
    vis rouillée
    vis rouillée

    Messages : 37
    Date d'inscription : 24/09/2015
    Age : 52
    Localisation : NICE

    Re: Ciblerie Arduino + PC

    Message par regus06 le Mer 1 Aoû - 10:59

    Bonjour,

    Merci pour ces explications claires et précises, je comprends mieux.

    avatar
    naedioba
    vis rouillée
    vis rouillée

    Messages : 66
    Date d'inscription : 07/05/2017
    Age : 49
    Localisation : Saint-Louis, Sénégal

    Re: Ciblerie Arduino + PC

    Message par naedioba le Mer 1 Aoû - 14:36

    Hello,
    Tu as fait du tres bon boulot. Bravo!
    Peut-on avoir plus de details sur le fonctionnement avec le PC?
    Pourrais-tu partager l'application WinDev?

    Merci bcp
    avatar
    laranjeira

    Messages : 7
    Date d'inscription : 13/01/2018
    Age : 35
    Localisation : orne

    Re: Ciblerie Arduino + PC

    Message par laranjeira le Sam 25 Aoû - 13:37

    Bonjour a tous, désolé pour mon absence, me revoilà.

    merci a tous pour vos messages, merci a burnout', effectivement j'utilise des APC220 pour la liaison entre le PC et le boitier esclave.

    voici un nouveau lien pour télécharger le soft (il y a seulement un exécutable) , n’hésitai pas a me faire des retour sur des bug rencontré ou des modification qui pourrait être faites.

    https://mega.nz/#!LtQBWIIJ!fcPQOJUpc8KH2_QPRJDLDbfUglT69Nu1P07FvdMyg7M

    voici le lien vers le panneau de brassage 8 port : https://www.ldlc.com/fiche/PB00234344.html

    avatar
    naedioba
    vis rouillée
    vis rouillée

    Messages : 66
    Date d'inscription : 07/05/2017
    Age : 49
    Localisation : Saint-Louis, Sénégal

    cibles

    Message par naedioba le Dim 26 Aoû - 8:01

    hello,
    j'ai essaye ton appli de stand de tir en utilisant une 2eme pc comme boitier esclave. c'est très cool.
    Mais il y a encore des dysfonctionnement (bug ou erreurs de programmation?).
    Serait-il possible de jeter un coup d’œil aux fichiers du projet Windev?

    Best regards.
    naedioba1@gmail.com

    Contenu sponsorisé

    Re: Ciblerie Arduino + PC

    Message par Contenu sponsorisé


      La date/heure actuelle est Sam 17 Nov - 8:43