Show Posts
Pages: 1 2 [3] 4 5 ... 8
31  International / Français / Re: Fixation d'écran 3.2" on: June 12, 2013, 03:58:36 pm
Bonjour, as tu une photo de ton écran ou un lien vers sa doc ?
Normalement il doit y avoir 4 trous de 3 mn au angles du lcd, tu perce un carre (de la taille de ton écran + 1 mn de chaque coté (laisse du jeu)) dans une plaque en alu ou en bois ou en ce que tu trouveras... et tu fixe l’écran a cette plaque avec des vis + ecrou de 2.5.
32  International / Français / Re: envoyer des données vers visual c++ on: May 28, 2013, 04:47:58 pm
Bonjour, utilise un câble usb et  li le port serie (dans ton code c++) sur le-quel est raccorder ta carte.
Sur ta carte tu envoi ta température vers le pc avec un simple "Serial.println(temp);"
Je ne connais pas Visual c++ mais cherche dans cette direction...
33  International / Français / Re: Assister un mouvement on: May 19, 2013, 04:55:59 pm
Bonjour, tu peux essayer ça =
http://www.lextronic.fr/P3289-capteur-de-flexion-112-cm.html
Pas mal de montages sur le net avec un gant qui actionne les servo-moteur d'une main robot...
Tu pourrais l'adapter a ton projet.
34  International / Français / Re: Menu lcd 16x2 on: May 04, 2013, 09:22:14 am
Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,16,2);

//variable menu

byte bp_haut = 9;
byte bp_bas = 10;
byte bp_gauche = 11;
byte bp_droite = 12;
byte bp_ok = 13;
int time_anti_rebond = 250;

boolean dans_menu_1 = false;
boolean dans_menu_2 = false;
boolean dans_menu_3 = false;

boolean dans_option_1_menu_1 = false;
boolean dans_option_2_menu_1 = false;
boolean dans_option_3_menu_1 = false;

boolean dans_option_1_menu_2 = false;
boolean dans_option_2_menu_2 = false;
boolean dans_option_3_menu_2 = false;

boolean dans_option_1_menu_3 = false;
boolean dans_option_2_menu_3 = false;
boolean dans_option_3_menu_3 = false;

byte num_menu = 1;
byte num_option = 1;

byte nb_max_menu = 3;
byte nb_max_option_menu_1 = 3;
byte nb_max_option_menu_2 = 3;
byte nb_max_option_menu_3 = 3;

void setup()
{   
 
  lcd.init();                     
  lcd.backlight();
  Serial.begin(9600);
 
  pinMode(bp_haut, INPUT_PULLUP);
  pinMode(bp_bas, INPUT_PULLUP);
  pinMode(bp_gauche, INPUT_PULLUP);
  pinMode(bp_droite, INPUT_PULLUP);
  pinMode(bp_ok, INPUT_PULLUP);
 
  Serial.println("Go menu prog");
  affiche_menu();//affiche le premier menu
 
}//fin setup

void loop()
{
 li_bp();//lecture des inputs des boutons poussoir
}

void appui_bp_ok()
{
 
  if (num_menu == 1)//entre dans le menu =>
    {
      dans_menu_1 = true;
      dans_menu_2 = false;
      dans_menu_3 = false;
     
      if (dans_option_1_menu_1 == true)//si appui sur "ok" quand l'option 1 est afficher
        {
          Serial.println("action option 1 menu 1");//execute l'action de l"option 1 du menu 1
        }
      if (dans_option_2_menu_1 == true)
        {
          Serial.println("action option 2 menu 1");
        }
      if (dans_option_3_menu_1 == true)
        {
          Serial.println("action option 3 menu 1");
        }
                 
      affiche_option_menu(1);// => et affiche l'option 1
     
    }
       
  if (num_menu == 2)
    {
      dans_menu_1 = false;
      dans_menu_2 = true;
      dans_menu_3 = false;
     
      if (dans_option_1_menu_2 == true)
        {
          Serial.println("action option 1 menu 2");
        }
      if (dans_option_2_menu_2 == true)
        {
          Serial.println("action option 2 menu 2");
        }
      if (dans_option_3_menu_2 == true)
        {
          Serial.println("action option 3 menu 2");
        }
                 
      affiche_option_menu(2);
    }

  if (num_menu == 3)
    {
      dans_menu_1 = false;
      dans_menu_2 = false;
      dans_menu_3 = true;
     
      if (dans_option_1_menu_3 == true)
        {
          Serial.println("action option 1 menu 3");
        }
      if (dans_option_2_menu_3 == true)
        {
          Serial.println("action option 2 menu 3");
        }
      if (dans_option_3_menu_3 == true)
        {
          Serial.println("action option 3 menu 3");
        }
                 
      affiche_option_menu(3);
    }

}//fin appui_bp_ok

