Telecommande IR pour handicapée

Support pour le kit de communication infra rouge (IR)

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mar 25 Juin 2013 08:03

Bonjour phil, oui dans la librairies de arduino et ouvert le sketch IRrecvDump.pde , il s arrête a la ligne IRrecv irrecv(RECV_PIN); et voila la liste des erreurs :
IRrecvDump:13: error: variable or field 'dump' declared void
IRrecvDump:13: error: 'decode_results' was not declared in this scope
IRrecvDump:13: error: 'results' was not declared in this scope
IRrecvDump:13: error: 'IRrecv' does not name a type
IRrecvDump:15: error: 'decode_results' does not name a type
IRrecvDump.pde: In function 'void setup()':
IRrecvDump:20: error: 'irrecv' was not declared in this scope
IRrecvDump.pde: At global scope:
IRrecvDump:28: error: variable or field 'dump' declared void
IRrecvDump:28: error: 'decode_results' was not declared in this scope
IRrecvDump:28: error: 'results' was not declared in this scope

Je suis conscient que c est quelque chose sans doute de simple que j ai pas compris
Au sujet des codes a quoi ca doit ressembler
Bonne journée
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Mar 25 Juin 2013 11:24

En fait, je pense que c'est la librairie qui tu n'as pas installé correctement.

Voila la marche a suivre :
1 - ouvrir le logiciel arduino et faire File => Preference
2 - noter l'emplacement du sketchbook
3 - fermer l'IDE arduino
4 - télécharger la lib ici => https://github.com/shirriff/Arduino-IRremote/archive/master.zip. normalement ce lien fait telecharger un .zip qui s'appelle "Arduino-IRremote-master.zip"
5 - aller dans le répertoire trouvé dans le point 2
6 - normalement il y a un répertoire "libraries". S'il n'existe pas, il faut le créer
7 - coller le .zip dans le répertoire libraries et le dezipper ici
8 - renommer le répertoire "Arduino-IRremote-master" en "IRremote"
9 - ouvrir le répertoire IRremote
10 - si dans ce répertoire on a les fichier suivants : "IRremote.cpp, IRremote.h, IRremoteInt.h, keywords.txt, LICENSE.txt, readme et le repertoire "examples"" c'est bon. Sinon, en fonction de la manière dont à été dezippé le .zip, il est possible qu'il y ai encore un répertoire Arduino-IRremote-master... dans ce cas, copier coller des fichiers qu'il contient dans le répertoire IRremote.
11 - Relancer l'IDE arduino
12 - C'est fini

Je sais pas si c'est très clair mais tout y est !!!
Dernière édition par phil le Mar 25 Juin 2013 16:17, édité 3 fois.
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mar 25 Juin 2013 12:40

Merci phil, bien sur ça marche, je retrouve ce code après essai avec 2 touches de la tc :

A9DA7BD5
Unknown encoding: A9DA7BD5 (32 bits)
Raw (50): 17812 14400 -550 1400 -600 1450 -600 1400 -600 1450 -550 1450 -550 1450 -550 1500 -500 1400 -600 1450 -900 1400 -600 1400 -600 1400 -650 1400 -550 1400 -650 1400 -900 1400 -600 1400 -600 1400 -600 1400 -600 1400 -600 500 -1500 450 -1550 450 -1600 400
E189E447
Unknown encoding: E189E447 (32 bits)
Raw (50): 26864 14400 -600 1500 -500 1500 -500 1450 -550 1500 -550 1500 -450 1550 -500 1450 -550 1500 -500 1500 -500 1450 -800 1250 -750 1450 -550 1500 -500 1450 -550 1500 -500 1450 -550 1450 -550 1450 -600 500 -1450 500 -1500 1600 -600 1450 -600 1400 -550 1400
Il me reste a tester l émission
Encore merci pour ton aide et ta patience
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Mar 25 Juin 2013 13:22

Cool :)

La bonne méthode devrai être :

Code: Tout sélectionner
#include <IRremote.h>

IRsend irsend;

