Aller au contenu


Contenu de seb03000

Il y a 1000 élément(s) pour seb03000 (recherche limitée depuis 01-mai 13)



#73101 [Projet Newton] Robot Humanoide

Posté par seb03000 sur 23 août 2016 - 09:36 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Bonjour.

 

Pas mal ton robot humanoïde, quelle est sa taille ???

 

​Quelle alimentation utilise tu ??? 

 

Une petite vidéo pour voir une petite démonstration de ton robot c'est possible ???




#73088 capteur US ( Ultrasons )

Posté par seb03000 sur 22 août 2016 - 11:31 dans Programmation

Alors je viens de faire mon programme il fonctionne bien, mais j'ai l’impression qu'il y a des raté au niveau du capteur US , ya t'il moyen d'amélioré cela.

 

Voici mon programme:

#include <Servo.h>
 // Définition des broches utilisées par le capteur HC-SR04 
 int trig = 13; 
 int echo = 12;
 //Les LED
 int LEDYeux = 2;   // Broche pour la LED les yeux
 int LEDLaserRouge = 3; // Broche pour LED Laser ( prévient quant ya un obstacle )
 int LEDBleu = 4; // Broche pour LED Bleu ( prévient quand ya pas d'obstacle )
 // définition des broches utilisées sur le shield contrôle moteur DRI0001 
 int direction_moteur_droite = 7; 
 int controle_moteur_droite = 6; 
 int direction_moteur_gauche = 4; 
 int controle_moteur_gauche = 5;
 long lecture_echo; 
 long cm, cm_gauche, cm_droite; 
 // crée l’objet pour contrôler le servomoteur
 Servo monservo;
