Go Down

Topic: problème gsm et IR [Résolu] (Read 992 times) previous topic - next topic

infobarquee

May 14, 2012, 08:04 pm Last Edit: May 15, 2012, 08:09 pm by infobarquee Reason: 1
bonjour tout le monde,
ayant recu le module gsm gprs http://www.seeedstudio.com/depot/gprs-shield-p-779.html?cPath=132_134
je m'amuse un peu pour faire une alarme.
tout fonctionne bien, sms nickel, appel sortant entrant aussi.
par contre si je connecte en plus le récepteur IR http://www.zartronic.fr/kit-t%C3%A9l%C3%A9commande-infrarouge-p-181.html
et bine on dirait que le lib ne se charge pas ou qu'il y a conflit.
même en restant appuyé sur un bouton pendant 10s, rien ne se passe, aucune réception
si je mets un script que j'avais écrit pour l'IR, tout fonctionne au quart de tour.

Code: [Select]

#include <NewSoftSerial.h>
#include <LiquidCrystal.h>
#include <IRremote.h>
#define RECV_PIN A0
IRrecv irrecv(RECV_PIN);
decode_results results;
LiquidCrystal lcd(10, 6, 5, 4, 3, 2);
void setup()
{
 irrecv.enableIRIn(); // Start the receiver
 mySerial.begin(19200);
 Serial.begin(19200);  
}

void loop() {
 if (irrecv.decode(&results)) {
   testlolo = results.value;
   Serial.println(testlolo);
}
   irrecv.resume(); // Receive the next value
}


je mets pas tout le code, trop long et pas intéressant.
donc je n'ai rien en retour sur     Serial.println(testlolo);

si vous avez une idée je prends de suite, j'ai eu beau tourner et retourner les infos dans le setup, rien :(
merci d'avance

barbudor

As tu fait la liste des pins utilisées par les uns et les autres.
Je ne vois pas dans ton message ni le code les pins utilisées par le shield GSM.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

infobarquee

autant pour moi, j'avais pas tout copié :(
Code: [Select]

NewSoftSerial mySerial(7,8);

en mettant le detecteur de mouvement sur A0 ca fonctionne, mais pas l'IR.
d'ou la raison de mon incompréhension.

barbudor

Sans le shield GSM, le capteur IR marche sur la pin A0 ?
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

infobarquee

avec le shield gsm dessus, mais avec un autre script que j'avais fait pour l'IR, ca fonctionne pour l'IR.
avec le detecteur de mouvement sur la même pin, le detecteur fonctionne
avec un interrupteur sur la même pin ca fonctionne
avec le script et l'IR toujours sur la même pin, niet

y a un blem chef  :smiley-mr-green: mais ou?

barbudor

#5
May 14, 2012, 09:55 pm Last Edit: May 14, 2012, 09:58 pm by barbudor Reason: 1
Donc la lib IRemote marche sur une pin Analogique. C'est ce que je voulais savoir.

Tu peux poster le script qui marche ?

PS: Tu n'as pas du recopier ton script comme il faut, il manque la définition de testlolo

PPS: En fait tun'as pas posté tout ton script. Est-ce que le script dans l'état où tu l'a posté fonctionne ?

Parce qu'on cherche peut être quelque chose qui est dans la partie non postée.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

infobarquee

script qui fonctionne même avec le shield gsm dessus
Code: [Select]

#include <IRremote.h>
#define RECV_PIN A0
int testlolo = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;

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

