Go Down

Topic: Bac-Ka-Poux-Bêle 2019-2020 (Read 31165 times) previous topic - next topic

Kumkwat

Ok je relirai bien les règles et je le reposterai au bon endroit, merci!

Bricotibo


hbachetti

En général quand on pose deux questions on attend deux réponses  :smiley-confuse:
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

al1fch

#453
Feb 20, 2020, 12:25 pm Last Edit: Feb 20, 2020, 12:26 pm by al1fch
Ou alors c'est 'oui' aux deux questions et la carte recherchée doit  faire 2G, 3G et 4G ......

hbachetti

Je n'y avais pas pensé ...  :smiley-confuse:

2G, 3G et 4G et pas cher ...
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

J4l13n

#455
Feb 20, 2020, 01:40 pm Last Edit: Feb 20, 2020, 01:46 pm by J4l13n
http://forum.arduino.cc/index.php?topic=665725.0

Quote
Avant  j'étais bipolaire mais maintenant nous nous soignons
@+
while(success!=found){
   try++;
   if(fail){
        tryAgain();
}}

Runshall1

Bonjour, je voudrais simplifier un programme que j'ai effectuer qui est beaucoup trop long.

int T = 1000;
int TimeA = (100 * T) / 2700;
int TimeB = (250 * T) / 2700;



void setup() {

  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);

}


void loop(){
    digitalWrite(0, HIGH);
    delay(TimeA);
    digitalWrite(0, LOW);
    digitalWrite(1, HIGH);
    delay(TimeA);
    digitalWrite(1, LOW);
    digitalWrite(2, HIGH);
    delay(TimeA);
    digitalWrite(2, LOW);
    digitalWrite(3, HIGH);
    delay(TimeA);
    digitalWrite(3, LOW);
    digitalWrite(4, HIGH);
    delay(TimeA);
    digitalWrite(4, LOW);
    digitalWrite(5, HIGH);
    delay(TimeA);
    digitalWrite(5, LOW);
    digitalWrite(4, HIGH);
    delay(TimeA);
    digitalWrite(4, LOW);
    digitalWrite(3, HIGH);
    delay(TimeA);
    digitalWrite(3, LOW);
    digitalWrite(2, HIGH);
    delay(TimeA);
    digitalWrite(2, LOW);
    digitalWrite(1, HIGH);
    delay(TimeA);
    digitalWrite(1, LOW);
    digitalWrite(0, HIGH);
    delay(TimeA);
    digitalWrite(0, LOW);
    delay(TimeA);
    digitalWrite(0, HIGH);
    digitalWrite(1, HIGH);
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    delay(TimeB);
    digitalWrite(0, LOW);
    digitalWrite(1, LOW);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    delay(TimeB);
    digitalWrite(0, HIGH);
    digitalWrite(1, HIGH);
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    delay(TimeB);
    digitalWrite(0, LOW);
    digitalWrite(1, LOW);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    delay(TimeB);
    digitalWrite(0, HIGH);
    digitalWrite(1, HIGH);
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    delay(TimeB);
    digitalWrite(0, LOW);
    digitalWrite(1, LOW);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    delay(TimeB);
    digitalWrite(0, HIGH);
    digitalWrite(1, HIGH);
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    delay(250);

        T = T + 250;
    T <= 5000;
    if (T=5000)
    {
      T=1000;
    }


  }

Merci

Toto_38

Bonjour,
Je n'arrive pas a faire marcher mon module bluetooth mBot sur ma carte Arduino Uno.Je ne connais pas bien le langage c et j'aimerais savoir comment programmer l'arduino de façon a l'utiliser avec des applications mobiles
J'ai branché TX sur TX
                      RX sur RX
                      GND sur GND
             Et 5V sur VCC
Il reste RST,NC et DTR qui ne sont pas relier a l'arduino

68tjs

As tu lu le titre du sous forum dans lequel tu as posté ?

As tu lu les messages épinglés, notamment celui où on trouve cette image :