//=========================================================================================================//
 void moteur (int moteur_gauche, boolean sens_moteur_gauche, int moteur_droite, boolean sens_moteur_droite) 
{ 
 // définition sens moteur LOW avance, HIGH recule 
 digitalWrite(direction_moteur_gauche, sens_moteur_gauche); 
 analogWrite(controle_moteur_gauche, moteur_gauche); 
 digitalWrite(direction_moteur_droite, sens_moteur_droite); 
 analogWrite(controle_moteur_droite, moteur_droite); 
}
 void virage_90 (boolean sens) 
{ 
  // Garder la valeur PWM à 255 
  // Jouer sur la durée en ms pour effectuer un virage souhaité 
  // sens à HIGH pour gauche, LOW pour droite 
  digitalWrite(direction_moteur_gauche, sens); 
  digitalWrite(direction_moteur_droite, !sens); 
  analogWrite(controle_moteur_gauche, 255); 
  analogWrite(controle_moteur_droite, 255); 
  delay(480); 
  analogWrite(controle_moteur_gauche, 0); 
  analogWrite(controle_moteur_droite, 0);        
}
 void calcul_distance() 
{ 
  digitalWrite(trig, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(trig, LOW); 
  lecture_echo = pulseIn(echo, HIGH); 
  cm = lecture_echo / 58; 
}
void setup() 
{ 
  pinMode(LEDYeux, OUTPUT);
  pinMode(LEDBleu, OUTPUT);
  pinMode(LEDLaserRouge, OUTPUT);
  int i; 
  for (i=4;i<=7;i++) 
  pinMode(i, OUTPUT); //définit les port 4 à 7 en sortie 
  analogWrite(controle_moteur_gauche, 0); // arrêt moteur gauche 
  analogWrite(controle_moteur_droite, 0); // arrêt moteur droite 
  pinMode(trig, OUTPUT); 
  digitalWrite(trig, LOW); 
  pinMode(echo, INPUT); 
  monservo.attach(9);  // utilise la broche 9 pour le contrôle du servomoteur 
  monservo.write(70); // positionne le servomoteur en fait à 90° 
}
void loop() 
{ 
  digitalWrite(LEDYeux, HIGH);
  digitalWrite(LEDBleu,HIGH); //LED Bleu éclairé quand pas d'obstacle
  digitalWrite(LEDLaserRouge,LOW); // LED Laser rouge éclaire quand ya un obstacle 
  monservo.write(70); 
  delay(1000); 
  calcul_distance(); 
  if (cm >= 90) 
  { 
   // Robot avance tout droit 
   moteur(255, LOW, 255, LOW); 
  } 
  else 
  { 
  digitalWrite(LEDBleu,LOW);
  digitalWrite(LEDLaserRouge,HIGH);
  // Robot stop 
  moteur(0, LOW, 0, LOW); 
  monservo.write(30); 
  delay(1000); 
  calcul_distance(); 
  cm_droite = cm; 
  monservo.write(120); 
  delay(1000); 
  calcul_distance(); 
  cm_gauche = cm; 
  if (cm_droite < cm_gauche) 
  { 
  // Robot tourne 90° à gauche 
  virage_90(HIGH); 
  } 
  if (cm_droite > cm_gauche) 
  { 
  // Robot tourne 90° à droite 
  virage_90(LOW); 
  } 
  if (cm_droite == cm_gauche) 
  { 
  // Robot demi-tour 
  virage_90(HIGH); 
  virage_90(HIGH); 
  } 
 } 
}
 

A oui j'ai trouvais la librairie en question que me fessai défaut.

 

Si vous avez des idée sur l'amélioration du capteur cela serrer sympas.

 

Je vais creuser de mon coter , est aussi finaliser le codage des moteurs de chaque bras de wall-e que je n'est pas mis au poins.




#73082 capteur US ( Ultrasons )

Posté par seb03000 sur 22 août 2016 - 02:15 dans Programmation

Merci Jekert

 

A cette librairie je les en faite.

 

Bon celle que je souhaite avoir , pour quelle fonctionne c'est celle si.

 

Se programme je les pris sur un des sites pour le testé , le souci c'est que j’obtiens une erreur, suite a une librairie manquante je pense.

 

Voici le code en question:

#include « Ultrasonic.h » //lib capteur HSR04
#include <Servo.h>  //lib servo moteur

const int Trig = 7; //declaration pin carte arduino mega
const int Echo = 6; //declaration pin carte arduino mega
long cm; //variable HCSR04
long cm1; //variable HCSR04
long cm2; //variable HCSR04
Ultrasonic HCSR04(Trig,Echo); //appel des fonctions

int motor1Pin1 = 8;    // MOTEUR GAUCHE
int motor1Pin2 = 9;    // MOTEUR GAUCHE
int enablePin1 = 2;     // COMMANDE GAUCHE

int motor2Pin4 = 10;    // MOTEUR DROIT
int motor2Pin3 = 11;    // MOTEUR DROIT
int enablePin2 = 3;     // COMMANDE DROITE

Servo servoexplo; //nom servo

void setup() {
Serial.begin(9600); //monitoring

// déclaration des sorties
pinMode(motor1Pin1, OUTPUT); //declaration en sortie
pinMode(motor1Pin2, OUTPUT); //declaration en sortie
pinMode(enablePin1, OUTPUT); //declaration en sortie

pinMode(motor2Pin4, OUTPUT); //declaration en sortie
pinMode(motor2Pin3, OUTPUT); //declaration en sortie
pinMode(enablePin2, OUTPUT); //declaration en sortie

servoexplo.attach(5); //declaration en sortie

// Mettre la broche Enable a high comme ca les moteurs tournent
digitalWrite(enablePin1, HIGH); //moteur en route
digitalWrite(enablePin2, HIGH); //moteur en route
}

void loop() {
Serial.println(cm); //affichage sur le monitoring

servoexplo.write(30); //angle du servo
cm2 = HCSR04.convert(HCSR04.timing(), 1); //calcul de la distance par la fonction
delay(400); // pause d’acquisition

if (cm < 20) {
digitalWrite(motor1Pin1, LOW);   // ARRIERE TOUTE
digitalWrite(motor1Pin2, HIGH); //
digitalWrite(motor2Pin4, HIGH);   //
digitalWrite(motor2Pin3, LOW);  //

delay (800); //pause de mouvement

digitalWrite(motor1Pin1, HIGH);   // DROITE TOUTE
digitalWrite(motor1Pin2, LOW); //
digitalWrite(motor2Pin4, HIGH);   //
digitalWrite(motor2Pin3, LOW);  //

delay (800); //pause de mouvement

}
else {
// Le moteur gauche AVANT
digitalWrite(motor1Pin1, HIGH);   // AVANT TOUTE
digitalWrite(motor1Pin2, LOW);  //
// Le moteur droit AVANT
digitalWrite(motor2Pin4, LOW);   //
digitalWrite(motor2Pin3, HIGH);  //
}

servoexplo.write(90);
cm1 = HCSR04.convert(HCSR04.timing(), 1);
delay(400); // pause d’acquisition

if (cm1 < 20) {

digitalWrite(motor1Pin1, LOW);   // GAUCHE TOUTE
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin4, LOW);   //
digitalWrite(motor2Pin3, HIGH);  //

delay (800); //pause de mouvement

}
else {
// Le moteur gauche AVANT
digitalWrite(motor1Pin1, HIGH);   // AVANT TOUTE
digitalWrite(motor1Pin2, LOW);  //
// Le moteur droit AVANT
digitalWrite(motor2Pin4, LOW);   //
digitalWrite(motor2Pin3, HIGH);  //
}

servoexplo.write(140);
cm = HCSR04.convert(HCSR04.timing(), 1);
delay(400); // pause d’acquisition

if (cm2 < 20) {

digitalWrite(motor1Pin1, HIGH);   // DROITE TOUTE
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin4, HIGH);   //
digitalWrite(motor2Pin3, LOW);  //

delay (800); //pause de mouvement

}
else {
// Le moteur gauche AVANT
digitalWrite(motor1Pin1, HIGH);   // AVANT TOUTE
digitalWrite(motor1Pin2, LOW);  //
// Le moteur droit AVANT
digitalWrite(motor2Pin4, LOW);   //
digitalWrite(motor2Pin3, HIGH);  //
}

}

