Aller au contenu


seb03000

Inscrit(e) (le) 22 juil. 2011
Déconnecté Dernière activité juil. 30 2021 12:46
*****

Sujets que j'ai initiés

capteur US ( Ultrasons )

22 août 2016 - 12:51

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  


Problème de code pour shield lcd + arduino

07 avril 2014 - 09:38

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é.

hack de mon RobotSapien ( seb03000 )

29 mai 2013 - 07:19

Je c'est pas si je suis dans le bon poste ( si ce n'est pas le cas faite en sorte de le déplacé , merci ).





Image IPB

Depuis près de 2 ans j'avais acheté un RobotSapien

d'occasion , mais je n'avais pas la télécommande qui aller avec.

Donc je me suis dis , il devrais avoir un système de hacke qui me permettrai de lui faire des

mouvements a partir d'une carte Arduino , j'ai parcouru pas mal de page sur le net , j'ai récolté

pas mal d'information.

Il s'avère que mon hackage fonctionne , de plus je viens de finir sa programmation

( un début très concret, je dois dire ).

Donc je vous mes des photos ( pour vous donnez la preuve que c'est bien mon robot )

est un petit tuto qui vas avec , est bien sur la programmation que j'ai réalisé.


Matériel acheté pour se hacke:

Carte Arduino Uno Rev 3 ICI

Log shield pour Arduino sur carte SD avec horloge RTC et zone de prototypage à pastilles carrées ICI
Le shield pour Arduino sur carte SD n'est pas obligatoire, vous pouvais faire le hack sans ce shield

Une pile carré de 9V ICI

Est des file pour la soudure ou la connexion



Voila la photo:

Image IPB





Alors commençons.

Image IPB

Image IPB

Image IPB

Image IPB

  • Dévisser les 4 vis à l'arrière du Robosapien (2 au niveau des épaules, 2 au niveau des hanches) pour accéder au PCB
  • Repérer le connecteur de la tête situé en haut du PCB (photo ci-dessus)
  • Retirer les différentes nappes de fils du PCB afin de pouvoir démonter ce dernier
  • Repérer le fils noir et blanc sur le « head connector ». Le noir correspond au GND, et le blanc au signal infrarouge (IR-OUT)
  • Retourner le PCB et souder un fil noir au point de soudure
    correspondant au GND puis un fil blanc à celui correspondant au signal
    infrarouge , ( ou dénudé le file noir et le blanc , puis réunissé lé comme je les fait )
  • Souder le « nouveau » fil blanc a la patte centrale d'un petit toggle switch 3-Pin
    puis ajouter un autre fil blanc à l'une des deux autres pattes. Cette
    manipulation permettra de switcher le Robosapien en mode télécommande ou
    Arduino.
  • Percer un trou quelque part sur le robot pour y placer le switch comme sur la photo si dessous.
    J'ai personnellement choisi l'arrière à côté du transducteur (voir photo
    ci-dessous)
  • Remonter le tout !
Image IPB
Image IPB
Image IPB

Image IPB

Le petit code sur lequel nous allons nous baser pour simuler les
données normalement envoyées par la télécommande.
Arduino permet donc de simuler la télécommande et communiquer en série
avec le robot. Avant de mettre le tout sous tension, il est important de
positionner le switch en mode manuel avant d'allumer le robot. Une fois ce dernier allumé, il convient alors de mettre le switch sur la position Arduino. Puis, branchez le fil blanc sur le PIN 3 de la carte, le fil noir sur le GND
puis optionnellement une LED sur le pin 13 ou une autre pin que vous voulez. Il faut ensuite uploader le
code ci-dessous sur la carte.

/*
 * écrire des codes IR Robosapien
 * écrire des données codées comme décrit ici:
 */
int led = 9; //LED bleu De la carte RTC sur pin 9
int LedControl = 13; 	// Afficher lorsque le contrôle est sur on
const int irPin = 3;
const int tsDelay = 833; // selon les l'estimations

enum roboCommand {
  // un très petit sous-ensemble de commandes
  turnRight = 0x80,
  rightArmUp = 0x81,
  rightArmOut = 0x82,
  tiltBodyRight = 0x83,
  rightArmDown = 0x84,
  rightArmIn = 0x85,
  walkForward = 0x86,
  walkBackward = 0x87,
  turnLeft = 0x88,
  leftArmUp = 0x89,
  leftArmOut = 0x8A,
  tiltBodyLeft = 0x8B,
  leftArmDown = 0x8C,
  leftArmIn = 0x8D,
  stopMoving = 0x8E,
  RSWakeUp = 0xB1,

  
  // Bruitage
  whistle = 0xCA,
  roar = 0xCE,
  RSRightHandStrike = 0xC0,
  RSRightHandSweep = 0xC1,
  burp = 0xC2,
  RSRightHandStrike2 = 0xC3,
  RSHigh5 = 0xC4, 
  RSFart = 0xC7,
  RSLeftHandStrike = 0xC8,
  RSLeftHandSweep = 0xC9,
};


void setup()
{
   pinMode(irPin, OUTPUT);
   digitalWrite(irPin, HIGH);
   pinMode(LedControl,OUTPUT);
   pinMode(led,OUTPUT);
  Serial.begin(9600);
  Serial.println("RobSapien Start");   
}

void delayTs(unsigned int slices) {
  delayMicroseconds(tsDelay * slices); 
}

void writeCommand(int cmd) //  type 'int' non 'robo Command' d'un environnement Arduino
{
  
  digitalWrite(irPin, LOW);
  delayTs(8);
    
  for(char b = 7; b>=0; b--) {
    digitalWrite(irPin, HIGH);
    delayTs( (cmd & 1<<<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='B)' />/>/>/>/>/>/> ? 4 : 1 );
    digitalWrite(irPin, LOW);
    delayTs(1);        
  } 
  
  digitalWrite(irPin, HIGH);
  digitalWrite(LedControl,HIGH);
  digitalWrite(led,HIGH);
}


void loop()
{

   //Fonction du bras gauche 

   writeCommand(leftArmUp); // Lève le bras gauche
   delay(5000);
   
   writeCommand(rightArmUp);//Lève le bras droit
   delay(5000);

   writeCommand(leftArmOut); // Tourne l'avants bras gauche
   delay(2000);
   
   writeCommand(rightArmOut);//Tourne l'avants bras droit
   delay(2000);

   writeCommand(leftArmDown);//tir son bras gauche verre le bas 
   delay(5000);
   
   writeCommand(rightArmDown);//tir son bras droit verre le bas
   delay(5000);

   writeCommand(leftArmIn);//Ramène son bras gauche verre les hanche 
   delay(2000);
   
   writeCommand(rightArmIn);//Ramène son bras droit verre les hanche
   delay(2000);

   writeCommand(tiltBodyLeft);//Le corp du robot ce balance sur la gauche 
   delay(5000);

  writeCommand(turnLeft);//Le robot bouge en cercle pour aller sur sa gauche
  delay(5000);
 
   writeCommand(turnRight);//Le robot bouge en cercle pour aller sur sa droite
   delay(5000); 

   writeCommand(RSLeftHandStrike);//mouvement du bras gauche posture qui fait montré une chose
   delay(5000);

   writeCommand(RSLeftHandSweep);//mouvement du bras gauche posture qui ramase une chose
   delay(5000);

   writeCommand(tiltBodyRight);//Le corp du robot ce balance sur la droite
   delay(5000);

   writeCommand(RSRightHandSweep);//mouvement du bras droit se balance et se penche
   delay(5000);

   writeCommand(RSHigh5);//mouvement des du bras droit qui salut
   delay(5000);



   //Fonction stop

   writeCommand(stopMoving);//RoboSapiens en mode stop ou repos 
   delay(3000);




   // fonction du corp

   writeCommand(walkBackward);//Le robot bouge est recule est fait divers mouvement 
   delay(6000);

   writeCommand(walkForward);//Le robot bouge est avance est fait divers mouvement 
   delay(6000);


   //Fonction aléatoire 

   writeCommand(whistle);//RoboSapiens movement des bras aléatoire plus bruitage 
   delay(5000);


   writeCommand(roar);//RoboSapiens movement des bras aléatoire plus bruitage ( même    chose )
   delay(5000);

   writeCommand(burp);//RoboSapiens movement des genoux plus bruitage ( même chose )
   delay(5000);

   writeCommand(RSWakeUp);//RoboSapiens movement des deux bras plus bruitage ( même    chose )
   delay(5000);

   writeCommand(RSRightHandStrike);//RoboSapiens movement du bras droit plus hanche ( même chose )
   delay(5000);

   writeCommand(RSRightHandStrike2);//mouvement des deux bras 
   delay(5000);

   writeCommand(RSFart);//mouvement des de bras mode posture qui attend
   delay(5000);
  
}

Voila le code complet ^^
Moi
perso j'ai couper le son de la voix du robot , car sa me prenais la
tête , du coup je vais voir si cela est possible a lui rajouté une voix différente
pour chaque mouvement.
Voila les amies fin du tuto.


Création d'un Chatterbots en C++

12 novembre 2012 - 01:40

Bonjour as tous.

Voila sa fait des mois que je m'exerce a faire un chatterbots, en persévérant, j'ai réussi a lui donner une petite conscience, mais

il est loin d'être fini, j'ai encore du bouleau .

J'ai créer mon chatterbots a partir d'un IDE, le fameux CodeBlock , je suis a plus de 5000 ligne de code , et mon programme fait cas croitre .

J'ai lier mon chatterbots , a l'interface que j'ai fait sur mon bureau, vous aller comprendre quand vous aller voir la vidéo que je vais vous mettre.

Voila une démonstration par une capture vidéo de mon bureaux de mon PC:

http://www.dailymotion.com/video/xv0tq3_compile-de-mon-interface_creation

Je suis en trains dans faire un aussi, en PHP qui serra mis sur mon site qui figure en bas dans ma signature , il fonctionne très bien , mais il les loin d'être achevé aussi.

Voila.

Robot Ulysse

25 juin 2012 - 12:31

Voici mon robot Ulysse , il n'est pas encore fini , je méttré une déscription plus tard , pour le moment voici quelque photo.

Image IPB

Image IPB

Image IPB

Image IPB


Voila pour le moment.

@Cordialement.