Airsoft Krispies

Bonjour à tous et bienvenue


    [Droop] Respawn type Battlefield flag (arduino)

    Partagez
    avatar
    droopaille
    boulon platine
    boulon platine

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

    [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Dim 23 Mar - 20:29

    Hello,

    vala la première partie de mon projet de base Battlefield.

    C'est exactement comme dans le jeu :
    on appuie sur son bouton pendant un certain temps (ici 3sec) pour mettre le drapeau à sa couleur.
    Il faut réappuyer pendant 3sec sur l'autre bouton pour basculer le drapeau dans l'autre couleur.
    Si on lache trop tôt, la tempo se remet à zéro et il faut réappuyer pendant 3sec.

    Un bouton reset permet d'annuler les respawn.

    Et un dernier bouton surprise ...





    Vala la version finale






    EDIT : voici normalement tous les éléments pour créer votre propre base.

    Tout d'abord le code complet avec buzzer :
    http://droopaille.free.fr/Arduino/BattleFieldv1.zip

    Il faut copier le répertoire sur disque, l'ouvrir et double cliquer sur le fichier Battlefield.ino.
    Il faut évidemment le logiciel Arduino. Ça ouvre le programme avec plusieurs onglets.

    En partant d'une carte Arduino Uno, il faut brancher :
    - l'écran sur 7, 6, 4, 3, 2, 1
    - diode rouge sur 12
    - diode bleue sur 13
    - interrupteur rouge sur 10
    - interrupteur bleu sur 11
    - buzzer sur 0
    (attention, je crois qu'on ne peut pas téléverser le programme si le buzzer est brancher, pensez à l'enlever, télécharger et remettre le buzzer).

    Branchement des interrupteurs :
    une résistance de 10kohm reliée à la masse pour éviter les interférences, le fil vert est la sortie de pilotage de l'arduino

    Branchement des diodes via mosfet --> IRFZ44N
    (rappel, un mosfet est un transistor cad un interrupteur électronique)
    sortie de l'Arduino sur la patte de pilotage du MOSFET, la charge sur les autres pattes (attention aux polarités)

    Branchement de l'alim si vous passez par une batterie 12V (ou lipo 11.1V) --> LM7805 :
    2 condensateurs de même calibre en entrée et en sortie, 1 autre condo mille fois plus petit en sortie

    Branchement de l'écran :
    il s'agit des fils bleus sur l'écran de la gauche vers la droite.
    Attention il manque le cablage du rétroéclairage sur les bornes de 15 et 16 http://www.scriptol.fr/montages/images/LCD.jpg


    Attention : sur les schémas, les entrées/sorties ne sont pas les bonnes par rapport au programme, pensez à les mettre au bons endroits.



    Dernière édition par droopaille le Dim 18 Déc - 19:35, édité 5 fois


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Dim 23 Mar - 20:48

    j'adore ce respawn surtout la fin, j'en avais fait un tout simple, mais après réflexion je me suis dis que mettre un ATMEGA pour faire juste un spawn autant rajouter une fonction au checkpoint, en plus elle existe déjà il suffit de retirer le chronomètre de la partie compteur comme ça tu un un respawn qui peut servir de checkpoint.
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Dim 23 Mar - 21:06

    le chrono et la barre de chargement c'est la suite
    et l'après suite c'est la comm entre les bases

    je pense que je vais abandonner les menus pour le moment


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Dim 23 Mar - 21:09

    oki bon courage
    avatar
    obelix21
    ecrou argent
    ecrou argent

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par obelix21 le Dim 23 Mar - 21:19

    c'est très sympas, joli le clinc d'oeil
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Mar 25 Mar - 20:08

    Voilà la version avec barre de défilement.



    _________________
    Toutes mes créations
    avatar
    obelix21
    ecrou argent
    ecrou argent

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par obelix21 le Mar 25 Mar - 20:20

    très sympas la barre de progression
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mar 25 Mar - 20:54

    ça marche au poil bravo beau boulot!!!!!!
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Mar 25 Mar - 21:02

    bin en fait pas tant que ça
    car mes diodes ne s'allument presque pas

    sur la version que tu as modifiées, les diodes s'allument plein pot, j'ai pas pris le temps de comparer mais je trouve ça étrange comme mal
    je me demande si j'ai pas une oscillation entre allumé et éteint


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mar 25 Mar - 21:04

    peut être mets nous ton code on va regarder ça
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Mar 25 Mar - 22:36

    C'est bon c'est mon pavé de déclaration des E/S qui avait disparu. Ca fonctionne niquel et mon code est plus simple que le tien (je progresse, je progresse ...)

    Code:
    // Déclaration du métériel (écran)

            #include <LiquidCrystal.h>
            LiquidCrystal lcd(8, 9, 10, 11, 12, 13);   // set up the LCD's number of columns and rows:


      // Déclaration des variables

       int temps = 1000;   //définition du temps d'appui en ms
     int ledPin1 = 6;      
    int boutonPin1 = 3;
     int ledPin2 = 7;      
    int boutonPin2 = 4;
     int BP_reset = 2;

            float tempo = temps / 16;    //tempo pour la barre de progression

     long debut_appui1;
     long debut_appui2;
     int etat_bouton1;
     int etat_bouton2;
     int reset;
     int etat_led1 = LOW;
     int etat_led2 = LOW;

     
    void setup(){

    // Déclaration des E/S
      
    pinMode(ledPin1, OUTPUT);      
     pinMode(boutonPin1, INPUT);
     pinMode(ledPin2, OUTPUT);      
     pinMode(boutonPin2, INPUT);
                    pinMode(BP_reset, INPUT);

    // Intro écran

         lcd.begin(16, 2);
         lcd.clear();
         lcd.setCursor(3, 0 );
         lcd.print( "BATTLEFIELD" );
         delay(600);
         lcd.setCursor( 4, 1 );
         lcd.print( "By DROOP" );
         delay(2000);
         lcd.clear();
         lcd.setCursor(5, 0 );
         lcd.print( "Ready" );
         lcd.setCursor(0, 0 );
        
    }


    void loop(){

    //lecture de l'état des boutons

        etat_bouton1 = digitalRead(boutonPin1);
        etat_bouton2 = digitalRead(boutonPin2);
        reset = digitalRead(BP_reset);


    // Appui bouton ROUGE

        if (etat_bouton1 == HIGH) {
              debut_appui1 = millis();
              
              while(etat_bouton1 == HIGH ) {
                    delay (tempo);
                    lcd.print ((char)255);
                    
                    etat_bouton1 = digitalRead(boutonPin1);

                    if ((millis() - debut_appui1) >= temps){
                          etat_led1 = HIGH;
                          etat_led2 = LOW;
                          digitalWrite(ledPin1, etat_led1);
                          digitalWrite(ledPin2, etat_led2);                      
                          lcd.setCursor(2,0);
                          lcd.print("RESPAWN ROUGE");
                          lcd.setCursor(0,1);
                          lcd.print("                ");
                          lcd.setCursor( 0, 1 );
                    }
              }
        }

                          
    // Appui bouton BLEU


        if (etat_bouton2 == HIGH){
              debut_appui2 = millis();
              
              while(etat_bouton2 == HIGH ) {
                    delay (tempo);
                    lcd.print ((char)255);
                    
                    etat_bouton2 = digitalRead(boutonPin2);


                    if ((millis() - debut_appui2) >= temps){
                          etat_led1 = LOW;                      
                          etat_led2 = HIGH;
                          digitalWrite(ledPin1, etat_led1);
                          digitalWrite(ledPin2, etat_led2);
                          lcd.setCursor(2,0);
                          lcd.print("RESPAWN BLEU ");
                          lcd.setCursor(0,1);
                          lcd.print("                ");
                          lcd.setCursor( 0, 1 );
                    }
              }
        }


    // Appui bouton RESET

        if (reset == HIGH){
              etat_led1 = LOW;
              etat_led2 = LOW;
              lcd.clear();
              lcd.setCursor(5, 0 );
              lcd.print( "Ready" );                
              digitalWrite(ledPin1, etat_led1);
              digitalWrite(ledPin2, etat_led2);
        }

        
        lcd.setCursor (0,1);
        lcd.print ("                ");
        lcd.setCursor(0,1);

    }


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mar 25 Mar - 22:55

    nickel, ça marche impeccablement bien, je suis entrain de modifier celui pour mon checkpoint, il me manque juste a faire repartir le chrono si le bouton est relâché avant la fin de la barre de défilement, puis je vais le nettoyer un peu et le commenter correctement.

    en tout cas oui ton code est super propre il est vrai que moi je pars un peu plus sur un coup de tête et je ne cherche pas vraiment a faire un code nickel mais un fonctionnel après je change au fur et à mesure pour le rendre plus propre, la mon but était de trouver la solution pour cette barre de progression?
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Mar 25 Mar - 23:43

    Tient regarde celui là, ça déchire grave !!

    Code:

      // Déclaration du métériel (écran)

            #include <LiquidCrystal.h>
            LiquidCrystal lcd(8, 9, 10, 11, 12, 13);   // set up the LCD's number of columns and rows:


      // Déclaration des variables

        int temps = 3000;   //définition du temps d'appui en ms
        int ledPin1 = 6;      
       int boutonPin1 = 3;
        int ledPin2 = 7;      
       int boutonPin2 = 4;
        int BP_reset = 2;

        float tempo = temps / 16;    //tempo pour la barre de progression

        long debut_appui1;
        long debut_appui2;
        int etat_bouton1;
        int etat_bouton2;
        int reset;
        int etat_led1 = LOW;
        int etat_led2 = LOW;
        int rouge = 0;
        int bleu = 0;

     
    void setup(){

    // Déclaration des E/S
      
       pinMode(ledPin1, OUTPUT);      
        pinMode(boutonPin1, INPUT);
        pinMode(ledPin2, OUTPUT);      
        pinMode(boutonPin2, INPUT);
        pinMode(BP_reset, INPUT);

    // Intro écran

         lcd.begin(16, 2);
         lcd.clear();
         lcd.setCursor(3, 0 );
         lcd.print( "BATTLEFIELD" );
         delay(600);
         lcd.setCursor( 4, 1 );
         lcd.print( "By DROOP" );
         delay(2000);
         lcd.clear();
         lcd.setCursor(5, 0 );
         lcd.print( "Ready" );
         lcd.setCursor(0, 0 );
        
    } //fin SETUP


    void loop(){

    //lecture de l'état des boutons

        etat_bouton1 = digitalRead(boutonPin1);
        etat_bouton2 = digitalRead(boutonPin2);
        reset = digitalRead(BP_reset);


    // Appui bouton ROUGE

        if (etat_bouton1 == HIGH) {
              debut_appui1 = millis();
              
              while(etat_bouton1 == HIGH ) {
                    delay (tempo);
                    if (bleu == 0){lcd.print ((char)255);}
                    if (bleu == 1){lcd.print (" ");}
                  
                   etat_bouton1 = digitalRead(boutonPin1);

                    if ((millis() - debut_appui1) >= temps && bleu == 0 ){
                          rouge = 1;
                          etat_led1 = HIGH;
                          etat_led2 = LOW;
                          digitalWrite(ledPin1, etat_led1);
                          digitalWrite(ledPin2, etat_led2);                      
                          lcd.setCursor(2,0);
                          lcd.print("RESPAWN ROUGE");
                          lcd.setCursor(0,1);
                    }  //end if
                    

                    if ((millis() - debut_appui1) >= temps && bleu == 1 ){
                          bleu = 0;
                          etat_led1 = LOW;                      
                          etat_led2 = LOW;
                          digitalWrite(ledPin1, etat_led1);
                          digitalWrite(ledPin2, etat_led2);
                          lcd.setCursor(0, 0 );
                          lcd.print( "                " );  
                         lcd.setCursor(5, 0 );
                          lcd.print( "Ready" );      
                          lcd.setCursor(0,1);
                          debut_appui1 = millis();
                    }  //end if


                      
              }  //end while
              
        }  //end if

                          
    // Appui bouton BLEU


        if (etat_bouton2 == HIGH ){
              debut_appui2 = millis();
              
              while(etat_bouton2 == HIGH ) {
                    delay (tempo);
                    if (rouge == 0){lcd.print ((char)255);}
                    if (rouge == 1){lcd.print (" ");}
                    
                    etat_bouton2 = digitalRead(boutonPin2);

                    if ((millis() - debut_appui2) >= temps && rouge == 0 ){
                          bleu = 1;
                          etat_led1 = LOW;                      
                          etat_led2 = HIGH;
                          digitalWrite(ledPin1, etat_led1);
                          digitalWrite(ledPin2, etat_led2);
                          lcd.setCursor(2,0);
                          lcd.print("RESPAWN BLEU ");
                          lcd.setCursor(0,1);
                    }  //end if
                    
                    
                    if ((millis() - debut_appui2) >= temps && rouge == 1 ){
                          rouge = 0;
                          etat_led1 = LOW;                      
                          etat_led2 = LOW;
                          digitalWrite(ledPin1, etat_led1);
                          digitalWrite(ledPin2, etat_led2);
                          lcd.setCursor(0, 0 );
                          lcd.print( "                " );  
                         lcd.setCursor(5, 0 );
                          lcd.print( "Ready" );      
                          lcd.setCursor(0,1);
                          debut_appui2 = millis();
                    }  //end if

              }  //end while
              
        }  //end if


    // Appui bouton RESET

        if (reset == HIGH){
              rouge =0;
              bleu =0;
              etat_led1 = LOW;
              etat_led2 = LOW;
              lcd.clear();
              lcd.setCursor(5, 0 );
              lcd.print( "Ready" );                
              digitalWrite(ledPin1, etat_led1);
              digitalWrite(ledPin2, etat_led2);
        }  //end if

        
        lcd.setCursor (0,1);
        if (bleu == 0 && rouge == 0) {lcd.print ("                ");}
        else {
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
            lcd.print ((char)255);
        } //  end else
        lcd.setCursor(0,1);

    }  //fin LOOP


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mar 25 Mar - 23:59

    c'est clair mais j'ai un petit truc qui me chiffonne, je ne mettrais pas "ready" quand il n'appartient plus a une équipe mais "neutre", et quand tu neutralise le drapeau il faudrait que la barre de progression aille dans l'autre sens mais c'est déjà un super truc que tu nous as pondu.
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Mer 26 Mar - 6:20

    pour le ready, je savais pas quoi mettre, je pensais "aucun respawn" mais bof, pareil bof pour neutre
    là ché po

    et pour la dégression de la barre, ça serait top mais j'utilise une fonction naturelle de l'écran qui écrit les caractères l'un derrière l'autre, il faudrait que je réadresse l'écriture de chaque caractère pour partir dans l'autre sens ... peut être avec une boucle for mais je sais déjà pas comment écrire une ligne complète de caractère 255 sans écrire 16 fois l'instruction


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mer 26 Mar - 8:44

    j'ai cherché un peu cette nuit, j'ai pas encore trouvé, mais j'ai bon espoir qu'on trouver une solution

    après pour le ready c'est un detail
    avatar
    ju de tomate
    vis rouillée
    vis rouillée

    Messages : 37
    Date d'inscription : 24/03/2014
    Age : 33
    Localisation : Besancon

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par ju de tomate le Mer 26 Mar - 9:48

    Comme dit par MP à Droopaille je suis en train de faire le même type de bricolage :

    J'ai fait un typon pour ce bidule avec comme caractéristiques :
    - pas de carte arduino, j'ai ré intégré directement un atmega c'est beaucoup plus économique et compact que de prendre une carte arduino et de fair eun shield.
    - j'ai mis une entré tx/rx comme sur les arduino mini donc ca se programme exactement comme une carte arduino sauf qu'il faut un module comme ca pour le brancher :
    http://www.ebay.com/itm/3-3V-5-5V-FT232RL-...=item58a481198e
    - j'ai mis tous ce qui est nécessaire sur une carte arduino : bouton reset, led on, quartz.
    - sortie i2c. J'ai mis ca surtout pour brancher un écran lcd
    - sortie pr 3 boutons (haut/bas/ok)
    - sortie pour faux pain de c4 pour les scénarios bombes
    - sortie avec filtre audio pour jouer des son en wave à la counter strike
    - lecteur sd pour stocker les fichier wave
    - me reste 1 ou 2 sortie de libre.

    Le typon fait 5x10cm soit 2$ pièce sur http://smart-prototyping.com/Prototyping-S...rototyping.html
    Je vais surement en lancer 10, si tu veux je peux t'en revendre.

    Le dernier truc qui me bloquait c'est que je voulais intégrer un ampli audio mais j'ai pas trouvé de schéma d'ampli 12v basic.

    Ca donne ca comme proto :

    [url="https://www.youtube.com/watch?v=B-z40AMdjqU"]https://www.youtube.com/watch?v=B-z40AMdjqU[/url]



    Le dernier truc c'est que j'ai ajouté un connecteur SPI pour brancher un émeteur/récepteur 2.4ghz.
    http://www.ebay.com/itm/2pcs-2-4GHz-NRF24L01-Antenna-Wireless-Transceiver-Module-For-Microcontrol-/131150340684

    J'avais besoin de place du coup le SD sera un module à part :
    http://www.ebay.com/itm/Slot-Socket-Reader-SD-Card-Module-For-Arduino-ARM-MCU-Read-And-Write-SPI-Port-/171129580465
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mer 26 Mar - 11:25

    ju de tomate a écrit:Comme dit par MP à Droopaille je suis en train de faire le même type de bricolage :

    J'ai fait un typon pour ce bidule avec comme caractéristiques :
    - pas de carte arduino, j'ai ré intégré directement un atmega c'est beaucoup plus économique et compact que de prendre une carte arduino et de fair eun shield.
    - j'ai mis une entré tx/rx comme sur les arduino mini donc ca se programme exactement comme une carte arduino sauf qu'il faut un module comme ca pour le brancher :
    http://www.ebay.com/itm/3-3V-5-5V-FT232RL-...=item58a481198e
    - j'ai mis tous ce qui est nécessaire sur une carte arduino : bouton reset, led on, quartz.
    - sortie i2c. J'ai mis ca surtout pour brancher un écran lcd
    - sortie pr 3 boutons (haut/bas/ok)
    - sortie pour faux pain de c4 pour les scénarios bombes
    - sortie avec filtre audio pour jouer des son en wave à la counter strike
    - lecteur sd pour stocker les fichier wave
    - me reste 1 ou 2 sortie de libre.

    Le typon fait 5x10cm soit 2$ pièce sur http://smart-prototyping.com/Prototyping-S...rototyping.html
    Je vais surement en lancer 10, si tu veux je peux t'en revendre.

    Le dernier truc qui me bloquait c'est que je voulais intégrer un ampli audio mais j'ai pas trouvé de schéma d'ampli 12v basic.

    Ca donne ca comme proto :

    https://www.youtube.com/watch?v=B-z40AMdjqU



    Le dernier truc c'est que j'ai ajouté un connecteur SPI pour brancher un émeteur/récepteur 2.4ghz.
    http://www.ebay.com/itm/2pcs-2-4GHz-NRF24L01-Antenna-Wireless-Transceiver-Module-For-Microcontrol-/131150340684

    J'avais besoin de place du coup le SD sera un module à part :
    http://www.ebay.com/itm/Slot-Socket-Reader-SD-Card-Module-For-Arduino-ARM-MCU-Read-And-Write-SPI-Port-/171129580465

    pas mal, mais tu peux nous mettre un peu plus de détails sur le fonctionnement de ta création, notamment l’émetteur récepteur 2,4Ghz.
    Il va falloir que je me penche sur les circuits, ce sera plus simple que de les créer avec des plaquettes à pastilles, d’ailleurs il vaut mieux en prendre 30 que 25 c'est moins cher lol.
    tu utilises quoi comme ATMEGA?? et comment le charges tu sans Arduino?? car moi je me crée une plaquette ou je mets mon ATMEGA précédemment chargé avec mon arduino et j'ai une plaquette pour un peu moins cher qu'un arduino.
    avatar
    ju de tomate
    vis rouillée
    vis rouillée

    Messages : 37
    Date d'inscription : 24/03/2014
    Age : 33
    Localisation : Besancon

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par ju de tomate le Mer 26 Mar - 12:41

    J'ai pas encore programmé le recepteur, je verai après. Mais je prévois la possibilité de le brancher.

    Les typon par 10 reviennent à 3$ l'unité. Ca vaut pas le cout de se priver !

    Je prend des Atmega 328. Je les programmes de la même manière que sur un arduino mini.
    avec un FTDI USB to TTL Serial Adapter
    avatar
    droopaille
    boulon platine
    boulon platine

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par droopaille le Mer 26 Mar - 13:12

    ça sert à quoi le lecteur SD ?

    et va falloir que tu tutorises pour la comm 2.4GHz, parce que le peu que j'ai lu, j'ai rien compris


    _________________
    Toutes mes créations
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mer 26 Mar - 13:20

    sur la carte SD tu peux mettre des sons wav ou des MP3 pour lancer des sons depuis ton arduino, afin d’émettre un bruit d'explosion ou un pouet pouet, à la fin du compte à rebours
    avatar
    ju de tomate
    vis rouillée
    vis rouillée

    Messages : 37
    Date d'inscription : 24/03/2014
    Age : 33
    Localisation : Besancon

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par ju de tomate le Mer 26 Mar - 14:03

    pic-pac a écrit:sur la carte SD tu peux mettre des sons wav ou des MP3 pour lancer des sons depuis ton arduino, afin d’émettre un bruit d'explosion ou un pouet pouet, à la fin du compte à rebours
    Tout a fait. Le but est de faire "parler" le machin.
    J'évoquais même à Droupaille de brancher le machin à un talkie pour que le machin puisse annoncer par radio des choses : exemple : Red team take point B...etc

    La com 2.4Ghz arrivera par la suite.
    Si je pouvais déja faire fonctionner le truc ce serait top.

    L'autre utilisation de la carte SD serait de mettre dessus les scénarios.
    J'entends par un scénario une liste d'instruction permettant de définir le scénario et les phases de jeu. Un espèce de language à inventer et qui permettrait à n'importe qui de créer des scénarios.
    En gros dans l'arduino il y aurait les instructions pour traiter et lire le scénario présent dans la carte SD.
    Comme ca n'importe qui pourrait créer des programmes (sous forme d'un txt par exemple).
    Au démarage du machin, ca lirait les scénarios présents dans la carte SD et un menu permettrait de choisir le scénario. Puis après sélection du scénario ca vérifierait s'il y a pas d'erreur de syntaxe puis ca le lancerait.
    Ca rendrait le truc vraiment sympa mais ca dépasse de loin mes compétences de programmation.
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mer 26 Mar - 15:12

    ju de tomate a écrit:L'autre utilisation de la carte SD serait de mettre dessus les scénarios.
    J'entends par un scénario une liste d'instruction permettant de définir le scénario et les phases de jeu. Un espèce de language à inventer et qui permettrait à n'importe qui de créer des scénarios.
    En gros dans l'arduino il y aurait les instructions pour traiter et lire le scénario présent dans la carte SD.
    Comme ca n'importe qui pourrait créer des programmes (sous forme d'un txt par exemple).
    Au démarage du machin, ca lirait les scénarios présents dans la carte SD et un menu permettrait de choisir le scénario. Puis après sélection du scénario ca vérifierait s'il y a pas d'erreur de syntaxe puis ca le lancerait.
    Ca rendrait le truc vraiment sympa mais ca dépasse de loin mes compétences de programmation.


    pour ça tu peux aussi tout charger sur l'ATMEGA et a l'aide d'un "Menu" tu choisis le type de jeu que tu veux, c'est ce que j'ai fais pour mon checkpoint.
    avatar
    ju de tomate
    vis rouillée
    vis rouillée

    Messages : 37
    Date d'inscription : 24/03/2014
    Age : 33
    Localisation : Besancon

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par ju de tomate le Mer 26 Mar - 15:18

    Oui oui bien sur mais ca verrouille le système car seul quelqu'un capable de programmer un arduino peut faire de nouveau scénario.
    En plus on est limité au niveau place par la capacité de la mémoire de l'Arduino alors que si c'est sur une carte SD on a quasiment pas de limite !
    avatar
    pic-pac
    ecrou or
    ecrou or

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

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par pic-pac le Mer 26 Mar - 17:39

    oui c'est vrai mais bon la personnellement le checkpoint il y a déjà 3 modes de jeu, je vais surement rajouter celui de droop en plus, avec 4 modes de jeu je pense que tu as déjà de quoi faire.

    après le problème sera surement d'aller lire sur la carte SD pour charger le code car pour charger l'ATMEGA il te faut un compilateur en C et est ce que c'est possible de récupérer pour le charger j'en sais rien

    Contenu sponsorisé

    Re: [Droop] Respawn type Battlefield flag (arduino)

    Message par Contenu sponsorisé


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