Pages: [1]   Go Down
Author Topic: Timer 5 minutes  (Read 748 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

je cherche à réaliser un timer de 5 minutes. Actuellement mon arduino récupère des données RF en permanence donc il est bloqué dans cette fonction (si j'utilise les interruptions pour la réception de données RF, j'obtiens des parasites de courtes durées, ce qui n'est pas le cas avec la fonction pulseIn). Je souhaiterais donc un timer qui ne déclenche une interruption que toutes les 5 minutes afin de vérifier certains paramètres de "vie" de mon arduino (il fait partie d'une installation domestique et son indisponibilité trop longue peut être gênante). Si j'utilise un timer d'une seconde, ça va perturber la réception des données RF. Est-ce que quelqu'un aurait une idée? Au pire je pensais utiliser un module horloge programmable type DS1307 qui serait capable de me déclencher une alarme toutes les 5 minutes (j'en ai déjà vu mais je ne me souviens plus des réfs).

Merci de votre aide.

@+
Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1961
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
cherche du coté millis()
Logged

Paris
Offline Offline
Full Member
***
Karma: 1
Posts: 180
Beyond the possible...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://playground.arduino.cc/Code/Timer
Logged

The Mind is like a parachute it works best when opened.

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

La réception des données RF devrait être fait sous interruptions.
Le calcul des données RF ce résume à quelques calculs logiques et décalages de bits.
PulseIn() étant bloquant ce n'est pas la solution la plus adapté pour économiser le temps libre.

Tu peut prendre exemple sur mon code blyss pour la réception RF sous interruptions (voir sur le forum).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour vos infos.

@Skywodd : J'ai déjà testé le code blyss en utilisant les interruptions mais j'ai des parasites de 16microsecondes assez souvent donc aucune trame n'est réceptionnée correctement alors qu'en utilisant la fonction pulseIn je n'ai pas ces parasites. Je sais que cette fonction est bloquante mais c'est la seule qui marche pour le moment et comme je n'ai pas d'oscilloscope, impossible de voir si les parasites viennent du récepteur RF ou de l'arduino.

Si toutefois vous avez une astuce pour supprimer ces parasites, je suis preneur.

Merci.
« Last Edit: February 25, 2013, 11:21:34 am by Chacks86 » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je sais que cette fonction est bloquante mais c'est la seule qui marche pour le moment et comme je n'ai pas d'oscilloscope, impossible de voir si les parasites viennent du récepteur RF ou de l'arduino.
Si l'interruption de l'arduino est déclenché c'est que ça vient du récepteur RF.
C'est quoi comme type de signal ?
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En fait je reçois le signal de plusieurs sondes T°/Humidité WS1170 velleman (j'avais fait un post lorsque je cherchais le calcul du CRC). Pourtant la fonction pulseIn ne détecte pas ces parasites de 16 microsecondes. Il faudrait que je puisse voir la sortie du récepteur RF à l'oscilloscope pour savoir d'ou vient le problème.
Logged

Pages: [1]   Go Up
Jump to: