Aller au contenu


Contenu de dydyouaki

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



#63977 Circuit interrupteur avec Delay

Posté par dydyouaki sur 26 février 2015 - 08:16 dans Electronique

Le problème c'est que je ne sais pas encore :wacko:

 

Je pense que ces LED UV consomme comme une LED normal 20mA , peut être un peu plus. Ce sont des LED de 5mm. 

 

Mais si une LED consomme 20mA , vous pensez q'un transistor pourrais suffire ? ma carte arduino ne risque rien ?




#63889 Circuit interrupteur avec Delay

Posté par dydyouaki sur 22 février 2015 - 03:52 dans Electronique

Salut !
Merci pour vos reponse. Alors voila je cherche un temporisateur.
Je me suis renseigner sur les liens joint et ça m'as aider. Le Probleme maintenant c'est qu'il faut 2 afficheurs 7 segment pour affiche le nombre de secondes (compte a rebours : 15 a 0) donc je me dis que se serait mieux d'utiliser une carte arduino avec un CI pour reduire les pins des afficheurs, je branche un bouton poussoir et un transistor qui servira d'interrupteur pour laisser passer les 12v au leds UV.
Est ce qu'en branchant un transistor a ma carte arduino celle ci ne risque rien ? Sachant que le transistor recevera du 12V et devra les distribuer a 36 leds UV ??



#63847 Circuit interrupteur avec Delay

Posté par dydyouaki sur 19 février 2015 - 06:52 dans Electronique

Salut ! 

 

Je viens a vous ce soir car je n'arrive pas a trouver une solution a mon probleme. 

 

J'ai une amie qui voudrais se lancer dans l'esthetique et elle a besoin d'un appareil UV pour secher le vernis a ongles de ses clientes. Je voudrais lui ajouter un interrupteur avec une fonction delay , je ne trouve pas le mot exact pour decrite ce que je veux. Mais je voudrais en fait que son appareil UV fonctionne pendant 15 secondes , le temps qu'il faut pour secher les ongles des clientes , car les exposer trop longtemps aux UV , rend des effets indesirables. 

 

Connaissez vous un circuit qui me permet de le rajouter a son appareil ou alors un lien avec l'article en question , car je ne sais pas quoi taper sur google.

 

Merci d'avance.




#62322 Robot telecommandé avec IR

Posté par dydyouaki sur 31 octobre 2014 - 10:19 dans Programmation

Effectivement j'ai fais une gaffe dans le schéma , voila le schéma rectifier.

Image(s) jointe(s)

  • CircuitV1.0.jpg



#62314 Presentation de U.Bot

Posté par dydyouaki sur 30 octobre 2014 - 11:18 dans Robots roulants, chars à chenilles et autres machines sur roues

voila la présentation de mon robot V1.0 et bientôt je mettrais la Version V2.0. Donc dans un premier temps les composants :

 

_Arduino (Mega2560 dans mon cas)

_Kit Magician Châssis (contient: 2 moteurs, 2 roues , un châssis , une roue folle , support piles)

_Contrôleur de moteur L293D

_Capteur infrarouge TSOP1838 (voir modèle joint)

_Télécommande infrarouge (télé, DVD, ou n'importe)

_Pile 9V (alimention Arduino)

_4 piles AA 1.5V (alimentation moteurs)

 

ensuite le schéma électronique (Le capteur Infrarouge n'est pas bon mais le câblage oui , regarder image jointe du capteur )

 

CircuitV1.0.jpg

 

Et pour finir le code ! 

Télécharger la bibliotheque :  NECIRrcv.h et installer la sur Arduino.

 

Ensuite il faut d'abord noter les codes Hex des touches de la télécommande pour les attribuer a des directions/ordres. Donc on upload le code suivant et des qu'il est uploader , ouvrir le serial monitor et appuyer sur une touches de la télécommande pour afficher a l'écran le code HEX de la touche pressée. Après avoir noter la touche et son code vous aller copier le code HEX dans la partie a changer du code :

// telecharger la librairie sur ce lien http://www.4shared.com/zip/JgqhuOpr/NECIRrcv.html
#include <NECIRrcv.h>

//declaration du capteur qui est sur le pin 10
#define IRPIN 10 
//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5

//Partie du code a changer ! 
#define n1 3877174785 //noter le code HEX ,reçu sur le serial monitor pour la touche 1
#define n2 3108437505 // faites de même avec les autres
#define n3 3191995905
#define n4 3058302465
#define n5 3125149185

NECIRrcv ir(IRPIN) ;
unsigned long ircode; // Variable servant à mémoriser le code reçu

void setup()
{
//reglage des moteurs en mode sortie
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);

Serial.begin(9600);
ir.begin() ;

}

void loop()
{
while (ir.available()) // tant que le capteur est disponible ...
{
// Lire et mémoriser le code dans la variable ircode
ircode = ir.read();
Serial.print(ircode);
switch(ircode)
{
case n1:
{
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
break;
}
case n2:
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
break;
}
case n3:
{
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
break;
}
case n4:
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
break;
}
case n5:
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
break;
}
} 
}
} 