void affiche_menu()
{
   
  if (num_menu > nb_max_menu)
    {
      num_menu = 1;
    }
  if (num_menu < 1)
    {
      num_menu = nb_max_menu;
    }
   
  Serial.print("menu : ");
  Serial.println(num_menu);
   
}//fin menu

void affiche_option_menu(byte dans_menu)
{
 
  if (dans_menu == 1)//affiche les options du menu 1
    {
      if (num_option > nb_max_option_menu_1)
        {
          num_option = 1;
        }
      if (num_option < 1)
        {
          num_option = nb_max_option_menu_1;
        }
       
      if (num_option == 1)
        {
          Serial.println("option 1 menu 1"); //affiche le nom de l'option
         
          dans_option_1_menu_1 = true;//passe la variable de l'option a true pour action si appui sur "ok"
          dans_option_2_menu_1 = false;
          dans_option_3_menu_1 = false;
         
         }
         
       if (num_option == 2)
        {
          Serial.println("option 2 menu 1");
         
          dans_option_1_menu_1 = false;
          dans_option_2_menu_1 = true;
          dans_option_3_menu_1 = false;
         
        }
       
       if (num_option == 3)
        {
          Serial.println("option 3 menu 1");
         
          dans_option_1_menu_1 = false;
          dans_option_2_menu_1 = false;
          dans_option_3_menu_1 = true;
         
        }
    }//fin si dans menu 1
   
  if (dans_menu == 2)
    {
      if (num_option > nb_max_option_menu_2)
        {
          num_option = 1;
        }
      if (num_option < 1)
        {
          num_option = nb_max_option_menu_2;
        }
       
      if (num_option == 1)
        {
          Serial.println("option 1 menu 2");
         
          dans_option_1_menu_2 = true;
          dans_option_2_menu_2 = false;
          dans_option_3_menu_2 = false;
         
        }
       
       if (num_option == 2)
        {
          Serial.println("option 2 menu 2");
         
          dans_option_1_menu_2 = false;
          dans_option_2_menu_2 = true;
          dans_option_3_menu_2 = false;
                   
        }
       
       if (num_option == 3)
        {
          Serial.println("option 3 menu 2");
         
          dans_option_1_menu_2 = false;
          dans_option_2_menu_2 = false;
          dans_option_3_menu_2 = true;
         
        }
       
    }//fin si dans menu 2
   
  if (dans_menu == 3)
    {
      if (num_option > nb_max_option_menu_3)
        {
          num_option = 1;
        }
      if (num_option < 1)
        {
          num_option = nb_max_option_menu_3;
        }
       
      if (num_option == 1)
        {
          Serial.println("option 1 menu 3");
         
          dans_option_1_menu_3 = true;
          dans_option_2_menu_3 = false;
          dans_option_3_menu_3 = false;
         
        }
       
       if (num_option == 2)
        {
          Serial.println("option 2 menu 3");
         
          dans_option_1_menu_3 = false;
          dans_option_2_menu_3 = true;
          dans_option_3_menu_3 = false;
                   
        }
       
       if (num_option == 3)
        {
          Serial.println("option 3 menu 3");
         
          dans_option_1_menu_3 = false;
          dans_option_2_menu_3 = false;
          dans_option_3_menu_3 = true;
         
        }
       
    }//fin si dans menu 3

 
}//fin affiche option menu

