codage arduino

Portrait de jujuwarriors

bonjour ;

il y a quelque temps j'ai commencé a construire un petit robot a deux roues 

MAIS j'ai plusieurs problèmes (3)

1)

j'ai acheter il n'y a pas longtemps un module l298N de chez ​Velleman :

https://www.velleman.eu/products/view/?country=be&lang=fr&id=435576

je suis des tuto sur youtube (anglais et francais );

mais tout le monde utilise des module différent alors du coup mon L298N ne marche pas bien :

cela peut t'il venir de mon moteur ou d'un mauvais branchement .

2)

je suis en train de construire le code du robot mais comment faire pour effectuer des action si avant j'utilise un "IF".

exemple :

String data;

void setup()

{

}

void loop()

{

if (data = 1) ;

{

Serial.print("bonjour");

}

Serial.print("alors");

}

alors du coup puis je afficher "alors" dans le moniteur 

ou suis je obliger que ma valeur "data" soit a 1 pour pouvoir lire "bonjour puis "alors".

y'a t'il une façon de lire "alors sans devoir lire d'abord "bonjour ".

3)

j'ai acheter il n'y a pas longtemps un suiveur de ligne chez Velleman (encore)

https://www.velleman.eu/products/view/?id=439188&country=us&lang=fr

je n'ai pas trouver de code pour pouvoir faire:

si le capteur sort de la ligne noire 

alors tu écrit "sorti " 

merci pour votre aide et bonne chance 

Portrait de Walter

Difficile de te répondre.
Il faut que tu sois plus précis dans tes questions.
Car oui ca peut venir de tes moteurs, d'un mauvais branchement, d'un problème sur tes L298, ou encore que tu ne les utilises pas correctements.

qu'entends tu pars marche pas bien?

Concernant ton code, comme il est faux et ne représente pas ce que tu veux faire de même difficile de te répondre.
tu ne peux pas comparer un entier et une chaîne de caractères.
De plus data n'est pas initialisé, donc que veux tu réellement comparer?

un code plus probable affichant au premier tour "Bonjour", puis "Bye" les autres tour de loop serait.
Je n'ai pas testé le code, il peut être quelques erreurs qui traînent

int data = 1;

void setup()

{

}

void loop()

{

    if (data == 0) {
        Serial.print("bonjour");
    } else {
        Serial.print("bye");
        data = 1;
   }

 

}

Portrait de jujuwarriors

merci pour ta réponse  

par rapport au l298N mon problème est que le régulateur convertissant l' alimentation moteur en 5V

surchauffe sinon le code marche mais je vois bien qu'il y a un probléme.

par rapport au code le "else "

fait donc office de :

si rien ne se passe dans le " if " alors tu peut lire a suite du code

 

Portrait de Walter

 Du coup, je ne crois pas que tu as précisé ton montage et le régulateur que tu utilise, les moteurs branchés dessus.
es-tu sûre que ce régulateur est capable de fournir la puissance nécessaire au moteurs?

si rien ne se passe dans le " if " alors tu peut lire a suite du code

Pour ça, je le traduirais de cette façons, si data vaut 1 faire uniquement les actions contenues dans le "if"
sinon faire le reste du code, le "return" provoquera la fin d'exécution de la fonction loop, pour cet itération.

if (data == 1) {
    Serial.print("bonjour");
    // ou ton code

    return;
}

Serial.print("bye");
data = 1;
// la suite du code
 

Par contre si tu veux que le code contenue en dehors du "if" soit exécuté uniquement si il s'est passé quelque chose de spécial dans le if, c'est pas du tout ça qu'il faut faire.
Dans ce cas là, il faut que tu définisse plus clairement ce que tu veux faire.

Portrait de jujuwarriors

d'accord je pense comprendre pour le if 

si je d'écrit le if alors il ne faut pas que je mette de ";"

" if (data = 1) // sans " ;"

bon merci encore pour cette première réponse 

par rapport au L298N si  je sais que le module peut suporter le moteur d'aileur il le fait tourner 

mais des que je mes mon moteur en pause (delay) j'ai des probleme de redemarage de moteur et la petite pièce régulatrice surchauffe prête a fondre de chaleurs .

par rapport a mes branchements 

entrée : IN 1 ; IN2 ; ENB ; 

j'ai ensuite 3 domino ; 2 pour les moteur et un pour brancher la batterie 

https://www.google.com/search?q=module+L298N&rlz=1C5CHFA_enFR829FR829&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjy4ObLjobgAhWwzYUKHemVCGUQ_AUIDigB&biw=1280&bih=666#imgrc=EfHIg427WR0M1M:

donc mon moteur tourne ( en 7,4 VOLT);

voila 

dernier probleme que je ne vous est pas trop aborder est le troisième point 

le suiveur de ligne (relire mon premier post );

encore un grand merci 

jujuwarriors​

Portrait de Walter

regarde la dessus pour avoir des exemples en langage C adapté à l'arduino.

https://www.locoduino.org/spip.php?id_mot=28&page=theme

C'est quoi ton moteur?

Portrait de jujuwarriors

c'est un moteur d'hélicoptère récupéré 

Portrait de jujuwarriors

non c'est bien un moteur DC cela fait longtemps que j'ai regarder sa .

Portrait de jujuwarriors

j'ai fait comme sur ce tuto (mon moteur tourne ) mais quelque second après le controleur 5 V surchauffe 

comment faire ?????????

Portrait de jujuwarriors

ok merci par rapport 

au suiveur de ligne a tu un code a me conseiller = )