Re-Uploader le code pour que le robot fonctionne avec la télécommande.

Image(s) jointe(s)

  • TSOP1838pinout.gif
  • magician-build-8.jpg
  • magician-build-4.jpg
  • photo.JPG



#62313 Robot telecommandé avec IR

Posté par dydyouaki sur 30 octobre 2014 - 11:15 dans Programmation

Alors comme promis voila la présentation de mon robot V1.0 et bientôt je mettrais la Version V2.0. Donc dans un premier temps les composants :

 

_Arduino (Mega2560 dans mon cas)

_Kit Magician Châssis (contient: 2 moteurs, 2 roues , un châssis , une roue folle , support piles)

_Contrôleur de moteur L293D

_Capteur infrarouge TSOP1838 (voir modèle joint)

_Télécommande infrarouge (télé, DVD, ou n'importe)

_Pile 9V (alimention Arduino)

_4 piles AA 1.5V (alimentation moteurs)

 

ensuite le schéma électronique est joint ci-dessous (Le capteur Infrarouge n'est pas bon mais le câblage oui , regarder image jointe du capteur )

 

Et pour finir le code ! 

Télécharger la bibliotheque :  NECIRrcv.h et installer la sur Arduino.

 

Ensuite il faut d'abord noter les codes Hex des touches de la télécommande pour les attribuer a des directions/ordres. Donc on upload le code suivant et des qu'il est uploader , ouvrir le serial monitor et appuyer sur une touches de la télécommande pour afficher a l'écran le code HEX de la touche pressée. Après avoir noter la touche et son code vous aller copier le code HEX dans la partie a changer du code :

// telecharger la librairie sur ce lien http://www.4shared.com/zip/JgqhuOpr/NECIRrcv.html
#include <NECIRrcv.h>

//declaration du capteur qui est sur le pin 10
#define IRPIN 10 
//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5
 
//Partie du code a changer ! 
#define n1 3877174785 //noter le code HEX ,reçu sur le serial monitor pour la touche 1
#define n2 3108437505 // faites de même avec les autres
#define n3 3191995905
#define n4 3058302465
#define n5 3125149185

NECIRrcv ir(IRPIN) ;
unsigned long ircode; // Variable servant à mémoriser le code reçu

void setup()
{
     //reglage des moteurs en mode sortie
     pinMode(motor1Pin1, OUTPUT);
     pinMode(motor1Pin2, OUTPUT);
     pinMode(motor2Pin1, OUTPUT);
     pinMode(motor2Pin2, OUTPUT);

  Serial.begin(9600);
  ir.begin() ;
  
}
 
void loop()
{
   while (ir.available()) // tant que le capteur est disponible ...
   {
     // Lire et mémoriser le code dans la variable  ircode
      ircode = ir.read();
      Serial.print(ircode);
 switch(ircode)
    {
        case n1:
        {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
        case n2:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
                break;
        }
        case n3:
        {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
                break;
        }
        case n4:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
        case n5:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
  }     
  }
}

Re-Uploader le code pour que le robot fonctionne avec la télécommande.

Image(s) jointe(s)

  • TSOP1838pinout.gif
  • CircuitV1.0.jpg
  • magician-build-8.jpg
  • magician-build-4.jpg
  • photo.JPG



#62169 Robot telecommandé avec IR

Posté par dydyouaki sur 24 octobre 2014 - 02:43 dans Programmation

Merci beaucoup pour votre aide !! surtout a toi ChristianR tu m'as vraiment bien aide ;)

Je vais prochainement vous partager une vidéo de mon robot "en action" avec le matériel utilisé et les schéma électronique. Je vais aussi partager la 1ère version du robot lorsqu'il était autonome avec son capteur US et son servomoteur qui lui sert de balayage. Et par la suite je vais essayer d'utiliser la télécommande IR pour que le robot passe en mode autonome ou en mode télécommandé chaque mode sera représenté par une touche de la télécommande.

 

En tout cas merci !!  




#62167 Robot telecommandé avec IR

Posté par dydyouaki sur 24 octobre 2014 - 02:38 dans Programmation

Je suis vraiment idiot ! Je l'ai changer et j'ai mis 

 Serial.print(ircode);

Et lorsque j'ai uploader mon code le Serial Moniteur m'afficher des valeurs completement differentes de ce que j'avais pre-programmer. J'ai donc decider de changer les anciennes valeurs avec ces nouvelles et la ... !!  Le robot c'est mis a fonctionner exactement comme je le voulais !! 

Je vous partage le code donc finis et correct : 

// telecharger la librairie sur ce lien http://www.4shared.com/zip/JgqhuOpr/NECIRrcv.html
#include <NECIRrcv.h>

//declaration du capteur qui est sur le pin 10
#define IRPIN 10 
//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5
 
//declaration des mouvements + codes telecommande en DEC
#define n1 3877174785 
#define n2 3108437505
#define n3 3191995905
#define n4 3058302465
#define n5 3125149185

NECIRrcv ir(IRPIN) ;
unsigned long ircode; // Variable servant à mémoriser le code reçu

void setup()
{
     //reglage des moteurs en mode sortie
     pinMode(motor1Pin1, OUTPUT);
     pinMode(motor1Pin2, OUTPUT);
     pinMode(motor2Pin1, OUTPUT);
     pinMode(motor2Pin2, OUTPUT);

  Serial.begin(9600);
  ir.begin() ;
  
}
 
void loop()
{
   while (ir.available()) // tant que le capteur est disponible ...
   {
     // Lire et mémoriser le code dans la variable  ircode
      ircode = ir.read();
      Serial.print(ircode);
 switch(ircode)
    {
        case n1:
        {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
        case n2:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
                break;
        }
        case n3:
        {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
                break;
        }
        case n4:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
        case n5:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
  }     
  }
}




#62161 Robot telecommandé avec IR

Posté par dydyouaki sur 24 octobre 2014 - 07:18 dans Programmation

Salut ,

 

Voila j'ai donc rajouter Serial.print(IRPIN); dans la boucle loop et lorsque j'upload le code le Serial Moniteur me fait défiler des 010101010101 a la suite sans arrêt. Normalement il devrait attendre de recevoir des instructions par la télécommande IR et m'afficher a l'écran la touche pressée. 

 

Je vais essayer de voir ce que je peux faire pour y remédier , si vous avez des conseils ou des infos n'hésitez pas !

 

Merci.




#62067 Robot telecommandé avec IR

Posté par dydyouaki sur 18 octobre 2014 - 11:08 dans Programmation

j'ai telecharger la bibliotheque "NECIRrcv" celle qui permet d'utiliser ir.read et ir.available et donc j'ai modifier mon code

#include <NECIRrcv.h>


#define IRPIN 10
//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5
 
//declaration des mouvements + codes telecommande en DEC
#define n1 2155813095
#define n2 2155831965
#define n3 2155840125
#define n4 2155844205
#define n5 2155848285

NECIRrcv ir(IRPIN) ;
unsigned long ircode; // Variable servant à mémoriser le code reçu

void setup()
{
     //reglage des moteurs en mode sortie
     pinMode(motor1Pin1, OUTPUT);
     pinMode(motor1Pin2, OUTPUT);
     pinMode(motor2Pin1, OUTPUT);
     pinMode(motor2Pin2, OUTPUT);

  Serial.begin(9600);
  ir.begin() ;
  
}
 
void loop()
{
   while (ir.available()) // tant que le capteur est disponible ...
   {
     // Lire et mémoriser le code dans la variable  ircode
      ircode = ir.read();
 switch(ircode)
    {
        case n1:
        {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
        case n2:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
                break;
        }
        case n3:
        {
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
                break;
        }
        case n4:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
        case n5:
        {
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
                break;
        }
    }     
  }
}

Le code s'upload avec succès mais le robot lui ne fonctionne pas ou pluton ne réagit pas avec la télécommande.

Avez vous une idée du probleme ? 




#62060 Robot telecommandé avec IR

Posté par dydyouaki sur 18 octobre 2014 - 08:30 dans Programmation

Oui c'est vrai et en plus de cela je me suis rendu compte que je n'avais pas déclarer mon capteur au début du code !! Je l'ai donc modifié : 

#include <IRremote.h>
#include <IRremoteInt.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5
 
//declaration des mouvements + codes telecommande en DEC
#define AVANT 2155813095
#define ARRIERE 2155831965
#define GAUCHE 2155840125
#define DROITE 2155844205
#define STOP 2155848285

unsigned long ircode; // Variable servant à mémoriser le code reçu

void setup()
{
     //reglage des moteurs en mode sortie
     pinMode(motor1Pin1, OUTPUT);
     pinMode(motor1Pin2, OUTPUT);
     pinMode(motor2Pin1, OUTPUT);
     pinMode(motor2Pin2, OUTPUT);

  Serial.begin(9600);
  irrecv.enableIRIn(); //commencer la reception IR
}
 
void loop()
{
   while (ir.available()) // tant que le capteur est disponible ...
   {
     // Lire et mémoriser le code dans la variable  ircode
      ircode = ir.read();
 
      if (ircode == AVANT) avant();
      if (ircode == ARRIERE) arriere();      
      if (ircode == GAUCHE) gauche();
      if (ircode == DROITE) droite();
      else if (ircode == STOP) arret();
   }
}
 
void avant() //aller en avant
{
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
}
 
void arriere() //aller en arriere
{
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
}
 
void gauche() //aller a droite
{
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
}
 
void droite() //aller a gauche
{
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
}
 
void arret() //stop/arret
{
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
}

et donc il me reste une petite erreur qui est : 

 

Robot_IR_1.ino: In function 'void loop()':
Robot_IR_1:37: error: 'ir' was not declared in this scope
 
Quel est le probleme avec  ir.available et ir.read  ???



#62052 Robot telecommandé avec IR

Posté par dydyouaki sur 18 octobre 2014 - 06:38 dans Programmation

Je vous poste la librairie entièrement en .zip cela sera surement plus simple.

Fichier(s) joint(s)




#62030 Robot telecommandé avec IR

Posté par dydyouaki sur 17 octobre 2014 - 09:09 dans Programmation

Salut,

 

Je reviens vers vous parce que cela fait 3 jours que je cherche une solution pour le problème programmation mais sans résultats. Quelqu'un aurais peut être une solution ou une astuce a me conseiller ??




#61971 Robot telecommandé avec IR

Posté par dydyouaki sur 14 octobre 2014 - 08:48 dans Programmation

Lorsque je clique sur la librairie IRremote cela m'ajoutes ces 2 lignes au début du code :

 

#include <IRremote.h>

#include <IRremoteInt.h>
 
Peut être ai je fais une mauvaise manipulation ou oublier quelques choses pour installer la librairie ? 
 
J'ai télécharger la librairie en format ZIP , je la décompresse et le dossier décompresser doit être copier dans "Librairies" dans le dossier Arduino (qui chez moi ce trouve dans Program Files) 
C'est bien ca , non ?
 
Et sinon comment puis-je coller les fonction et les définition du IRremote.h et IRremoteInt.h ?



#61955 Robot telecommandé avec IR

Posté par dydyouaki sur 13 octobre 2014 - 01:18 dans Programmation

Oui et par précaution je viens de le re-télécharger et j'ai placé le dossier dans 'librairies" qui ce trouve dans le dossier Arduino. 




#61949 Robot telecommandé avec IR

Posté par dydyouaki sur 13 octobre 2014 - 09:29 dans Programmation

Salut a tous ,

 

voila donc je viens de réaliser dernièrement un robot éviteur d'obstacle , j'ai utiliser un capteur Ultrason ,un servo pour le balayage du capteur ,un châssis Magician acheter sur internet avec 2 moteurs , un L293D et le tout basé sur une carte Arduino Mega2560. Il marche très bien et prochainement je vous ferais une vidéo de celui ci avec des explications et bien sur le code source ;)

 

Mais en attendant j'ai besoin de vous car je voudrais rendre ce robot un peu plus Sympa en lui rajoutant le contrôle par une télécommande infrarouge (télécommande de télévision).

Donc dans un premier temps je vais rendre ce robot seulement contrôlable par la télécommande IR , je vais enlever le capteur US et le servo de balayage. Quand j'aurais réussis je mettrais ces 2 options au robot : Autonome(capteur US) et contrôlable (Télécommandé).

 

 

J'ai donc commencé a bossé sur la partie Programmation de mon robot puisqu'il est déjà tout prêt. J'utilise un capteur IR (voir image jointe) et une télécommande de télévision que j'ai trouvé. J'ai donc utiliser ce code pour recevoir les données de ma télécommande et les convertir en nombre Décimale :

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC);
    irrecv.resume(); // Receive the next value
  }
  delay(100);
} 