Et voici le message d'erreur:

 

sans_t10.png

 

Le bute de cela, c'est de ne pas prendre son code juste voir comment cela fonctionne , points de vue de sa déclaration de son capteur,

 

est celle la me plais bien, du comme vous avez pus le voir se programme me bloque a causse d'une erreur sans doute banale. 




#73078 capteur US ( Ultrasons )

Posté par seb03000 sur 22 août 2016 - 12:51 dans Programmation

Bonjour a tous.

 

Sa fait un moment que je ne suis pas passer ici , est sa a bien changer.

 

Bon voilà mon problème , je suis actuellement en train de faire un recyclage sur un robot wall-e.

 

Je lui est installer une carte roméo , plus 2 servo-moteurs , est 3 servo ( 2 pour les bras , 1 pour le coup ).

 

Comme capteur, un capteur ultrasons ( US ) celui si --> capteur_ultrason_03.jpg

 

Est 2 LED, donc une LED bleu basique, est un petit laser rouge , le laser indique qu'il y a un obstacle devant lui grâce au capteur us,

 

est la LED bleu indique qui ya pas d'obstacle.

 

Mon souci c'est que je ne trouve pas la librairie pour se capteur , pouvez vous m'aidez ???

 

Merci a tous  




#60537 Projet de bipède - marche dynamique

Posté par seb03000 sur 13 avril 2014 - 06:27 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Bonjour Leon.

Impressionnant, ton projet bipède chapeaux.

Pour se qui concerne les pieds en forme cylindriques , pour quoi ne pas les faire plus large afin qu'il puise tenir ferment le sole??

En tous cas je suivrai ta progression de ton bipède.

Allez courage , et ne l'ache rien.




#60507 Problème de code pour shield lcd + arduino

Posté par seb03000 sur 10 avril 2014 - 11:25 dans Programmation

C'est pour illustré l'utilisation d'une instruction switch ,et du commutateur il
pourra me déclaré et me permettre de choisir parmi un ensemble de valeurs de caractère grâce aux bouton du LCD
C'est comme une série d'instructions if.




#60488 Problème de code pour shield lcd + arduino

Posté par seb03000 sur 07 avril 2014 - 10:51 dans Programmation

Bigot je viens de télécharger L' IDE Arduino 1.0.5 et j'ai quand même fait le teste en laissent le câble d'alimentation USB, est cela fonctionne merci de ton aide

ChristianR sa fait plus 1 semaine que je galéré sur cela.

Encore merci toi.




#60487 Problème de code pour shield lcd + arduino

Posté par seb03000 sur 07 avril 2014 - 10:11 dans Programmation

ChristianR


ok merci je vais testé sa.

Je vais mettre une batterie de 8.4V 1100mAh , mais elle et a plat , je vais la recharger , et je vous tien informé.

Merci ChristianR




#60484 Problème de code pour shield lcd + arduino

Posté par seb03000 sur 07 avril 2014 - 09:46 dans Programmation

Je vais également voir si il y a pas des librairies qui pose problème ou re-téléchager le IDE Arduino 0023, plus la librairie du shield LCD que je possède.

Si vous avez d'autre idée je suis preneur.



#60480 Problème de code pour shield lcd + arduino

Posté par seb03000 sur 07 avril 2014 - 05:55 dans Programmation

C'est sur une tour ( PC fixe ) qui et bien branche avec le cable usb qui alimente la carte Arduino ainsi que le shield LCD

Oui en effet c'est bien c'est chiffre là :

113582 sig t: 0
Flr:_0 Rm:00.00

Mise a par c'est chiffre qui son aléatoire 113582. se ne son jamais les même.

Donc alors c'est un problème venant de mon shield LCD, et non de la programmation a votre avis?



#60474 Problème de code pour shield lcd + arduino

Posté par seb03000 sur 07 avril 2014 - 09:38 dans Programmation

Bonjour a tous.

Je me suis lancer a faire ( une bombe factice ) avec écran LCD et Arduino )

Voici les composants:

Écran LCD KeyPad Shield For Arduino SKU: DFR0009 voici un lien sur sa fiche:
http://www.dfrobot.com/wiki/index.php/LCD_KeyPad_Shield_For_Arduino_SKU:_DF…

Et l'Arduino Duemilanove:

Voici La programmation pris sur le net avec quelque modification:

/*--------------------------------------------------------------------------------------
 Includes
 --------------------------------------------------------------------------------------*/
#include <LiquidCrystal.h>

/*--------------------------------------------------------------------------------------
 Defines
 --------------------------------------------------------------------------------------*/
// Pins utilisé
#define BUTTON_ADC_PIN   		A0  // A0 est l'entrée bouton ADC
#define LCD_BACKLIGHT_PIN 		3  // D3 contrôle LCD rétro backlight
// Lectures ADC attendus pour les 5 boutons sur l'entrée ADC
#define RIGHT_10BIT_ADC   		0  // droit
#define UP_10BIT_ADC        	145  // jusqu'à
#define DOWN_10BIT_ADC      	329  // vers le bas
#define LEFT_10BIT_ADC      	505  // gauche
#define SELECT_10BIT_ADC    	741  // droit
#define BUTTONHYSTERESIS 		10  // fenêtre bouton de détection valide
//renvoyer des valeurs pour ReadButtons()
#define BUTTON_NONE       		0  // 
#define BUTTON_RIGHT          	1  // 
#define BUTTON_UP         		2  // 
#define BUTTON_DOWN       		3  // 
#define BUTTON_LEFT       		4  // 
#define BUTTON_SELECT     		5  // 

// Define our states
#define STATE_TITLE       		00  // Un écran de titre
#define STATE_KEYWAIT     		05  // En attente d'une pression de touche
#define STATE_GAMESTART   		20  // Le jeu commence
#define STATE_TURNSTART   		30
#define STATE_INPUTNUMBER 		40

// Misc. Defines
#define MSGFLASHDELAY   		1000  // Combien de temps à clignoter messages pour (ms)?

/*--------------------------------------------------------------------------------------
 Variables
 --------------------------------------------------------------------------------------*/
byte buttonJustPressed  = false; 		//ce sera vrai après ReadButtons () appeler si elle est déclenchée
byte buttonJustReleased = false; 		//ce sera vrai après ReadButtons () appeler si elle est déclenchée
byte buttonWas      	= BUTTON_NONE;   //utilisée par ReadButtons () pour la détection d'événements de bouton

// Configuration des variables qui seront utilisées
byte state, nextstate;
byte timer, inputpos, flash;
boolean update;
byte bombpos[6], pos[6], signal[6];
byte ipos[6] = {4,5, 11,12, 14,15 };
int tmp;
unsigned long flashtime;

/*--------------------------------------------------------------------------------------
 Init la bibliothèque LCD avec les broches LCD à utiliser
 --------------------------------------------------------------------------------------*/
LiquidCrystal  lcd(8, 9, 4, 5, 6, 7);   //Pins pour le bouclier freetronics 16x2 LCD.  LCD: ( RS, E, LCD-D4, LCD-D5, LCD-D6, LCD-D7 )

/*--------------------------------------------------------------------------------------
 setup()
 Appelé par l'infrastructure 1 fois, avant le début de la boucle principale
 --------------------------------------------------------------------------------------*/
void setup() {
  // Setup pins. 
  pinMode(BUTTON_ADC_PIN, INPUT ); 		// Entrée analogique pour les boutons de l'écran LCD
  digitalWrite(BUTTON_ADC_PIN, LOW );
  pinMode(LCD_BACKLIGHT_PIN, OUTPUT ); 	// contrôle du rétroéclairage (off/on)
  digitalWrite(LCD_BACKLIGHT_PIN, HIGH );  // Tournez le rétro-éclairage on
  randomSeed(analogRead(1));       		// Envoyer le générateur de nombres aléatoires

  lcd.begin( 16, 2 );                  	//bibliothèque LCD affichage 16x2
  lcd.setCursor( 0, 0 );
  //      	1234567890123456
  lcd.print( "-_D E F U S E _-" );
  lcd.setCursor( 0, 1 );
  lcd.print( '.' );
  lcd.print(  '.' );   
  flashbacklight();
  lcd.print(   '.' );  
  flashbacklight();
  lcd.print(	'.' ); 
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  lcd.print(	'.' );
  flashbacklight();
  state = STATE_TITLE;  
}


/*--------------------------------------------------------------------------------------
 loop()
 Arduino main loop
 --------------------------------------------------------------------------------------*/