void exit_option_menu()
{
  dans_option_1_menu_1 = false;
  dans_option_2_menu_1 = false;
  dans_option_3_menu_1 = false;
 
  dans_option_1_menu_2 = false;
  dans_option_2_menu_2 = false;
  dans_option_3_menu_2 = false;
 
  dans_option_1_menu_3 = false;
  dans_option_2_menu_3 = false;
  dans_option_3_menu_3 = false;
 
  }

void exit_menu()
{
  dans_menu_1 = false;
  dans_menu_2 = false;
  dans_menu_3 = false;
 
  num_option = 1;//raz des num option
}

void li_bp()//lecture des entrees digital des bp
{
 
  if (digitalRead(bp_haut) == LOW)
    {
      //Serial.println("bp_haut");
     
      exit_menu();//raz des variable "dans_menu"
      exit_option_menu();//raz des variables "dans_option_menu"
      num_menu = num_menu - 1;//incremente les menus
      affiche_menu();//affiche le nom des menus
     
      delay(time_anti_rebond);
     
    }

  if (digitalRead(bp_bas) == LOW)
    {
      //Serial.println("bp_bas");
     
      exit_menu();
      exit_option_menu();
      num_menu = num_menu + 1;
      affiche_menu();
     
      delay(time_anti_rebond);
    } 

  if (digitalRead(bp_ok) == LOW)
    {
      //Serial.println("bp_ok");
      appui_bp_ok();
      delay(time_anti_rebond);
    }
 
  if (digitalRead(bp_droite) == LOW)
    {
      //Serial.println("bp_droite");
     
      exit_option_menu();//raz des variables "dans_option_menu"
     
      if (dans_menu_1 == true || dans_menu_2 == true || dans_menu_3 == true)
        {
          num_option = num_option + 1;//incrementes les options que si on est dans un des menu
        }
     
      if(dans_menu_1 == true)
        {
          affiche_option_menu(1);//une fois incrementer on affiche le nom de cette option
        }
       
      if(dans_menu_2 == true)
        {
          affiche_option_menu(2);
        }

      if(dans_menu_3 == true)
        {
          affiche_option_menu(3);
        }
       
      delay(time_anti_rebond);
     
    }//fin bp droite

  if (digitalRead(bp_gauche) == LOW)
    {
      //Serial.println("bp_gauche");
     
      exit_option_menu();
     
      if (dans_menu_1 == true || dans_menu_2 == true || dans_menu_3 == true)
        {
          num_option = num_option - 1;//decrementes les options que si on est dans un des menu
        }
     
      if(dans_menu_1 == true)
        {
          affiche_option_menu(1);
        }
       
      if(dans_menu_2 == true)
        {
          affiche_option_menu(2);
        }
     
      if(dans_menu_3 == true)
        {
          affiche_option_menu(3);
        }
       
      delay(time_anti_rebond);
     
    }//fin bp gauche
   
}//fin appui_bp