J'ai ouvert le moniteur et noter les touches que j'avais besoin en l'occurrence :  les 4 touches fléchés pour les directions du robot et le bouton central OK pour l'arrêt du robot.

 

Après cela j'ai essayé le code du robot : 

#include <IRremote.h>
#include <IRremoteInt.h>

//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5
 
//declaration des mouvements + codes telecommande en DEC
#define AVANT 2155813095
#define ARRIERE 2155831965
#define GAUCHE 2155840125
#define DROITE 2155844205
#define STOP 2155848285


 
unsigned long ircode; // Variable servant à mémoriser le code reçu
 
void setup()
{
     //reglage des moteurs en mode sortie
     pinMode(motor1Pin1, OUTPUT);
     pinMode(motor1Pin2, OUTPUT);
     pinMode(motor2Pin1, OUTPUT);
     pinMode(motor2Pin2, OUTPUT);
 
     ir.begin(); //commencer la reception IR
}
 
void loop()
{
   while (ir.available()) // tant que le capteur est disponible ...
   {
     // Lire et mémoriser le code dans la variable  ircode
      ircode = ir.read();
 
      if (ircode == AVANT) avant();
      if (ircode == ARRIERE) arriere();      
      if (ircode == GAUCHE) gauche();
      if (ircode == DROITE) droite();
      else if (ircode == STOP) arret();
   }
}
 
void avant() //aller en avant
{
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
}
 
void arriere() //aller en arriere
{
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
}
 
void gauche() //aller a droite
{
    digitalWrite(motor1Pin1, HIGH);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, HIGH);
}
 
void droite() //aller a gauche
{
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, HIGH);
    digitalWrite(motor2Pin1, HIGH);
    digitalWrite(motor2Pin2, LOW);
}
 
void arret() //stop/arret
{
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
}

mais celui me donne une erreur :

sketch_oct13b.ino: In function 'void setup()':
sketch_oct13b:31: error: 'ir' was not declared in this scope
sketch_oct13b.ino: In function 'void loop()':
sketch_oct13b:36: error: 'ir' was not declared in this scope
 
Donc je ne comprends pas quelle est l'erreur dans cette ligne car je dois lancer la réception Infrarouge a ce moment la ( a moins qu'il y a une autre manière)
Si quelqu'un pourrait m'éclairer sur ce point.
 
Et pour finir ,quelle est la distance maximum a peu prés que je peux garder entre le robot et la telecommande IR ?
 
Merci de votre aide.

Image(s) jointe(s)

  • image9.gif



#61004 Prototype module bluetooth

Posté par dydyouaki sur 02 juillet 2014 - 10:36 dans Autres projets inclassables