void loop() {
  byte button;

  button = ReadButtons();
  switch(state) {              	// Faire des choses différentes en fonction de "l'état"

  case STATE_TITLE:
	lcd.setCursor( 0, 0 );
	//      	1234567890123456
	lcd.print( "= D E F U S E  =");
	lcd.setCursor( 0, 1 );
	lcd.print( "Press[touche]key" );
	nextstate = STATE_GAMESTART;
	state = STATE_KEYWAIT;
	break;

  case STATE_KEYWAIT:
	if(buttonJustPressed) state = nextstate;
	break;

  case STATE_GAMESTART:
	//Init afin de signal
	for(int i = 0; i < 6; i++) signal[i] = i;

	//Afin de signal aléatoire
	for(int cnt = 0; cnt < 500; cnt++) {
  	int pos1 = random(6);
  	int pos2 = random(6);
  	tmp = signal[pos1];
  	signal[pos1] = signal[pos2];
  	signal[pos2] = tmp;
	}
	//Choisissez une position à la bombe. Il ne peut être 00,00,00
	do {
  	tmp = 0;
  	for(int i = 0; i < 6; i++) {
    	pos[i] = 0;
    	bombpos[i] = random(9);
    	tmp += bombpos[i];
  	}
	}
	while(tmp == 0);
	timer = 300;
	lcd.clear();
	// 		1234567890123456
	lcd.print("Trouver la bombe"); 
	lcd.setCursor(0,1);
	lcd.print("il y a des");
	delay(MSGFLASHDELAY); 
	lcd.setCursor(0,0);
	lcd.print("detecteur,Il ya "); 
	lcd.setCursor(0,1);
	lcd.print("1 million piece ");
	delay(MSGFLASHDELAY); 
	lcd.setCursor(0,0);
	lcd.print("Alors comment  ");
	lcd.setCursor(0,1);
	lcd.print("Sa marche?  	");
	delay(MSGFLASHDELAY); 
	state = STATE_TURNSTART;
	//tombe à travers

  case STATE_TURNSTART:
	// 		1234567890123456
	// 		SSSSSSsig  t:TTT
	// 		Flr:YY  Rm:XX.ZZ
	if(timer == 0) {
  	flashbacklight();
  	lcd.setCursor(0,0);
  	lcd.print("B O O O O O O "); 
  	lcd.setCursor(0,1);
  	lcd.print(" O O O O O OM!");
  	delay(MSGFLASHDELAY); 
  	lcd.clear();
  	lcd.print("Les bombes etait"); 
  	lcd.setCursor(0,1);
  	lcd.print("Flr:"); 
  	lcd.print(bombpos[0]); 
  	lcd.print(bombpos[1]);
  	lcd.print("Rm:"); 
  	lcd.print(bombpos[2]); 
  	lcd.print(bombpos[3]);
  	lcd.print("."); 
  	lcd.print(bombpos[4]); 
  	lcd.print(bombpos[5]);
  	nextstate = STATE_TITLE;
  	state = STATE_KEYWAIT;
  	break;
	}
	timer -= 10;
	lcd.clear();
	for(int i = 0; i < 6; i++) {
  	lcd.print(9 - abs((int)bombpos[signal[i]] - (int)pos[signal[i]]));
	}
	lcd.print(" sig  t: ");
	if(timer<100) lcd.print("0");
	lcd.print(timer);
	lcd.setCursor(0,1);
	lcd.print("Flr:YY  Rm:XX.ZZ ");
	for(int i = 0; i < 6; i++) {
  	lcd.setCursor(ipos[i],2);
  	lcd.print(pos[i]);
	}
	inputpos = 0;
	flashtime = millis() + 750; 
	flash = 1;
	state = STATE_INPUTNUMBER;
	//tombe à travers

  case STATE_INPUTNUMBER:
	update = false;
	if(millis() >= flashtime) {
  	flashtime = millis() + (750 - (500 * flash));      
  	flash = 1 - flash;
  	update = true;
	}
	if(buttonJustPressed) {
  	switch(button) {
  	case BUTTON_LEFT:
    	lcd.setCursor(ipos[inputpos],1);
    	lcd.print(pos[inputpos]);
    	if(inputpos == 0) inputpos = 5;
    	else inputpos--;
    	update = true;
    	break;

  	case BUTTON_RIGHT:
    	lcd.setCursor(ipos[inputpos],1);
    	lcd.print(pos[inputpos]);
    	if(inputpos == 5) inputpos = 0;
    	else inputpos++;
    	update = true;
    	break;

  	case BUTTON_DOWN:
    	if(pos[inputpos] == 0) pos[inputpos] = 9; 
    	else pos[inputpos]--;
    	update = true;
    	break;

  	case BUTTON_UP:
    	if(pos[inputpos] == 9) pos[inputpos] = 0; 
    	else pos[inputpos]++;
    	update = true;
    	break;

  	case BUTTON_SELECT:
    	lcd.clear();
    	if(bombpos[0] == pos[0] && bombpos[1] == pos[1] && bombpos[2] == pos[2] &&
    	bombpos[3] == pos[3] && bombpos[4] == pos[4] && bombpos[5] == pos[5]) {
      	// 		1234567890123456
      	lcd.print("Bombe desactive"); lcd.setCursor(0,1);
      	lcd.print("Vous etes un heros!");
      	nextstate = STATE_TITLE;
      	state = STATE_KEYWAIT;
    	} else {
      	lcd.print("Numerisation");
      	delay(MSGFLASHDELAY/2);
      	lcd.print(".");
      	delay(MSGFLASHDELAY/3);
      	lcd.print(".");
      	delay(MSGFLASHDELAY/4);
      	lcd.print(".");
      	delay(MSGFLASHDELAY/5);
      	lcd.print(".");
      	delay(MSGFLASHDELAY/6);
      	state = STATE_TURNSTART;
    	}
    	update = false;
    	break;
  	}
	}
	if(update == true) {
  	lcd.setCursor(ipos[inputpos],1);
  	if(flash == 0) lcd.print("_");
  	else lcd.print(pos[inputpos]);
	}
	break;

  default: 
	break;
  }
  //effacer les drapeaux buttonJustPressed & buttonJustReleased; ils ont déjà fait leur travail
  if(buttonJustPressed)  buttonJustPressed  = false;
  if(buttonJustReleased) buttonJustReleased = false;
  delay(25); //Retard pour arrêter les boutons "sautillement" faux presses. Pas aussi bien comme un véritable anti-rebond.
}

void flashbacklight() {
  digitalWrite(LCD_BACKLIGHT_PIN, LOW);  
  delay(150);
  digitalWrite(LCD_BACKLIGHT_PIN, HIGH); 
  delay(150);
}

/*--------------------------------------------------------------------------------------
 ReadButtons()
 Détecter le bouton enfoncé et retourner la valeur
  Utilise les valeurs mondiales buttonWas, buttonJustPressed, buttonJustReleased.
 --------------------------------------------------------------------------------------*/
byte ReadButtons() {
  unsigned int buttonVoltage;
  byte button = BUTTON_NONE;   // retourner aucun bouton pressé si les contrôles ci-dessous n'écrivent pas btn

  //lire la tension de la broche bouton ADC
  buttonVoltage = analogRead( BUTTON_ADC_PIN );
  //sens que si la tension tombe dans les fenêtres de tension valides
  if( buttonVoltage < ( RIGHT_10BIT_ADC + BUTTONHYSTERESIS ) )
  {
	button = BUTTON_RIGHT;
  }
  else if(   buttonVoltage >= ( UP_10BIT_ADC - BUTTONHYSTERESIS )
	&& buttonVoltage <= ( UP_10BIT_ADC + BUTTONHYSTERESIS ) )
  {
	button = BUTTON_UP;
  }
  else if(   buttonVoltage >= ( DOWN_10BIT_ADC - BUTTONHYSTERESIS )
	&& buttonVoltage <= ( DOWN_10BIT_ADC + BUTTONHYSTERESIS ) )
  {
	button = BUTTON_DOWN;
  }
  else if(   buttonVoltage >= ( LEFT_10BIT_ADC - BUTTONHYSTERESIS )
	&& buttonVoltage <= ( LEFT_10BIT_ADC + BUTTONHYSTERESIS ) )
  {
	button = BUTTON_LEFT;
  }
  else if(   buttonVoltage >= ( SELECT_10BIT_ADC - BUTTONHYSTERESIS )
	&& buttonVoltage <= ( SELECT_10BIT_ADC + BUTTONHYSTERESIS ) )
  {
	button = BUTTON_SELECT;
  }
  //gérer drapeaux touche des événements juste pressés et vient de sortir
  if( ( buttonWas == BUTTON_NONE ) && ( button != BUTTON_NONE ) )
  {
 	//le bouton a été pressé, mettre buttonJustPressed, ce qui peut  éventuellement être utilisé pour déclencher une action ponctuel pour  appuyer sur un bouton veille
	//il est du devoir du récepteur pour effacer ces drapeaux si elle veut détecter un nouvel événement de changement de bouton
	buttonJustPressed  = true;
	buttonJustReleased = false;
  }
  if( ( buttonWas != BUTTON_NONE ) && ( button == BUTTON_NONE ) )
  {
	buttonJustPressed  = false;
	buttonJustReleased = true;
  }

  //sauver la dernière valeur de bouton, pour la détection d'événements de modification fois suivante
  buttonWas = button;

  return( button );
}