unsigned int code1[50]={
  17812,14400,550,1400,600,1450,600,1400,600,1450,550,1450,550,1450,550,1500,500,1400,600,1450,900,1400,600,1400,600,1400,650,1400,550,1400,650,1400,900,1400,600,1400,600,1400,600,1400,600,1400,600,500,1500,450,1550,450,1600,400};

void setup()
{
  Serial.begin(9600);
  irsend.sendRaw(code1,50,38);
}

void loop() {
}





Cependant, j'ai jamais essayé avec le format raw...
Tiens moi au courant
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mar 25 Juin 2013 18:44

Ok phil , tu mas donné une partie du programme pour exploiter le code récupéré, pour gagner un peu de temps il me faudrait un exemple de programme complet avec une sortie ir pour faire un test, après bien sur a moi de faire le programme complet :oops:
a +
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Mer 26 Juin 2013 09:52

Le sketch de mon précédent message est sensé envoyer le premier code de ta liste ('A9DA7BD5
Unknown encoding: A9DA7BD5 (32 bits) Raw (50): 17812 14400 ....)

Pour le tester, il suffit que tu connecte une led IR + une résistance entre la pin 3 et le GND (anode sur la pin 3 et cathode sur le GND) et que tu charge ce code.

Au niveau du principe, il envoie le code dans le setup donc pour le réémettre il suffit d'appuyer sur le bouton reset.
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mer 26 Juin 2013 12:17

Bonjour, dans le sketch j ai rien vu concernant la pin 3 ?
bon je vais essayer
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Mer 26 Juin 2013 13:34

En fait la pin de connexion de la led IR est définie en dur dans la librairie
//The IR output will be on pin 3 (OC2B).

C'est donc normal qu'il n'y ai pas de référence de cette pin dans le code
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mer 26 Juin 2013 15:08

Ca fonctionne il faut simplement enlever le premier nombre du code Bravo phil
il faut que j enchaîne les codes avec des tempos entre les cycles , et l envois d un signal buzzer au début de chaque cycle et un autre different a la fin
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mer 26 Juin 2013 17:07

Voici mon code avec seulement 2 émission IR pour teste il fonctionne
Hésité pas a corriger
Code: Tout sélectionner
int buzzer1=4;
int buzzer2=5;

#include <IRremote.h>

IRsend irsend;

unsigned int lavage1[50]={
  14400,550,1400,600,1450,600,1400,600,1450,550,1450,550,1450,550,1500,500,1400,600,1450,900,1400,600,1400,600,1400,650,1400,550,1400,650,1400,900,1400,600,1400,600,1400,600,1400,600,1400,600,500,1500,450,1550,450,1600,400};
unsigned int bidet1[50]={
  14400,600,1500,500,1500,500,1450,550,1500,550,1500,450,1550,500,1450,550,1500,500,1500,500,1450,800,1250,750,1450,550,1500,500,1450,550,1500,500,1450,550,1450,550,1450,600,500,1450,500,1500,1600,600,1450,600,1400,550,1400};

void setup()
{
  pinMode(4,OUTPUT);
  digitalWrite(buzzer1, HIGH); //Sonne le buzzer pour prevenir
  delay(500);                  // sonne pendant 0.5s
  digitalWrite(buzzer1, LOW);
 
  Serial.begin(9600);
  irsend.sendRaw(lavage1,50,38);
  delay(1*1000);               // attend la fin du cycle de lavage
 
  digitalWrite(buzzer1, HIGH); //Sonne le buzzer pour prevenir
  delay(500);                  // sonne pendant 0.5s
  digitalWrite(buzzer1, LOW);
  Serial.begin(9600);
  irsend.sendRaw(bidet1,50,38);
}

void loop() {
}

michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Jeu 27 Juin 2013 10:03

voila une bonne nouvelle !!!
pas de remarque particulière sur ton code. Tiens moi au courant de tes avancées
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Lun 1 Juil 2013 10:25

Bonjour, encore besoin de renseignement, comment faire un saut de programme, exemple si j appui sur la touche 1 je commence le sketch au début et fait tout le cycle , si j appui sur la touche 2 je saute une partie du sketch dont je veux pas
voila
Merci a l avance
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Lun 1 Juil 2013 23:15

