Airsoft Krispies

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Airsoft Krispies

Bonjour à tous et bienvenue


4 participants

    Valise INMARSAT

    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Valise INMARSAT

    Message par pic-pac Jeu 13 Mar - 16:14

    Salut à tous,

    Mon projet de Checkpoint étant terminé, je veux me fabriquer une Valise INMARSAT.

    voici le petit code que je vient d’écrire.

    1 bouton poussoir, avec un appuie de 3 secondes sur le bouton pour lancer la valise qui va recevoir un message (ce message est modifiable à la fin du script) la pour l'exemple j'ai mis des coordonnées de quadrillage de notre terrain (D4).

    Code:

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


    int boutonPin1 = 4;    
    int temps_defini = 3000;
    boolean variable1 = false;
    int etat_bouton1;
    int dernier_etat_bouton1 = LOW;
    unsigned long debut_appui1;

    void setup() {

    pinMode(boutonPin1, INPUT);
                    
                    lcd.begin(16, 2);
     lcd.clear();
                    lcd.setCursor(1, 0 );
                    lcd.print("Valise INMARSAT");
                    lcd.setCursor( 5, 1 );
                    lcd.print("Airsoft");
                    delay(2000);
                    lcd.setCursor(1, 0 );
                    lcd.print("Valise INMARSAT");
                    lcd.setCursor( 3, 1 );
                    lcd.print("BY PIC-PAC");
                    delay(2000);
                    lcd.clear();
                    lcd.setCursor( 0, 0 );
                    lcd.print("Pour initialiser");
                    lcd.setCursor(1, 1);
                    lcd.print("Appuyez bouton");
          
       }
      void loop() {
     
          etat_bouton1 = digitalRead(boutonPin1);

     if (etat_bouton1 == HIGH && dernier_etat_bouton1 == LOW){      
     debut_appui1 = millis();                                      
     variable1 = true;
      
    }
        
    if ( variable1 == true && etat_bouton1 == HIGH && dernier_etat_bouton1 == HIGH){    
                                                                                      
     if ((millis() - debut_appui1) >= temps_defini){
                            lcd.clear();
                            lcd.setCursor(1, 0);
                            lcd.print("Initialisation");
                            lcd.setCursor(4, 1);
     lcd.print("en cours");
                            delay(5000);
                            lcd.clear();
                                for (int i = 0 ; i < 16 ; i++){
                                    delay(1000);        
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(0, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(1, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(2, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(3, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(4, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(5, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(6, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(7, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(8, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(9, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(10, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(11, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(12, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(13, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(14, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(15, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);      
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);        
                                    lcd.setCursor(16, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(0, 0);
                                }
                            lcd.clear();
                            lcd.setCursor(2, 0);
                            lcd.print("Rendez Vous");
                            lcd.setCursor(5, 1);
     lcd.print("en D4");
                            }
    }
                            
     dernier_etat_bouton1 = etat_bouton1;
    }

    les photos de ce qu'avait fait un pote, je veux partir sur la même base mais avec un Arduino (oui je sais ENCOREEEEE!!!!)

    Valise INMARSAT 610

    Valise INMARSAT 710
    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par droopaille Jeu 13 Mar - 20:38

    t'as pas une vidéo, je comprends pas toute la boucle 1 à 16
    (c'est pour faire clignoter le texte et afficher une barre de progression ?)


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


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Jeu 13 Mar - 20:47

    oui tout à fait, sinon je ne pouvais pas faire clignoter et avancer la barre en même temps.

    pour la vidéo en fait ce que je veux, c'est juste que l'antenne tourne à un moment donné (pas encore intégré dans le code), je pourrais en faire en faire une demain si tu veux, mais il y aura juste ce qui est écrit dans le code.
    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Jeu 13 Mar - 23:26

    et voila une petite vidéo toute simple, ce n'est pas fini je vais modifier le texte et d'autres petits détails

    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par droopaille Ven 14 Mar - 7:02



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


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Ven 14 Mar - 11:23

    je vais regarder ça, car les fonctions:

    noDisplay() : fait disparaître le texte

    display() : fait apparaître le texte (s'il y en a évidemment)

    il faut que je regarde si je peux l’intégrer à ma boucle "for", sinon il faut que je trouve comment déplacer le curseur automatiquement sur la deuxième ligne, mais bon le code est un premier jet ce n'est pas le définitif, c'est plus pour présenter un peu le projet que je voudrait faire, sachant que celui m'obligerait à laisser l'arduino dedans (pour ça j'en veux un à pas cher) pour pouvoir changer le code pour donner les nouvelles indications.
    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par droopaille Ven 14 Mar - 13:02

    vi c'est bien ces fonctions là
    sinon, je crois que quand tu demande à écrire un truc sans préciser l'endroit, il le place directement après le dernier, du coup, ta boucle se simplifie vraiment, elle devrait tenir en 4-5 lignes


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


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Ven 14 Mar - 13:49

    le problème, le "for" étant une boucle comme j’écris la ligne "lcd.setCursor(0, 1);" la boucle reprend à écrire sur le premier caractère de la deuxième ligne, donc il remplace à chaque fois le premier caractère, mais il doit y avoir des solutions à trouver sur Google.

    il me semble avoir lu un truc mais pas eu le temps de tester, mais bon je vais me pencher dessus.

    alors que ce code dit au curseur ou se replacer.
    Code:
    delay(1000);       
                                    lcd.setCursor(3, 0);     
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);       
                                    lcd.setCursor(0, 1);
                                    lcd.print((char)255);
                                    i=i+1;
                                    lcd.setCursor(3, 0);     
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);       
                                    lcd.setCursor(1, 1);
                                    lcd.print((char)255);
                                    i=i+1;

    La le problème c'est plus le moteur à faire tourner car la sortie manque d'Ampérage.
    Krispies
    Krispies
    Admin


    Messages : 3938
    Date d'inscription : 16/08/2009
    Age : 57
    Localisation : VERS-Pont du gard

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par Krispies Ven 14 Mar - 16:59

    Tu vas devoir passer par du relayage..

    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Ven 14 Mar - 17:56

    je pense mais je n'y connais pas grand chose en relai, mais je pense qu'a force de chercher je vais bien me trouver ma solution!!!
    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Ven 14 Mar - 19:12

    et voila pour diminuer le code

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

    int boutonPin1 = 4;   
    int temps_defini = 3000;
    boolean variable1 = false;
    int etat_bouton1;
    int dernier_etat_bouton1 = LOW;
    unsigned long debut_appui1;
    int moteur = 5;
    int etat_moteur = LOW;


    void setup() {

    pinMode(boutonPin1, INPUT);
    pinMode(moteur, OUTPUT);
    digitalWrite(moteur, etat_moteur);               
                    lcd.begin(16, 2);
          lcd.clear();
                    lcd.setCursor(1, 0 );
                    lcd.print("Valise INMARSAT");
                    lcd.setCursor( 5, 1 );
                    lcd.print("Airsoft");
                    delay(2000);
                    lcd.setCursor(1, 0 );
                    lcd.print("Valise INMARSAT");
                    lcd.setCursor( 3, 1 );
                    lcd.print("BY PIC-PAC");
                    delay(2000);
                    lcd.clear();
                    lcd.setCursor( 0, 0 );
                    lcd.print("Pour initialiser");
                    lcd.setCursor(1, 1);
                    lcd.print("Appuyez bouton");
         
      }
      void loop() {
     
          etat_bouton1 = digitalRead(boutonPin1);

          if (etat_bouton1 == HIGH && dernier_etat_bouton1 == LOW){     
             debut_appui1 = millis();                                     
             variable1 = true;
              
    }
       
    if ( variable1 == true && etat_bouton1 == HIGH && dernier_etat_bouton1 == HIGH){   
                                                                                     
             if ((millis() - debut_appui1) >= temps_defini){
                            lcd.clear();
                            lcd.setCursor(1, 0);
                            lcd.print("Initialisation");
                            lcd.setCursor(4, 1);
             lcd.print("en cours");
                            etat_moteur = HIGH;
                            delay(5000);
                            lcd.clear();
                                for (int i = 0 ; i < 16 ; i++){
                                    lcd.setCursor(3, 0);     
                                    lcd.print("Reception");
                                    delay(1000);
                                    lcd.setCursor(0, 0);
                                    lcd.print("                ");
                                    delay(1000);       
                                    lcd.setCursor(i, 1);
                                    lcd.print((char)255);
                                }
                            lcd.clear();
                            lcd.setCursor(2, 0);
                            lcd.print("Rendez Vous");
                            lcd.setCursor(5, 1);
             lcd.print("en D4");
                            etat_moteur = LOW;
                            }
    }
                           
       dernier_etat_bouton1 = etat_bouton1;
    }

    il ne me reste plus qu'à me pencher sur les relais, mais je vais demander à "Obelix21" 2 ou 3 conseils vu qu'il en à utilisé sur sa tourelle
    obelix21
    obelix21
    ecrou argent
    ecrou argent


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par obelix21 Ven 14 Mar - 22:42

    Voilà un petit schéma de cablage qui utilise 2 sorties de l'arduino

    Valise INMARSAT Cablag10

    Comme PCB relais j'utilise ça:

    Valise INMARSAT $_57

    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Ven 14 Mar - 23:24

    Cool je vais regarder ça d'un peu plus prêt et a ma payes a nous deux eBay je vais commander
    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Ven 14 Mar - 23:37

    Ça irait Ceci
    Sachant que je vais l'alimenter avec je pense soit une pile 4,5V soit une 9V suivant la vitesse de rotation
    obelix21
    obelix21
    ecrou argent
    ecrou argent


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par obelix21 Ven 14 Mar - 23:41

    oui, ça ira très bien
    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Sam 15 Mar - 11:24

    cool car le prix me convient parfaitement
    pic-pac
    pic-pac
    ecrou or
    ecrou or


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Dim 16 Mar - 2:01

    quelle est la différence entre les 5V et les 12V
    5V
    12V
    étant donné qu'il peuvent avoir les mêmes alimentations??
    je pense que je peux en prendre un avec une seule voix étant donné que je n'ai besoin que de faire tourner mon moteur que dans un seul sens.
    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par droopaille Dim 16 Mar - 10:19

    pas de différence (sur la photo en tout cas) ce sont les mêmes relais.
    5 ou 12V normalement c'est la tension d'alim de la bobine, après tu peux passer en 230V 10A sur la puissance


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


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Dim 16 Mar - 18:07

    donc il vaut mieux que je prenne des 5V vu que je les mets au cul d'un arduino qui sortira du 5V max
    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par droopaille Dim 16 Mar - 18:52

    d'après les photos, les deux sont en 5V


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


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

    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par pic-pac Dim 16 Mar - 19:13

    oui autant pour moi j'ai copié 2 en 5V, mais bon je vais prendre un simple et un double, vu que j'ai besoin de faire tourner le moteur que dans un sens, je mettrais le simple et je me garderais le double pour si un jour une autre idée me trotte dans la tête!!!!

    Contenu sponsorisé


    Valise INMARSAT Empty Re: Valise INMARSAT

    Message par Contenu sponsorisé


      La date/heure actuelle est Dim 24 Nov - 17:26