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

Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

3 participants

    Système de frappe airsoft

    avatar
    Corret
    vis rouillée
    vis rouillée


    Messages : 39
    Date d'inscription : 15/11/2014
    Age : 28
    Localisation : Arbonne la foret

    Système de frappe airsoft Empty Système de frappe airsoft

    Message par Corret Dim 19 Juin - 12:43

    Bonjour à tous,

    J'aimerais faire un système de frappe (artillerie, missile, aérienne...) pour l'airsoft.  L'arduino doit donner le nombre de morts et de blessés de façon aléatoire.

    Mon problème est que je n'arrive pas a faire s'afficher sur l'écran le résultat de la fonction random.

    Voila où j'en suis :

    Code:
    #include <LiquidCrystal.h>
    //int randBlesses;
    //long randMorts;
    int rs = 12;
    int en = 11;
    int d4 = 5;
    int d5 = 4;
    int d6 = 3;
    int d7 = 2;
    LiquidCrystal lcd(rs,en,d4,d5,d6,d7);


    void setup() {
      // put your setup code here, to run once:
    lcd.begin(16,2);
    lcd.print("Blesses :");
    http://lcd.print(randBlesses);
    Serial.println();
    http://lcd.print("Morts :");
    http://lcd.print(randMorts);
    Serial.begin(9600);
    randomSeed(analogRead(A1));
    }

    void loop() {

      // put your main code here, to run repeatedly:
     long randBlesses = random(1,11);
    Serial.println(randBlesses);
    // Serial.println();
    // randMorts = random(10);
    // Serial.println(randMorts);
    }

    Nono1989 aime ce message

    avatar
    Nono1989


    Messages : 3
    Date d'inscription : 13/06/2022

    Système de frappe airsoft Empty Re: Système de frappe airsoft

    Message par Nono1989 Dim 19 Juin - 20:47

    Hello,

    Je débute en arduino, mais pourquoi "http://lcd.print"

    avatar
    Corret
    vis rouillée
    vis rouillée


    Messages : 39
    Date d'inscription : 15/11/2014
    Age : 28
    Localisation : Arbonne la foret

    Système de frappe airsoft Empty Re: Système de frappe airsoft

    Message par Corret Lun 20 Juin - 6:08

    C'est leforum qui traduit mal, c'est écrit en réalité // lcd.print .
    J'ai mis en commentaire la fonction

    Nono1989 aime ce message

    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Système de frappe airsoft Empty Re: Système de frappe airsoft

    Message par droopaille Jeu 23 Juin - 13:11

    Corret a écrit:
    long randBlesses = random(1,11);
    randMorts = random(10);

    tu n'utilises pas la même syntaxe pour les deux variables. Essaie d'écrire les morts comme les blessés.


    _________________
    Toutes mes créations
    avatar
    Corret
    vis rouillée
    vis rouillée


    Messages : 39
    Date d'inscription : 15/11/2014
    Age : 28
    Localisation : Arbonne la foret

    Système de frappe airsoft Empty Re: Système de frappe airsoft

    Message par Corret Jeu 23 Juin - 18:41

    J'ai refait un essai avec ce code (il n'a pas beaucoup changé mais j'ai mis en commentaire les variables pour les morts) :

    Code:
    #include <LiquidCrystal.h>
    long randBlesses;
    //long randMorts;
    int rs = 12;
    int en = 11;
    int d4 = 5;
    int d5 = 4;
    int d6 = 3;
    int d7 = 2;
    LiquidCrystal lcd(rs,en,d4,d5,d6,d7);


    void setup() {
      // put your setup code here, to run once:
    lcd.begin(16,2);
    lcd.print("Blesses :");
    lcd.print(randBlesses);
    Serial.println();
    http://lcd.print("Morts :");
    http://lcd.print(randMorts);
    Serial.begin(9600);
    randomSeed(analogRead(A1));
    }

    void loop() {

      // put your main code here, to run repeatedly:
     long randBlesses = random(1,11);
    Serial.println(randBlesses);
    // Serial.println();
    // randMorts = random(10);
    // Serial.println(randMorts);
    }

    Du coup j'ai bien "Blesses :" qui s'affiche (logique vu que c'est pas une variable) mais par contre pour le chiffre j'ai toujours 0, alors que ça devrait être en 1 et 11. J'ai essayé plusieurs fois mais aucun changement
    droopaille
    droopaille
    boulon platine
    boulon platine


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

    Système de frappe airsoft Empty Re: Système de frappe airsoft

    Message par droopaille Jeu 23 Juin - 21:04

    j'avais écrit ce petit bout de programme pour voir la répartition du "hasard"

    Code:
    int R;
    int A=0; int B=0; int C=0; int D=0; int E=0;


    void setup() {
      
    pinMode(2, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(8, OUTPUT);
    pinMode(10, OUTPUT);
    Serial.begin(9600);
    randomSeed(analogRead(A1));

    }

    void loop() {

    for (int i=1 ; i<10000 ; i++) {
    R = random(1,6);
    if (R==1) A=A+1; if (R==2) B=B+1; if (R==3) C=C+1; if (R==4) D=D+1; if (R==5) E=E+1;
    }

    Serial.print("A"); Serial.println(A);
    Serial.print("B"); Serial.println(B);
    Serial.print("C"); Serial.println(C);
    Serial.print("D"); Serial.println(D);
    Serial.print("E"); Serial.println(E);
    while (1);

    digitalWrite (A,HIGH);
    delay (100);
    digitalWrite (A,LOW);
    digitalWrite (A,HIGH);
    delay (5000);
    }

    En gros, je lance des aléatoires entre 1 et 6 et j'incrémente des compteurs pour chaque valeur lorsqu'elle sort pour voir la répartition au bout de 10000 random
    Essai


    _________________
    Toutes mes créations

    Contenu sponsorisé


    Système de frappe airsoft Empty Re: Système de frappe airsoft

    Message par Contenu sponsorisé


      La date/heure actuelle est Dim 28 Avr - 8:49