Voici mon souci le code fonctionne très bien , mais le problème des que je veux entré

un chiffre a laide du clavier intégré de mon LCD, le curseur se mais a clignoté avec un

symbole bizarre , alors que sa dois clignoté avec se tiré ( _ ) <-- tirai du 8 sur le clavier

Voici le symbole bizarre:

Image IPB

Donc a votre avis , soi c'est un problème dans ma programmation ou de shield , ou alimentation ( car je suis brancher en 5V avec le câble USB qui alimente l'Arduino ).

Merci avants tous de m'avoir lu , et merci pour votre aide a tous.

PS: Je me penche quand même a trouvé se problème de mon coté.



#60175 Problème connexion arduino à asus

Posté par seb03000 sur 09 mars 2014 - 11:29 dans Programmation

Bonjour Paul94

Sur quel système d'exploitation travaille tu sur ton pc asus?

Pour se faire télécharger le logiciel Arduino, est suis le tuto d'installation ici




#58222 Création d'un Chatterbots en C++

Posté par seb03000 sur 30 octobre 2013 - 06:49 dans Programmation

Bonjour a tous , je vous tien informé de l'évolution de Jarvise ( agent de conversation IA ).

Mise a jour de Jarvise.

Les modification apporté par moi est Mouad

Allégement du graphisme , emplacement d'un menu déroulent qui donne accès a une choutbox , d'un Livre d'or , et d'une boite d'envoi Mail,

Il y a aussi en bas de page, 'un menu déroulent également , pour choisir le thème de Jarvise que vous voulez choisir.

Le mode fonction voix et toujours en coure , le cerveau de Jarvise na pas ù de rajout de phrase , car on s'occupe plus spécialement du graphisme en se moment

je vous tien informé pour la suite , c'est toujours ici http://jarvise.atspace.cc/

si vous avez des idées ou des remarque ou autre posté les , merci a vous tous de suivre mon projet.

@Cordialement.




#57747 Création d'un Chatterbots en C++

Posté par seb03000 sur 07 septembre 2013 - 12:28 dans Programmation

Bonjours/Bonsoir

Contenue de l'amélioration de Jarvise.

Petite amélioration de l'interface de Jarvise.

Les conversation stocker avec Jarvise a été amélioré.

Amélioration du code du fichier index ( page principale du bot ) raccourcissement du code .

Fonction d'un envoie d'un mail a été rajouté , mais ne fonction pas pour le moment ( je rencontre quelque difficulté ).

La fonction de la voix et toujours en coure.

Je vous tien au courent pour la suite , a très bientôt.

@Amicalement.




#57469 Création d'un Chatterbots en C++

Posté par seb03000 sur 13 août 2013 - 11:04 dans Programmation

Bonjour a tous, voilà sa fait plus 1ans que je travaille sur un projet ( un agent de conversation , une IA ) j'ai enfin pue l'amélioré

est aussi enfin pus le mettre en ligne.

Donc les amies mon chatterbot et en php est en JavaScript vous pouvez vous y rendre

sur se lien, http://jarvise.atspace.cc/

se chatterbot est tirai sur le fameux chatterbots Génésis , mais que j'ai totalement remodelé.

Nouvelle interface un peux plus développer , ( encore cela vas changer ).

Les réponse donner son plus rapide , son cerveaux et un peut plus cosécante , grâce aux phrase

que je lui est intégrer.

Très bientôt je luit donnerai une voix , afin qui puise parler quand il nous répondra

( cela vas bientôt être mis en place ) si tout se passe bien.

( Vous trouverez aussi le lien dans ma signature en bas )

A très bientôt.



#57345 Création d'un Chatterbots en C++

Posté par seb03000 sur 04 août 2013 - 10:34 dans Programmation

Bonjour a tous , sa fait un baye que je n'est pas donné de nouvelle sur mon bot.

Voilà enfin je vais vous exposé mon projet BOB 3.10.

Explication de BOB:

Mon code .bat ( Batchs ) consiste a consulté divers proposition proposé.

Donc vous aurai une barre de progression , puis un petit designe , le choie de choisir

si vous ête une femme ou un homme

Puis savoir quelque infos sur votre pc , est des info sur vos IP , un système

de FTP , le chois aussi de discuté avec BOB , et bien sur un choix de navigation.

BOB.exe s"installera automatiquement quand vous cliquerai pour la première foi sur le fichier ( Mise à jour de BOB 3.10 en 32 Bits , ou 64 Bits )

Voila pour l'explication du .bat est du .exe, je vous laisse découvrir sa fonctionnalité.


::=======================================================================================
::=======================================================================================

Le BOB 3.10 aura divers misse a jour , donc je vous tiendrai informé.

Pour quitté BOB.exe écrivais ( Baye ) puis entré , ou cliquer sur la croix rouge en haut a droite.

La IA BOB ( on vas dire un agent de conversation hein !! ) n'est pas encore fini , évité de mettre des ( ?,.;/:§! ) quand vous lui écrivez

Voici les liens de téléchargement:

Donc voici la version 32 Bits http://uploaded.net/file/v90i1rgy

Donc voici la version 64 Bits http://uploaded.net/file/crtn8jib

Ps: Il risquerai d'avoir un problème de compatibilité avec XP , testé quand même est te n'est moi informé.

Voilà a bientôt.

@Amicalement.



#57333 Chatterbot Jeanneton

Posté par seb03000 sur 03 août 2013 - 01:49 dans Et si vous vous présentiez?

Bonjour Husky_4D

J'ai testé ton chatterbot jeanneton j'ai discuté a plusieurs reprise avec quelle , elle répond bien aux phrase con lui écrit , ( elle serré pas du même genre que GENESIS ???) en tous cas bravos.

A tu penser a lui rajouter une voix comme le chatterbot de Holic elle se nome ( Waelin ) il lui a implanté un module TTS (Text To Speech) lui permettant de parler.

Sa pourrai être intéressant !!!

Je suis moi même sur se même projet de chatterbot depuis plus 1 ans ( il n'est toujours pas en ligne ) mais cela ne vas pas tardé




#57240 Besoin de vos propositions

Posté par seb03000 sur 26 juillet 2013 - 07:29 dans Conseils et aide aux débutants, livres et kits en robotique

Salut

En cherchant, tu trouvera ton bonheur sur le forum ( c'est une mine d'or ici ) donc en haut a droit ta une bar de recherche , a toi de jouer.

@Cordialement.



#57235 pro bot 128 probleme

Posté par seb03000 sur 25 juillet 2013 - 07:43 dans Conseils et aide aux débutants, livres et kits en robotique

Bon je voie.

J'ai lu la doc, d'après moi les moteurs sont de très mauvaise qualité, donc je dirai de mettre deux alimentation séparé , une pour le robot les 4 piles AA de 1,5V

est une pile 9 v pour alimenter les moteurs.

Puis si cela est possible de rajoute ton code pour voir si il y a pas de problème de se coter là.

@Cordialement.



#57233 pro bot 128 probleme

Posté par seb03000 sur 25 juillet 2013 - 06:33 dans Conseils et aide aux débutants, livres et kits en robotique

Bonjour julien.

Quelle source d’alimentation a tu rajouter pour ton pro bot 128 , car je pense que cela viendrai de ton alimentation qui n'est pas assez puissante.

Tiens nous informez.



#57151 Présentation Hawk Bill

Posté par seb03000 sur 19 juillet 2013 - 10:42 dans Et si vous vous présentiez?

Bienvenu sur le forum Hawk Bill



#56839 Robot Roby capteur infrarouge

Posté par seb03000 sur 26 juin 2013 - 04:51 dans Electronique

Bonjour

Peux tu mettre le code que tu a mis , ainsi nous expliquer le branchement que tu a fait , se serré un bon début pour te donné un coups de mains.



#56765 robby 1

Posté par seb03000 sur 23 juin 2013 - 11:33 dans Robots roulants, chars à chenilles et autres machines sur roues

je pence qu'il faut que tu télécharge la librairie URM , car j'ai testé son programme est il se compile bien , sans aucun message d’erreurs

Voici un liens pour télécharger la librairie du capteur ICI



#56590 hack de mon RobotSapien ( seb03000 )

Posté par seb03000 sur 09 juin 2013 - 12:55 dans Hack mod customisations et autres modifications

Merci bien olivthill



#56588 hack de mon RobotSapien ( seb03000 )

Posté par seb03000 sur 09 juin 2013 - 12:05 dans Hack mod customisations et autres modifications

Si j'ai bien compris, dès que tu l'allumes, il effectue une suite de mouvements coordonnés puis le programme s'effectue en boucle ?


oui c'est bien ça ^^


Déjà je rappelle que je n'avais pas la télécommande du robot , donc du coup je ne pouvais rien faire avec , a par le mettre sur une étagère.

Donc en cherchant bien sur le net j'ai trouvais le moyen de pouvoir me servir du robot avec une Arduino en programment le robot tout tant simulent une télécommande, ( donc c'est déjà très bien je pense )

Ce si dis, la présentation en vidéo est pour vous montrais de quoi on est capable de faire avec se robot , la suite pour les rajout d'autre module se ferra plus tard.