Show Posts
Pages: [1] 2
1  International / Réalisations et Projets Finis / Re: Drawbot - Le robot qui dessine on: March 28, 2013, 03:40:39 pm
Superbe ! J'adore !
2  International / Français / Re: Liaison série <-> console qui se coupe on: March 28, 2013, 03:22:16 pm
La solution la plus rudimentaire consiste à ne pas autoriser la mise en veille  smiley-twist .
A priori c'est déjà le cas. J'ai juste l'écran qui est déactivé après 20 minutes, mais la veille interdite.
C'est pour cela que j'avais mis "je le réveil" entre guillemets mais je comprends que ça ne devais pas être évident à comprendre...

En tous cas merci à tous pour vos suggestions.
3  International / Français / Re: Besoin d'aide sur une question de programmation on: March 28, 2013, 03:17:33 pm
En fait ca doit marcher mais c'est juste que la manip a faire ne semble pas être celle décrite.
Voici ce que je lis dans le code:

Je presse le bouton principal.
Ca ouvre la vanne.
Je presse A ca commence à compter pour ce "canal".
Tant que A reste appuyé tu peux lâcher le principal tu est dans une boucle :
Code:
while (digitalRead(switchA == 1))
{/*Tant que A est pressé...*/}

Comme tu le dis toi même : tant que A est pressé tu attends.
Tu laches A à ce moment tu fais ton calcul + Serial.print... puis la vanne se ferme.

Maintenant là dedans il n'y a rien qui cloche en soit si ce comportement te convient.

Sinon il faut remplacer le while par :
Code:
while (digitalRead(switch_tlm == 1))
{/*Tant que le principal est pressé...*/}

Pour le problème de la vanne tu as essayé d'intervertir les pins ?

const int switch_tlm = 2;
const int switchA = 3;
const int switchB = 4;
const int switchC = 5;
const int vanne = 6; 
 
4  International / Français / Re: Interruption et Serial --> besoin d'explication on: March 28, 2013, 02:38:13 pm
Je ne sais pas ce que tu fais dans ton interruption mais pour tout ce qui est temps réel, la règle c'est d'en faire le moins possible dans l'interruption (ou dans le thread temps réel en cas de multitaches mais je sors du sujet arduino), et de faire les calcul lourds dans la loop.

Pour cela si tu as des calculs lourds à faire, il faut créer un buffer mémoire.
Dans l'interruption tu stokes simplement tes données acquises (en partant du principe que tu fais de l'acquisition), c'est très rapide.
Dans la loop tu lis les données dispo dans le buffer, et tu fais les calculs nécessaires.
S'ils prennent du temps c'est pas grave ils peuvent être interrompus sans soucis.
Il faut juste arriver à dimensionner le buffer correctement.

Bon ca c'est le principe, il n'y a pas un modèle unique mais il faut l'adapter à ce que tu veux faire.
5  International / Français / Re: Liaison série <-> console qui se coupe on: March 28, 2013, 01:54:25 pm
Je serai tenté de dire que le probléme via de là ... mais c'est trop tôt pour l'affirmer.
Si tu penses à un soucis mémoire, buffer overflow ou qq chose comme cela, je ne pense pas.
J'ai un écran 4884 qui affiche en temps réel des données et là pas de soucis tout fonctionne toujours bien.

De plus c'est vraiement le coté PC qui semble planter car ensuite j'ai besoin de débrancher le port USB pour qu'il re-fonctionne.
Et dernier point depuis que j'ai posté mon message je vais voir régulièrement 2x par jour la console sur le PC donc "je le réveil" et là ça marche.
J'ai vraiment l'impression que c'est à partir du moment ou je passais moins souvent que ça a commencé à coincer...

Par contre il serait bon de savoir quel logiciel tu utilises pour le terminal ?
Celui ce base d'arduino ? Un autre ?
Si ça ce trouve c'est plutôt le buffer d'affichage du logiciel qui sature.
Oui c'est bien le terminal arduino. Mais je ne le mets pas en cause non plus (ou en tout cas pas sa capacité à recevoir mon volume de données) car il fonctionne plusieurs jours sans soucis (sauf les 3 fois ou ça à coincé en environ 12 à 15h).
 
Je pense que je vais m'en faire un en java comme ça en plus je pourrais grapher mes données ;-)

6  International / Français / Re: problème avec EEPROMAnything on: March 28, 2013, 03:21:20 am
Quand tu dis en retour, la méthode fait un return du nouvel index ?
Si oui il suffit de faire

index = EEPROM_writeanything(index, sender);