Alors fais ce qu'il faut pour ne pas te retrouver dans la poubelle.

Indice : il y a un lien "Report to moderator" qui peut être utile pour faire déplacer les messages.


Arzou

Bonjour,
Je n'arrive pas a faire marcher mon module bluetooth mBot sur ma carte Arduino Uno.Je ne connais pas bien le langage c et j'aimerais savoir comment programmer l'arduino de façon a l'utiliser avec des applications mobiles
J'ai branché TX sur TX
                      RX sur RX
                      GND sur GND
             Et 5V sur VCC
Il reste RST,NC et DTR qui ne sont pas relier a l'arduino
En attendant de deplacer ton post,
Tx va sur rx
Et rx va sur tx,
Il faut les croiser

68tjs

La règle est de ne pas répondre tant que le post n'est pas déplacé.
Sinon l'usage a montré que certains demandeurs ayant reçu une réponse s'en allait en laissant leur foutoir.

Je ne fais pas un procès d'intention, je ne connais pas Toto_38, je fais juste un rappel de ce que l'on a constaté.

Arzou

La règle est de ne pas répondre tant que le post n'est pas déplacé.
Sinon l'usage a montré que certains demandeurs ayant reçu une réponse s'en allait en laissant leur foutoir.

Je ne fais pas un procès d'intention, je ne connais pas Toto_38, je fais juste un rappel de ce que l'on a constaté.
Oupps, pardon...

Turpin2019

Bonjour à tous,

j'ai chargé mon code mais j'ai un soucis en lignes 5 Je pense a la bibliothèque mais pas sur.


#define ECHO_PIN A1 // le Pin A1, sortie analogique

Je vous joins mon code et merci pour votre aide

Bonne journée

code:
#include <Servo.h>  // On inclut les bibliothèques du servo-moteur, du capteur ultrason
#include <HCSR04.h>
// define fait une sorte de copier coller
// Attribuer  les Pins du servo-moteur HCSR04.h

#define TRIG_PIN A0 // le Pin A0, sortie analogique
#define ECHO_PIN A1 // le Pin A1, sortie analogique

// Définissez toutes les cartes de connexion au L298N

#define enA 13
#define in1 12
#define in2 11
#define in3 7
#define in4 6
#define enB 5
#define servoPin 2

class Motor{

int enablePin;
int directionPin1;
int directionPin2;

public:

//définir les broches des moteurs  

Motor(int ENPin,int dPin1,int dPin2){
enablePin = ENPin;
directionPin1 = dPin1;
directionPin2 = dPin2;
};

// Méthode pour faire avancer le moteur de 0 à 255. -1 ~ -255 pour reculer

void Drive(int speed){
if(speed>=0){
digitalWrite(directionPin1, LOW);
digitalWrite(directionPin2, HIGH);
}
else{
digitalWrite(directionPin1, HIGH);
digitalWrite(directionPin2, LOW);
speed = - speed;
}
analogWrite(enablePin, speed);
}
};

Motor leftMotor = Motor(enA, in1, in2);
Motor rightMotor = Motor(enB, in3, in4);
Servo myservo; // create servo object to control a servo

void motorInitiation(){
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);

// Définir la direction et la vitesse initiale


digitalWrite(enA, LOW);
digitalWrite(enB, LOW);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}

//Variables--------------------------------------------------------------------------
// Anything over 400 cm (23200 us pulse) is "out of range"
// Tout ce qui dépasse 400 cm (impulsion 23200 us) est "hors de portée

const unsigned int MAX_DIST = 23200;
bool ObsticalAhead = false;
int servoPos = 90;

enum Directions { Forward, TurnLeft, TurnRight, TurnAround,Brake};

Directions nextStep = Forward;

unsigned long t1;
unsigned long t2;
unsigned long pulse_width;
float cm;
float inches;

//SETUP--------------------------------------------------------------------------
void setup() {

// The Trigger pin will tell the sensor to range find
pinMode(TRIG_PIN, OUTPUT);
digitalWrite(TRIG_PIN, LOW);

// Nous utiliserons le moniteur série pour visualiser la sortie du capteur
Serial.begin(9600);
myservo.attach(servoPin);
motorInitiation();
Directions nextStep = Forward;
}