Personne ne connait ce shield ???



#60985 Prototype module bluetooth

Posté par dydyouaki sur 26 juin 2014 - 07:16 dans Autres projets inclassables

J'ai commander ce shield mais je voulais savoir si je vais devoir modifier mon code , pour les pin 0 et 1 qui sont TX et RX ?



#60978 Prototype module bluetooth

Posté par dydyouaki sur 21 juin 2014 - 10:30 dans Autres projets inclassables

Avec mon cousin ont a testé une application mais celle ci ne trouve pas le module bluetooth , après quelques recherches sur internet j'ai découvert qu'il fallait un module bluetooth V4.0 qui est détectable par les produits Apple. Et j'ai donc trouver ce shield mais je ne sais pas comment m'en servir (j'ai lus les explications)

Dois je brancher une antenne (comme noter dans les explications)?
est ce que je dois modifier mon code ?
si oui en raison de quoi et comment ?


Merci !!



#60975 Prototype module bluetooth

Posté par dydyouaki sur 20 juin 2014 - 12:59 dans Autres projets inclassables

Salut !


J'ai tester le moteur vibreur avec mon transistor et ca marche parfaitement bien !

J'ai uploader ce code sur ma carte Arduino qui me permet d'allumer/éteindre le moteur en appuyant sur 1 ou 0 (1-allume , 0-éteint) :

void setup()
{
  pinMode(2, OUTPUT);// Pin numero 2 mit en mode sortie    
  Serial.begin(9600); //initialise le Serial a 9600bps
}

void loop()
{
   while (Serial.available() == 0); // Attend que le charactere arrive
   char b = Serial.read(); // Le lecteur du Serial est représente par la lettre b
   if(b =='1') { // Si b = 1 alors ...
     digitalWrite(2, HIGH);   // Allume le moteur
   }
   if(b == '0'){ // Si b = 0 alors ...
     digitalWrite(2, LOW);  // Éteint le moteur
   }
   delay(100); // Delai de 100 millisecondes
}

J'utilise un logiciel sur PC "Teraterm" qui permet de se connecter via bluetooth a mon module et a envoyer des données.

Maintenant que ca marche , il faut modifier un peu le code pour que des que le téléphone se déconnecte du module (a cause de la distance entre eux) le moteur vibreur se met en route.
Donc toi Mike118 tu m'avais dis

Encore plus simple : le module que tu utilise a très certainement une broche "status" qui passe à 5V lorsque le module est connecté et à 0 lorsque celui ci n'est plus connecté ;)/>


Je n'ai pas très bien compris ?!



#60956 Prototype module bluetooth

Posté par dydyouaki sur 17 juin 2014 - 06:40 dans Autres projets inclassables

Salut ,

Je ne suis pas chez moi , je n'ai pas encore tester le transistor avec mon moteur.


Pour le projet je vais changer de methode , pour la detection du signal on vas mettre ceci de cote. On vas juste faire un peu plus simple , on connecte le telephone au module et des qu'ils se deconnecte l'un de l'autre (a cause de la distance entre eux) le moteur vibreur se met en route. Il faudra penser a un bouton pour arreter le moteur :P/> Je pense que cette methode sera plus simple a faire fonctionner et peut etre plus tard revenir sur l'idee de la force du signal.

En tout les cas , j'avais une petite question : comment faire pour que le circuit electronique comprenne qu'il s'est deconnecter du telephone ? c'est dans la partie programmation arduino ou la programmation de l'application ?

En tout les cas merci.



#60933 Prototype module bluetooth

Posté par dydyouaki sur 14 juin 2014 - 11:54 dans Autres projets inclassables

Oui, par contre en fonction du transistor que tu utilise, tu dois ajouter une petite résistance entre la pin digital et la base ( cas d'un transistor bipolaire ) , la valeur de cette résistance tu peux la trouver dans la datasheet de ton transistor ;)/> ( Pas besoin de cette résistance si tu utilise un MOS )


Ou est ce précisé ?? j'utilise un transistor bipolaire NPN - 2n2222a , je ne vois pas ou cela est notifié dans le datasheet.



#60929 Prototype module bluetooth

Posté par dydyouaki sur 14 juin 2014 - 09:14 dans Autres projets inclassables

Non ;)/> mais fais un schémas =) Petit conseil regarde du côté des "montage à émetteur commun " ;)/>


plutôt comme ca ?

Image(s) jointe(s)

  • Sans titre.png



#60927 Prototype module bluetooth

Posté par dydyouaki sur 14 juin 2014 - 07:50 dans Autres projets inclassables

Mettre le moteur sur l'émetteur, placer le pin digital sur le collecteur et du 5 volt a la base ?



#60911 Prototype module bluetooth

Posté par dydyouaki sur 13 juin 2014 - 11:43 dans Autres projets inclassables

Au fait ,

Ais je besoin d'un contrôleur de moteur pour un petit moteur vibrateur ? ou un simple diode suffit pour ne pas que le courant entre dans la carte arduino ?