void loop() {
  if (irrecv.decode(&results)) {
    testlolo = results.value;
    Serial.println(testlolo);
    irrecv.resume(); // Receive the next value
}



donc j'ai repris exactement la même chose en l'intégrant dans l'autre script et c'est comme si la lib IRremote.h ne se chargeait pas ou que   irrecv.enableIRIn();  dans le setup ne démarrait pas.

infobarquee

alors chose étrange,
j'ai remplacé mon interrupteur par l'IR sans mettre la lib remote.
si j'appuye sur la telecommande, l'état change bien.

je mets la lib et tout ce qui va avec et plus rien ne fonctionne.


barbudor

Semble manquer une accolade.

Si je comprend bien ce que je lis, la différence entre "ca marche" et "ca marche pas" tient dans :
- la déclaration de l'écran LCD LiquidCrystal
- la déclaration et l'initialisation de mySerial (SoftwareSerial).

Je tiens le pari pour Liquidcrystal.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

infobarquee

alors, nouveau test et toujours avec le shield gsm
Code: [Select]
#include <IRremote.h>
#include <LiquidCrystal.h>
#define RECV_PIN A0
int testlolo = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
LiquidCrystal lcd(10, 6, 5, 4, 3, 2);
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
    lcd.begin(16, 2);
    lcd.clear();
}

void loop() {
  if (irrecv.decode(&results)) {
    testlolo = results.value;
    Serial.println(testlolo);
    lcd.clear();
        lcd.println(testlolo);
    irrecv.resume(); // Receive the next value
}
}

ca fonctionne


Code: [Select]

#include <NewSoftSerial.h>
#include <IRremote.h>
#include <LiquidCrystal.h>
#define RECV_PIN A0
int testlolo = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
LiquidCrystal lcd(10, 6, 5, 4, 3, 2);
NewSoftSerial mySerial(7,8);

void setup()
{
  Serial.begin(19200);
  irrecv.enableIRIn(); // Start the receiver
    lcd.begin(16, 2);
    lcd.clear();
      mySerial.begin(19200);
}

void loop() {
  if (irrecv.decode(&results)) {
    testlolo = results.value;
    Serial.println(testlolo);
    lcd.clear();
        lcd.println(testlolo);
    irrecv.resume(); // Receive the next value
}
}

fonctionne aussi
je vais testé avec les commandes AT du début et regarder là ou ca cloche.

infobarquee

bonjour,
je pense avoir cerné le problème.
c'est lorsque je mets dans mon loop
Code: [Select]
    mySerial.println("ATA");

que ca bloque le script.
faut que je trouve le moyen de lire ce que recoit comme instruction le shield pour ne déclencher le "ATA" que s'il y a un appel.
et déconnecter s'il y a un "lost carrier".

Artouste

#11
May 15, 2012, 01:15 pm Last Edit: May 15, 2012, 01:23 pm by Artouste Reason: 1

bonjour,
je pense avoir cerné le problème.
c'est lorsque je mets dans mon loop
Code: [Select]
   mySerial.println("ATA");

que ca bloque le script.
faut que je trouve le moyen de lire ce que recoit comme instruction le shield pour ne déclencher le "ATA" que s'il y a un appel.
et déconnecter s'il y a un "lost carrier".


bonjour infobarquee
si le "hayes" est suporté il faut attendre "RING"(en court=2)   avant d'envoyer l'ATA, le lost c'est surement "NO CARRIER" (en court=3)

un lien vers le manual de ton modem ?

trouvé là
http://garden.seeedstudio.com/images/a/a0/SIM900_ATC_V1_00.pdf
à lire + tard 8)

infobarquee

merci Artouste,
bon problème réglé :)
j'ai rajouté l'écoute du serial dans mon loop et viré le "ATA", du coup, ca fonctionne archement mieux.
je passe pas en résolu avant d'avoir testé plusieurs dizaine de fois l'usine a gaz :)

barbudor

Perso je comprend toujours pas.

Je comprend que dès que tu cause au module GSM, la fonction IR ne marche plus.
Pour l'instant je ne vois aucune explication.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Artouste


Perso je comprend toujours pas.

Je comprend que dès que tu cause au module GSM, la fonction IR ne marche plus.
Pour l'instant je ne vois aucune explication.

bonjour barbudor
intuitivement
ça devait rester dans une boucle d'attente de reponse du modem "GSM" et plus du tout aller voir si il y avait de l'IR à voir  :smiley-mr-green:

infobarquee fera un retour exhaustif du pourquoi c'est finalement tombé en marche  :smiley-mr-green:

Go Up