void loop() {

checkDistance();
checkDirection();
drive();
}

void checkDistance(){

// Hold the trigger pin high for at least 10 us
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);

// Attendre l'impulsion sur le Pin d'écho

while ( digitalRead(ECHO_PIN) == 0 );

// Mesurer combien de temps le Pin d'écho a été maintenue haute (largeur d'impulsion)
// Remarque: le compteur micros () débordera après ~ 70 min

t1 = micros();
while ( digitalRead(ECHO_PIN) == 1);
t2 = micros();
pulse_width = t2 - t1;

// Calculate distance in centimeters and inches. The constants
// are found in the datasheet, and calculated from the assumed speed
//of sound in air at sea level (~340 m/s).
cm = pulse_width / 58.0;
inches = pulse_width / 148.0;

// Imprimer les résultats
if ( pulse_width > MAX_DIST ) {
//Serial.println("Out of range");
} else {
//Serial.print(cm);
//Serial.print(" cm \t");
//Serial.print(inches);
//Serial.println(" in");
}
// Attendez au moins 60 ms avant la prochaine mesure
delay(60);

if(cm<= 20){
ObsticalAhead = true;
Serial.println("Problem Ahead");

}
else{ ObsticalAhead = false;}

}
void checkDirection(){
Serial.println("checking direction");
if(ObsticalAhead ==true){
nextStep = Brake;
drive();
myservo.write(180); // dire au servo- moteur d'aller à la position dans la variable 'pos'

delay(400); // attend 15 ms pour que le servo -moteur atteigne la position

checkDistance();
if(ObsticalAhead ==false){  // si le côté gauche est ouvert

nextStep = TurnLeft;
Serial.println("Next step is TurnLeft");
myservo.write(90); // réinitialiser la position du servo

delay(400);
}
else{ // la gauche est bloquée, il faut maintenant regarder à droite

myservo.write(0); // dire au servo-moteur d'aller à la position dans la variable 'pos

delay(800); // attend 15 ms pour que le servo-moteur atteigne la position

checkDistance();
if(ObsticalAhead ==false){ // si le côté droit est ouvert

nextStep = TurnRight;
Serial.println("Next step is TurnRight");
myservo.write(90); // réinitialiser la position du servo-moteur

delay(400);
}
else{ // la droite est également bloquée, il faut faire demi-tour

nextStep = TurnAround;
myservo.write(90);//reset servo position
delay(300);
Serial.println("Next step is TurnAround");
}
}

}
else{nextStep = Forward;} // Pas d'obstacle à venir

}

void drive(){
switch (nextStep){
case Forward:
leftMotor.Drive(255);
rightMotor.Drive(255);
Serial.println("Forward");

break;
case TurnLeft:
leftMotor.Drive(-255);
rightMotor.Drive(255);
Serial.println(" TurnLeft");
delay(400);

break;
case TurnRight:
leftMotor.Drive(255);
rightMotor.Drive(-255);
Serial.println(" TurnRight");
delay(400);
break;
case TurnAround:
leftMotor.Drive(255);
rightMotor.Drive(-255);
Serial.println(" TurnAround");
delay(600);
break;

case Brake:
leftMotor.Drive(0);
rightMotor.Drive(0);
Serial.println(" stopped");
}

}

hbachetti

Tu as deux problèmes :

Cette rubrique est réservée aux "Réalisations et Projets Finis".
STP utilise le bouton "Report to moderator" pour demander au modo de déplacer ton message dans le forum principal.

Ton code est à placer entre balises code :
https://forum.arduino.cc/index.php?topic=315372.0

Quote
j'ai chargé mon code mais j'ai un soucis en lignes 5 Je pense a la bibliothèque mais pas sur.
Accessoirement tu pourrais préciser de quel "soucis" il s'agit (message d'erreur, etc.)
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up