pour réassigner la nouvelle position à la variable index.
7  International / Français / Re: [Résolu]Classe méthodes publiques méthodes privées. on: March 27, 2013, 04:43:07 pm
Étrange...
Dans une meme classe des variables publiques ou privées peuvent etre appelées par une methode publique...
Le rôle de public ou privée n'est que de donner ou non de la visibilité a qq d'extérieur a la classe.

Par contre je ne sais pas ou tu as trouve cette fameuse classe mais tout ce qu'on trouve sur internet n'est pas toujours un bon modèle.
8  International / Français / Re: problème avec EEPROMAnything on: March 27, 2013, 04:31:07 pm
Je ne connais pas EEPROMAnything mais j'imagine que la methode retourne peut etre le nouvel index ou le nombre d'octets ecrit.
Dans ce cas il faut faire
Index = EEPROM_writeanything(index, sender);
ou
Index = index + EEPROM_writeanything(index, sender);
Mais ce n'est qu'une supposition verifie la methode...

Par contre je ne comprends pas pourquoi tu obtiens 5 5 5... je me serais attendu a 1 2 3 4 5
En effet au premier passage index vaut 0, tu écris en adresse 0 puis tu incrémentes l'index de 1 puis envoyer sur le port série. Et tu recommences mais avec 1 comme valeur d'index.
A moins que index ne soit passe par référence a la methode dans ce cas elle peut en effet valloir 4 en retour, mais dans ce cas pourquoi tu inçrementes index ensuite ??

Tout cela m'intrigue
9  International / Français / Re: Interruption et Serial --> besoin d'explication on: March 27, 2013, 04:10:06 pm
En général avec les interruptions il faut que le temps de traitement soit le plus court possible.
En effet si une autre interruption arrive est qu'elle est plus prioritaire que celle en cours elle va l'interromptre.
En soit c'est pas gênant la première finira son code après... sauf si entre temps une autre est arrivée et la tu en perds une
10  International / Français / Re: Besoin d'aide sur une question de programmation on: March 27, 2013, 04:02:34 pm
Hormis les pins utilisées par le port série je ne vois pas ce qui cloche
Par contre le calcul du volume tu devrais faire une fonction plutôt qu'un copier colle
C'est plus lisible et en cas de changement plus simple et tu économisera de la place mémoire

Sinon je vois aussi qu'en relâchant le bouton principal ça n'arrêtera pas l'eau tant qu'un autre bouton est pressé.
Mais c'est peut être voulu ?

11  International / Français / Re: Liaison série <-> console qui se coupe on: March 27, 2013, 03:49:19 pm
1 envoi par minute d'environ 40 octets... pas énorme...
Je penche plus pour un pbm sur le PC.
Aujourd'hui je n'ai pas eu de coupure mais
 je suis allé voir 2 fois dans la journée si TT allait bien (comme au début).
Ensuite comme tout semblait bien marcher je n'y passais que le soir et je pense que c'est a ce moment que ça a commencé a bloquer. Sûrement QQ chose qui se passe sur le PC après plusieurs heures
12  International / Français / Re: anti répétition on: March 27, 2013, 03:36:11 pm
Bonjour,

Sinon autre solution : attendre que l'aimant dégage pour repartir dans la boucle :

Ça marche aussi mais ça suppose que tu peux attendre que l'aimant parte et que pendant ce temps tu n'as rien a faire
13  International / Français / Re: Liaison série <-> console qui se coupe on: March 27, 2013, 02:57:02 pm
Bonjour,

Faire voir le code arduino smiley-wink
Quel logiciel utilise sur le pc ? Et sur quel OS ?

Je suis sous windows XP, le soft c'est arduino 1.0.3
Ouch, pour le code c'est au moins 10 fichiers cpp et autant de .h dans l'appli plus 4 libriaires... ca fait du monde
14  International / Français / Re: Liaison série <-> console qui se coupe on: March 27, 2013, 02:51:31 pm
Si tu le laisses tourner longtemps, il est fort probable que le buffer mémoire du soft sature.

De quel buffer parles tu ? Celui de la console ?
Je l'ai laissé tourné pendant 3-4 jours sans problème et depuis 3 jours il bloque à moins de 24h de fonctionnement.

15  International / Français / Re: Liaison série <-> console qui se coupe on: March 27, 2013, 02:17:39 am
J'ai vérifié, tout semble indiquer que le PC ne passe pas en veille.
C'est toujours comme cala qu'il a été configuré et je n'ai rien modifié dessus...
Ce matin la console était toujours up, à suivre !
Pages: [1] 2