tout dépend de ce que tu veux faire exactement.

Pour info, un programme Arduino est composé de 2 parties
1 le setup qui s’exécute une seule fois lors de la mise sous tension.
2 la loop qui comme son nom l'indique tourne à l'infini

Les commande de base pour lire état d'un bouton poussoir sont
Code: Tout sélectionner

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);     
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);     
}

void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {     
    // turn LED on:   
    digitalWrite(ledPin, HIGH); 
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}


Ce code provient des exemples de l'IDE Arduino qui sont dans file=> examples. Le nom de ce sketch est boutton
Tu trouveras dans les exemple plein de méthodes pour les montages de base. N’hésite pas à les essayer et a fouiller un peu dedans ;)
Le principe est le suivant
Au début de la loop, je lis l’état de mon bouton ( buttonState = digitalRead(buttonPin);) et je stocke son état dans la variable buttonState.

ensuite si buttonState est "HIGH" (etat haut, +5 V...) J'allume la led
sinon j’éteins la led.

Pour ton cas, j'imagine que tu va avoir plusieurs boutons qui vont emmètre différents code IR
Le code pourra ressembler à ça
Code: Tout sélectionner
const int button1Pin = 8;
const int button2Pin = 9;
const int button3Pin = 10;

int button1State = 0; 
int button2State = 0; 
int button3State = 0; 

void setup() {
  pinMode(button1Pin, INPUT);     
  pinMode(button2Pin, INPUT);     
  pinMode(button3Pin, INPUT);     
  digitalWrite(button1Pin, HIGH); 
  digitalWrite(button2Pin, HIGH); 
  digitalWrite(button3Pin, HIGH); 
}

void loop(){

  button1State = digitalRead(button1Pin);
  button2State = digitalRead(button2Pin);
  button3State = digitalRead(button3Pin);

  if (button1State == LOW) {     
    // envoyer le code 1
  }
  if (button2State == LOW) {     
    // envoyer le code 2
  }
  if (button3State == LOW) {     
    // envoyer le code 3
  }
}


Petit commentaire pour ce code, j'utilise les "internal pullup" grace aux commandes digitalWrite(button1Pin, HIGH); digitalWrite(button2Pin, HIGH); et digitalWrite(button3Pin, HIGH);
Il te suffit donc de câbler une pin de ton bouton poussoir au GND et l'autre à la pin 8, 9 ou 10 suivant le bouton
Cela permet d’éviter de câbler une résistance de pullup
Plus de détails ici
Avec pullup http://arduino.cc/en/tutorial/button
Sans pullup (internal pulllup) http://www.instructables.com/id/Arduino-Button-Tutorial/
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Mar 2 Juil 2013 20:06

Merci phil, une question il existe une fonction sur l arduino qui le met en économie de batterie pour faire durer la pile?
sinon je me débrouille avec un transistor piloté avec une sortie qui le basculé hors tension a la fin du cycle, a moins qu il ne consomme pas? une durée de pile 9v sur 12 mois est acceptable
A+
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude phil » Mar 2 Juil 2013 21:26

michel5650 a écrit:Merci phil, une question il existe une fonction sur l arduino qui le met en économie de batterie pour faire durer la pile?
sinon je me débrouille avec un transistor piloté avec une sortie qui le basculé hors tension a la fin du cycle, a moins qu il ne consomme pas? une durée de pile 9v sur 12 mois est acceptable
A+



En effet une telle fonction existe : c'est la fonction sleep

Tu trouveras quelques références ici
http://playground.arduino.cc/Learning/arduinoSleepCode ==> Cet exemple utilise une interruption externe. Le problème c'est que les interruptions externes sont au nombre de deux sur un arduino uno et elles utilisent les pins 2 et/ou 3. Comme ton système utilise déjà la pin 3 pour la led IR, il ne reste plus que la pin 2

Sinon, il y a une autre méthode ; le WDT
http://donalmorrissey.blogspot.fr/2010/04/sleeping-arduino-part-5-wake-up-via.html

Si tu as tout plein de bouton a gerer, le mieux pour économiser de l’énergie est peut être de "réveiller" ton arduino toute les 0,2 secondes, vérifier si tu as un bouton appuyé, si oui => Envoie d'un code IR, sinon sleep pour 0,2 secondes...

Pour économiser de l’énergie, il serai peut être possible de faire tourner ton atmega à 8 Mhz comme dans ce tuto : http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Enfin une fois ton code bien achevé, il serai peut être plus efficace en terme d'énergie d'utiliser un ATTINY85 qui tourne à 1Mhz. Tu pourrai alors utiliser une pile bouton. Si tu retiens cette solution, il faudra que je refasse une passe sur la lib que j'ai porté sur attiny85, elle ne gère que les horloge à 8 Mhz et le codage NEC (pour le moment...)
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Sam 10 Aoû 2013 17:14

Bonjour phil, un mot pour te remercier et te dire que ma tc commande fonctionne avec 3 boutons
Pour l’économie de pile j’ai utilisé un relais Reed qui est d’abord alimenté par les boutons (avec resistances et diodes) ensuite par l Arduino qui le maintien jusqu’ a la fin du cycle comme ça je n’ai aucune consommation en dehors de l’utilisation
A bientôt et bon mois d’aout peut être bonne vacance
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Lun 12 Aoû 2013 12:58

Bonjour, je suis a ma deuxième télécommande WC pour handicapé l a maison a 2 WC, le deuxième n est pas de la même marque
Seulement l appareil ne réagit pas au code !

je récupère bien le code le voici :
FFFFFFFF
FFFFFFFF (0 bits)
Raw (82): -8000 500 -600 400 -1500 500 -1500 550 -400 550 -1450 500 -500 550 -1450 500 -1500 550 -450 500 -500 550 -450 500 -600 400 -500 500 -500 500 -1450 650 -350 550 -450 600 -1400 550 -550 450 -1450 500 -1500 500 -500 500 -1550 450 -1500 550 -450 500 -1450 500 -1600 450 -450 500 -1500 550 -450 550 -1450 500 -1500 500 -500 450 -550 500 -500 550 -400 500 -1500 550 -450 550 -450 500 -1550 400

le code FFFFFFFF est peut être utilisé pour dire quelle code sera utilisé pour éviter les interférence entre appareils, mais je ne sais comment l envoyer avant la séquence (cette fonction existe dans la notice )

j utilise la même base que ma première télécommande modifier comme ceci:

#include <IRremote.h>

IRsend irsend;
unsigned int lavage[82]={500,600,400,1500,500,1500,550,400,550,1450,500,500,550,1450,500,1500,550,450,500,500,550,450,500,600,400,500,500,500,500,1450,650,350,550,450,600,1400,550,550,450,1450,500,1500,500,500,500,1550,450,1500,550,450,500,1450,500,1600,450,450,500,1500,550,450,550,1450,500,1500,500,500,450,550,500,500,550,400,500,1500,550,450,550,450,500,1550,400};
-
irsend.sendRaw(lavage,82,38);
je montre uniquement ce qui concerne le protocole
je suis pas sur de la fréquence (38kHz)
j ai donc pas tout compris
merci de m aider
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Ven 23 Aoû 2013 12:15

Bonjour, j ai trouvé pourquoi ca marchais pas il manquait les 2 premiers codes que j ai trouvé grace a ce lien http://www.arduino-frenchtouch.fr/wordpress/?p=443
les 2 premiers code était toujours les mêmes j ai donc rajouté après décodage
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude michel5650 » Dim 25 Aoû 2013 17:11

Bonjour, problème pas assez de mémoire pour tous mes codes TC IR un code plus et rien ne marche
une solution ? si oui merci
michel5650
 
Messages: 27
Inscription: Mer 12 Juin 2013 12:15

Re: Telecommande IR pour handicapée

Message non lude SesechXP » Dim 25 Aoû 2013 19:28

Salut,

Quelle mémoire manque, flash ou RAM ? As-tu une version de ton code actuel travailler sur la même base que toi ?
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

PrécédenteSuivante

Retourner vers Kit Communication IR

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron