Airsoft Krispies

Bonjour à tous et bienvenue


    Tourelle automatique sur base Arduino

    Partagez
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Tourelle automatique sur base Arduino

    Message par obelix21 le Sam 8 Fév - 15:46

    voilà le premier projet que post sur ce merveilleux forum, j'espère qu'il vous fera baver autant que moi sur les vôtres depuis bientôt  1 an.

    Avec un pote Shadock21 "Ariolas" on a un peu planché sur une tourelle automatique.


    elle est déclenché par 3 capteurs de mouvements.

    première détection, la tourelle s'active, s’élève et met en place la réplique.

    si détection à droite ou gauche, tirs en petites rafales et rotation de la tourelle du coté ou le mouvement a été détecté puis retour au point milieu.

    si détection au centre, tirs en petites rafales



    possibilité de désactiver la tourelle qui se repliera l'espace d'un instant par un tir sur capteur cible, puis remise en activité à la prochaine détection de mouvement.



    angle couvert par la tourelle 90°, 3 zones de 30°.


    une caméra wireless permettra de profiter du spectacle en ZN,  lol! 





    photo de la base rotative:




    le programme v1.0.0:

    Prog 1.0.0 a écrit:int MoteurRotationGauche = 0;       // relais moteur rotation gauche
    int MoteurRotationDroit = 1;        // relais moteur rotation droite
    int CapteurMouvementGauche = 4;     // detecteur mouvement gauche
    int CapteurMouvementDroit = 5;      // detecteur mouvement droit
    int CapteurMouvementCentral = 6;    // detecteur mouvement central
    int CommandeTir = 13;               // commande de tir
    int broche_detecteur_Gauche = 2;    // fin de course gauche
    int broche_detecteur_Droit = 3;     // fin de course droit

    int etat = 0;                       // Variable d'etat de la tourelle.
    int duree_retour = 1800;            // tempo de retour au point milieu
    int duree_tir = 400;                // tempo de tir
    int duree_arret_tir = 400;          // tempo arret de tir
    int duree_chg_sens = 400;           // tempo changement de sens de rotation

    void setup() ////////////////////////////////////////////////////////////////////////////////////////////
    {
      pinMode (MoteurRotationGauche , OUTPUT);
      pinMode (MoteurRotationDroit , OUTPUT);
      pinMode (CapteurMouvementGauche , INPUT);
      pinMode (CapteurMouvementDroit , INPUT);
      pinMode (CapteurMouvementCentral , INPUT);
      pinMode (CommandeTir , OUTPUT);
      pinMode (broche_detecteur_Gauche , OUTPUT);
      pinMode (broche_detecteur_Droit , OUTPUT);

      //mise a l'etat LOW des relais
      digitalWrite(MoteurRotationGauche, HIGH);
      digitalWrite(MoteurRotationDroit, HIGH);
      digitalWrite(CommandeTir, LOW);

      //activation des resistances de tirage
      digitalWrite(CapteurMouvementGauche, HIGH);
      digitalWrite(CapteurMouvementDroit, HIGH);
      digitalWrite(CapteurMouvementCentral, HIGH);
      digitalWrite(broche_detecteur_Gauche, HIGH);
      digitalWrite(broche_detecteur_Droit, HIGH);
     
      attachInterrupt(0, fin_course_gauche, CHANGE); //fin de course gauche (2)
      attachInterrupt(1, fin_course_droit, CHANGE);  //fin de course droit (3)
     
    }

    void loop() ///////////////////////////////////////////////////////////////////////////////////////////////
    {
     etat = 0;
     
     if (digitalRead(CapteurMouvementCentral) == LOW)            //si detection de mouvement au centre
      {
        digitalWrite(CommandeTir, HIGH);            // déclenchement du tir
        delay(duree_tir);            // pendant 0.4s
        digitalWrite(CommandeTir, LOW);            // arret du tir
        delay(duree_arret_tir);            // pendant 0.4s
        digitalWrite(CommandeTir, HIGH);            // déclenchement du tir
        delay(duree_tir);            // pendant 0.4s
        digitalWrite(CommandeTir, LOW);            // arret du tir
      }


     if (digitalRead(CapteurMouvementGauche) == LOW)                    // si detection de mouvement à gauche
      {
        digitalWrite(MoteurRotationGauche, LOW);                       // rotation à gauche
        do
        {
          digitalWrite(CommandeTir, HIGH);                             // déclenchement du tir
          delay(duree_tir);
         
          if(etat != 1)
          {
            digitalWrite(CommandeTir, LOW);                             // déclenchement du tir
            delay(duree_tir);
          }
         
        }while(etat != 1);
       
        delay(duree_chg_sens);                            // temps de freinage avant changement de sens de rotation
       
        // On fait revenir la tourelle a sa position centrale
        digitalWrite(MoteurRotationDroit, LOW);                         // retour au point milieu
        delay(duree_retour);                                            // durée rotation à droite
        digitalWrite(MoteurRotationDroit, HIGH);                        // arret rotation
      }
     
     
      if (digitalRead(CapteurMouvementDroit) == LOW)                    // si detection de mouvement à droite
      {
        digitalWrite(MoteurRotationDroit, LOW);                         // rotation à droite
       do
        {
          digitalWrite(CommandeTir, HIGH);                              // déclenchement du tir
          delay(duree_tir);
         
          if(etat != 1)
          {
            digitalWrite(CommandeTir, LOW);                             // déclenchement du tir
            delay(duree_tir);
          }
         
        }while(etat != 1);

        delay(duree_chg_sens);                           // temps de freinage avant changement de sens de rotation
       
        // On fait revenir la tourelle a sa position centrale
        digitalWrite(MoteurRotationGauche, LOW);                        // retour au point milieu
        delay(duree_retour);                                            // durée rotation à gauche  
        digitalWrite(MoteurRotationGauche, HIGH);                       // arret rotation
      }
    }


    void fin_course_gauche()
    {
      digitalWrite(MoteurRotationGauche, HIGH);                         // arret rotation gauche
      digitalWrite(CommandeTir, LOW);                                   // arret tir
      etat = 1;
    }
     
    void fin_course_droit()
    {
      digitalWrite(MoteurRotationDroit, HIGH);                          // arret rotation droite
      digitalWrite(CommandeTir, LOW);                                   // arret tir
      etat = 1;
    }  
    avatar
    csbrico
    vis inox
    vis inox

    Messages : 231
    Date d'inscription : 12/12/2012
    Localisation : un morceau de caillou dans le canal du mozambique ( mayotte)

    Re: Tourelle automatique sur base Arduino

    Message par csbrico le Sam 8 Fév - 16:06

    super
    génial comme projet mais j’attends la suite  approuved approuved 
    PS:tu ne jouerais pas a COD MW3 ou un autre pour avoir cette idée?
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Sam 8 Fév - 16:12

    les consoles et moi ça fait 2, je suis bien trop nul.
    Je préfère l'airsoft qui me laisse une chance de jouer plus de 5mn et encore pas tout le temps  Laughing 
    avatar
    csbrico
    vis inox
    vis inox

    Messages : 231
    Date d'inscription : 12/12/2012
    Localisation : un morceau de caillou dans le canal du mozambique ( mayotte)

    Re: Tourelle automatique sur base Arduino

    Message par csbrico le Sam 8 Fév - 16:25

    moi non plus c'est mon fils qui joue un peu et il a tenté de m’initier mais bon dur dur et comment t'est venue cette idée?
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Sam 8 Fév - 16:32

    en regardant les projets qui fleurissent à droite et à gauche.
    J'ai senti que je pouvais me lancer dans celui la qui me semble de mon niveau.
    avatar
    freeman83
    boulon d'argent
    boulon d'argent

    Messages : 1228
    Date d'inscription : 23/06/2012
    Age : 38
    Localisation : Rougiers / Var

    Re: Tourelle automatique sur base Arduino

    Message par freeman83 le Sam 8 Fév - 16:59

    approuved 
    avatar
    csbrico
    vis inox
    vis inox

    Messages : 231
    Date d'inscription : 12/12/2012
    Localisation : un morceau de caillou dans le canal du mozambique ( mayotte)

    Re: Tourelle automatique sur base Arduino

    Message par csbrico le Sam 8 Fév - 17:33

    bein très bien et tu veut y mettre quelle réplique dessus?
    avatar
    Les Choux
    vis rouillée
    vis rouillée

    Messages : 135
    Date d'inscription : 13/07/2013
    Age : 21
    Localisation : Avenas 69

    Re: Tourelle automatique sur base Arduino

    Message par Les Choux le Sam 8 Fév - 17:36

    Super idée j'ai hate de voir la suite  Very Happy 
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Sam 8 Fév - 18:24

    je pensais à un AEP genre UZI avec un chargeur alimenté par une ammobox.
    avatar
    MISTER DEE
    boulon d'argent
    boulon d'argent

    Messages : 1148
    Date d'inscription : 04/01/2013
    Age : 46
    Localisation : Angers

    Re: Tourelle automatique sur base Arduino

    Message par MISTER DEE le Sam 8 Fév - 18:45

    approuved  SUPER PROJET..
    avatar
    csbrico
    vis inox
    vis inox

    Messages : 231
    Date d'inscription : 12/12/2012
    Localisation : un morceau de caillou dans le canal du mozambique ( mayotte)

    Re: Tourelle automatique sur base Arduino

    Message par csbrico le Dim 9 Fév - 8:14

    génial bonne continuation  approuved 
    avatar
    Yoyos
    vis rouillée
    vis rouillée

    Messages : 55
    Date d'inscription : 11/12/2013
    Age : 44
    Localisation : Toulon

    Re: Tourelle automatique sur base Arduino

    Message par Yoyos le Dim 9 Fév - 12:41

    continu à nous donner les détails!! je crois que je vais craquer!!!  bounce

     approuved 
    avatar
    pic-pac
    ecrou or
    ecrou or

    Messages : 663
    Date d'inscription : 20/06/2011
    Age : 36
    Localisation : Issoire (63)

    Re: Tourelle automatique sur base Arduino

    Message par pic-pac le Dim 9 Fév - 16:54

    pas mal ça avance et ton code est propre je pense que si tous les codeurs du forum se réunissent et que tous les manuels se réunissent ont te sort une usine a gaz un truc de fou.
    avatar
    TheDukeFr
    vis rouillée
    vis rouillée

    Messages : 34
    Date d'inscription : 22/09/2011
    Age : 29
    Localisation : 06

    Re: Tourelle automatique sur base Arduino

    Message par TheDukeFr le Jeu 13 Fév - 8:40

    Je voit que mon ancien projet a été repris  alien 
    Au niveau du positionnement de la réplique attention avec les delay(); car tout dépens du moteur utiliser selon le sens de rotation/charge de la batterie (et d autre facteurs divers) sa position peut légèrement changer au fil des déclenchements pour au final de retrouver a 15º du centre le plus sur c'est de passer par un servomoteur qui aura toujours la bonne position , ou ajouter un switch spécifiant la position centrale atteinte a l arduino.
    Bonne chance dans ton projet et fait nous partager les photos et video Smile
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Jeu 13 Fév - 8:57

    Avec ce programme la position est réajusté à chaque fin de course, seul la baisse du voltage pourrait faire qu'il n'y ai pas vraiment le point central,
    c'est pas à un poil de cul près, le but est de créer un obstacle mais pas qu'il soit infranchissable.

    On est sur la version beta test qui me permet de passer à la phase construction,
    la version finale aura:

    l’élévation de la réplique à la première détection,
    la mise hors circuit "momentané" par tir sur cible,
    le capteur central (si besoin après tests),
    la sirène de mise en activation du système,
    un bruitage lors du tir.
    avatar
    pic-pac
    ecrou or
    ecrou or

    Messages : 663
    Date d'inscription : 20/06/2011
    Age : 36
    Localisation : Issoire (63)

    Re: Tourelle automatique sur base Arduino

    Message par pic-pac le Jeu 13 Fév - 9:57

    approuved  j'ai hate de voir la suite une fois finie
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Jeu 13 Fév - 11:14

    Voilà une petite vidéo pour vous faire patienter, j'ai mis un buzzer pour simuler le tir et des Bouton Poussoir pour les capteurs de mouvement.



    bon c'est du beta-test, ça ressemble à rien en l'état.
    avatar
    gastonlagachette
    ecrou or
    ecrou or

    Messages : 814
    Date d'inscription : 24/06/2012
    Age : 26
    Localisation : rhone

    Re: Tourelle automatique sur base Arduino

    Message par gastonlagachette le Jeu 13 Fév - 12:58

    Ouai Ben du Bo boulot j'ai de voire le tout fonctionner et avec les bruitage en plus sa doit être  drunken 
    avatar
    pic-pac
    ecrou or
    ecrou or

    Messages : 663
    Date d'inscription : 20/06/2011
    Age : 36
    Localisation : Issoire (63)

    Re: Tourelle automatique sur base Arduino

    Message par pic-pac le Jeu 13 Fév - 13:05

    trop bon je kiff
    avatar
    MISTER DEE
    boulon d'argent
    boulon d'argent

    Messages : 1148
    Date d'inscription : 04/01/2013
    Age : 46
    Localisation : Angers

    Re: Tourelle automatique sur base Arduino

    Message par MISTER DEE le Jeu 13 Fév - 13:06

    DU BEAU BOULOT  .. affraid
    avatar
    csbrico
    vis inox
    vis inox

    Messages : 231
    Date d'inscription : 12/12/2012
    Localisation : un morceau de caillou dans le canal du mozambique ( mayotte)

    Re: Tourelle automatique sur base Arduino

    Message par csbrico le Jeu 13 Fév - 13:35

    super
    avatar
    Wood
    boulon d'argent
    boulon d'argent

    Messages : 1110
    Date d'inscription : 03/06/2011
    Age : 39
    Localisation : Liré

    Re: Tourelle automatique sur base Arduino

    Message par Wood le Jeu 13 Fév - 13:46

    Beau travail, par contre il est possible de faire varier la vitesse de rotation ?
    Car je la trouve un peu lente.
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Jeu 13 Fév - 13:50

    pour une fois que c'est pas moi qui bave devant les projets des autres  lol!

    Pour la vitesse de rotation,

    on peut toujours changer la démultiplication mais c'est une pièce assez onéreuse de l'ensemble.

    perso je trouve que cette vitesse de balayage en mode rafalage de billes plutot adaptée.
    avatar
    TheDukeFr
    vis rouillée
    vis rouillée

    Messages : 34
    Date d'inscription : 22/09/2011
    Age : 29
    Localisation : 06

    Re: Tourelle automatique sur base Arduino

    Message par TheDukeFr le Jeu 13 Fév - 14:10

    Sa commence bien Smile
    Tu utilise quoi comme moteurs?
    Pour la vitesse si trop rapide par la suite faudra juste que tu passe en pwm avec quelques MOSFET ( pas de souci d usure des relais)
    Niveau moteur avec couple et pas trop cher faut voir avec ceux d essuie glace de voiture avant.
    Niveau replique embarquée si tu met un aep c est le bon choix car si tire accidentel moins de dégâts (surtout si un joueur se jette dessus xd)
    Par contre fait attention a son usage sa peut faire râler certains joueurs encore plus ( le top c est de leur faire la surprise en la sortant pendant une partie le temps que sa pige que c est pas un joueur qui defend la position sa les aura bien bloqué :p)
    avatar
    obelix21
    ecrou argent
    ecrou argent

    Messages : 351
    Date d'inscription : 06/05/2013

    Re: Tourelle automatique sur base Arduino

    Message par obelix21 le Jeu 13 Fév - 14:18

    Vu le bruit de l'avertisseur sonore lors de l'elevation et du bruitage lors du tir, je pense que les joueurs comprendront que c'est pas un joueur en face,lol

    Pour les moteurs que j'utilise: https://www.distrelec.ch/moteur-dc-39-6-mm-avec-transmission-encodeur-200-1-12-vdc/micro-motors/rhe158-200-1-12v/378072/fr;jsessionid=34E39CCC87AE1D5911F9659BAFAAE006.daechj011u  130€ /piece

    le datasheet: https://www.distrelec.ch/ishop/Datasheets/05448303.pdf

    Pour l'instant je laisse de coté la roue codeuse effet Hall, je pourrait plus tard si besoin virer les delay et compter le nb de tours d'axe.

    Voilà le son de l'avertisseur de mise en marche de la tourelle: http://www.eclats-antivols.fr/kiosque/complement/S220.wav  115dB

    Test de l’élévation de la réplique à la première détection , c'est pas censé tirer mais quand je pose l'avertisseur sur le moteur ça lance un cycle de tir aléatoire, les joie du beta-test  lol! 





    ce que ça donne avec un PA


    Contenu sponsorisé

    Re: Tourelle automatique sur base Arduino

    Message par Contenu sponsorisé


      La date/heure actuelle est Ven 18 Aoû - 20:22