35  International / Français / Re: Menu lcd 16x2 on: May 04, 2013, 09:20:48 am
Bonjour, il y a quelque temps je me suis fais une "Base" de menu, pour un projet a qui comporte un afficheur 16x2 I2C.
3 menus et dans chaqu' un 3 sous menus
Je partage  smiley-wink =
(Dans le post suivant car trop de char...)
36  International / Français / Re: paramétrer un detecteur de mouvement on: April 16, 2013, 03:58:16 pm
Bonjour, avec ça pour la détection = http://www.gotronic.fr/art-detecteur-infrarouge-sen0018-19369.htm
et ça pour piloter la lumière = http://www.gotronic.fr/art-module-relais-dfr0017-19260.htm
(Sous réserve que le l'intensité et la tension supportés par le relais soit compatible avec ton montage...)
37  International / Français / Re: Comment envoyer son programme sur une Arduino pro mini ? on: April 16, 2013, 09:20:25 am
Bonjour, non ce n'est pas beaucoup plus compliqué.
Tu devras passer par un adaptateur de ce genre =
http://www.watterott.com/en/USB-2-Serial-Converter
38  International / Français / Re: Envoie par ondes FM on: April 07, 2013, 05:40:56 pm
Alors la il faut que dans le code de la carte "réceptrice" tu fase un  = Serial.println("bla,bla,bla")
Et cote pc un script d'un langage de ton choix (python pour faire simple) qui lit le port série et qui a la réception de "bla,bla,bla" exécute le logiciel de ton choix...
Bon courage smiley-wink
39  International / Français / Re: Envoie par ondes FM on: April 07, 2013, 05:20:02 pm
Un soft se lance ?
Soit plus précis ! Donne plus de details smiley-eek
40  International / Français / Re: Envoie par ondes FM on: April 07, 2013, 05:03:10 pm
Je me permet de te répondre :
- ça marchera très bien avec 2 uno, ou 1 uno et 1 nano, uno/mega ...
- il te faut obligatoirement 2 cartes (RX/TX)
41  International / Français / Re: Envoie par ondes FM on: April 07, 2013, 03:47:57 pm
Bonjour, oui grâce a ces émetteurs/récepteurs, tu peux envoyer et recevoir sans problème tout type de données.
Pour cela tu as besoin de la librairie "VirtualWire".
Regarde cet excellent tuto de skywodd =
http://skyduino.wordpress.com/2011/12/29/tutoriel-arduino-et-emetteurrecepteur-433mhz-virtualwire/

42  International / Français / Re: Projet "Retour à la base" on: April 03, 2013, 04:08:38 pm
ouai après ton post j'ai fais une rapide recherche "google" et j'ai bien vu les "râteaux" , mais au niveau code comment veux tu que je gère la puissance de la réception ?
Peut être que ce genre de tracer pour animaux agit comme un sonar ? on envoi un signal et on mesure le temps que met la réponse pour arriver ?
Plus le temps est court plus on émet dans la bonne direction.
43  International / Français / Re: Projet "Retour à la base" on: April 03, 2013, 03:46:14 pm
sur mes émetteur/récepteur 433 Mhz l'antenne est un simple fil 9/10 eme de 20 cm en tire bouchon...
Par antenne directionnelle tu veux dire = intégré mon module de réception radio dans une sorte de parabole imperméable au signal de l’émetteur et donc lorsque la rotation du servo amènera le récepteur dans l'axe de l’émetteur cela me donnera la direction de ma "base" ?
44  International / Français / Re: Projet "Retour à la base" on: April 03, 2013, 02:34:58 pm
Merci pour vos réponses.
Christian_R =
J'avais bien compris le principe d’émetteur radio sur la base et le récepteur sur le mobile, cette solution me semble bonne pour mon projet.
Je me débrouille bien en RX/TX 433Mhz, mais je bloque sur le fait de "détecter l'angle de puissance max", pour moi un émetteur propage a 360°, et je ne sais pas comment (coter récepteur) faire la différence entre un signal captait "pleine face " ou "de dos"  smiley-slim
As tu des infos ?
45  International / Français / Re: Projet "Retour à la base" on: April 02, 2013, 04:45:00 pm
Merci pour vos réponses.
Dommage pour la dérive, ça peut rester amusant à tester sur des petits espace ?
Pour la ligne blanche on va oublier... trop de contraintes d’aménagement.
J'aime bien l'idée de la balise, on va dire silencieuse donc radio ou ultrason.
Je comprend bien le principe, mais pour la mise en œuvre du capteur de puissance radio ou ultrason (mise a part la tourelle)  smiley-eek-blue
Peux tu m'en dire plus ?
Pages: 1 2 [3] 4 5 ... 8