Show Posts
|
|
Pages: 1 ... 3 4 [5] 6 7 ... 15
|
|
61
|
International / Français / Re: [Projet] Un tableau de bord numérisé
|
on: August 20, 2012, 11:29:48 am
|
La Renault 11 la plus moderne qui soit  Je n'ai pas osé définir un tableau de constantes, ne sachant pas comment le compilateur allait réagir. Si tu me dis que c'est mieux, alors je vais y penser. Le code actuel fait 6500 octets sur les 14300 dispos, donc si les tableaux de constantes vont dans la flash, ça m'intéresse! (il y a aussi les tables de caractères en const...) Je crois que les simples variables déclarées en const sont traduites à la compilation, non?
Sur AVR avec avr-gcc le mot clé const n'entraîne pas le stockage des variables en flash. ça indique juste que tes valeurs sont constantes, en quelque sorte en lecture seule. Par contre il est effectivement possible de stocker les constantes en flash avec la directive PROGMEM : http://www.nongnu.org/avr-libc/user-manual/pgmspace.html++
|
|
|
|
|
62
|
International / Français / Re: demande de conseil pour un débutant
|
on: August 19, 2012, 12:43:18 pm
|
|
Salut,
A priori c'est tout à fait réalisable par un débutant, ce sont des choses relativement classiques sur Arduino, les ressources et bibliothèques existent. Tant que tu y vas étape par étape et que tu valides les fonctions une à une avant de tout assembler... Juste une réserve pour la mesure de PH, je n'ai jamais cherché à en faire mais s'il s'agit de mesurer une tension allant de 0 à 5V, aucun souci.
Concernant le module émetteur, c'est le plus simple et une Uno devrait largement faire l'affaire.
Pour le second, il faut faire attention au shield LCD que tu souhaites utiliser et vérifier que ça va coller avec le shield Ethernet. Il y a notamment le Deuligne de Snootlab qui utilise un bus I2C. Celui-ci ira à coup sûr avec le shield Ethernet.
Si tu veux emplier un shield par dessus le shield Ethernet, il te faudra en effet mettre des réhausseurs à cause de la hauteur importante du connecteur RJ45. Il suffit d'intercaler des connecteurs entre les deux shields et le tour est joué.
L'émetteur et le récepteur radio dont tu donnes les liens devraient convenir à ton projet. Tu peux d'ailleurs jeter un oeil à la bibliothèque VirtualWire qui te permettra de les exploiter de manièrerelativement fiable.
++
|
|
|
|
|
63
|
International / Français / Re: Plusieurs fonctions Void
|
on: August 16, 2012, 06:42:05 am
|
Salut, Pareil que Jean-François, je suis partisan des fonctions. Une fonction réalisant une action précise. Le code est plus lisible, plus simple à maintenir. Et puis ça évite de dupliquer du code à chaque fois que tu veux faire la même chose. Concernant l'impact, il est très variable. ça dépend des paramètres passés à la fonction, des optimisations que va faire le compilateur, etc... Si la fonction n'est appelée qu'à un seul endroit, tu peux utiliser le mot clé inline. Dans la mesure du possible, le compilateur optimisera la fonction pour en réduire ou annuler l'impact. ++
|
|
|
|
|
65
|
International / Français / Re: Plusieurs fonctions Void
|
on: August 16, 2012, 02:36:15 am
|
|
Salut,
Un AVR est incapable d'exécuter plusieurs tâches à la fois. La fonction loop() va appeler la fonction x(). La fonction x() s'exécute et une fois terminée, on revient dans la fonction loop() : loop() ---> x() ---> loop()
|
|
|
|
|
69
|
International / Français / Re: Arduino uno + Ethernet shield + Module RF
|
on: August 14, 2012, 04:30:08 am
|
Salut, Sur une Uno, le Shield Ethernet utilise les entrées/sorties 11, 12, 13, 10, 4. Concernant ton module RF, si tu le mets sur l'UART de l'AVR, ce sera sur les entrées/sorties 0 et 1. Ou deux autres pinouilles de ton choix si tu crées une UART logicielle. Je te laisse compter le nombre de pinouilles restantes  A ma connaissance il n'y a pas de carte intégrant les deux. ++
|
|
|
|
|
70
|
International / Français / Re: explication de code
|
on: August 13, 2012, 09:37:08 am
|
Salut, Il y a pas mal de choses qui servent à générer une page HTML compréhensible par un navigateur. Ce morceau là lit les 6 entrées analogiques de l'Arduino, fait un petit calcul et affiche les valeurs sur la page web : for (int x = 0; x < 6; x++) { client.print(x); client.print(" = "); client.print(5000 * (analogRead(x) / 1024.0)); client.print(" mV<br>");
|
|
|
|
|
71
|
International / Français / Re: Décalage entrée sortie
|
on: August 03, 2012, 07:59:04 am
|
D'ailleurs pour éviter cette erreur, on peut utiliser un "if inversé" : if (1 == cmdByte) Ainsi si par erreur on ne met qu'un seul = le compilateur signale une erreur et pas un simple warning.
|
|
|
|
|
72
|
International / Français / Re: Décalage entrée sortie
|
on: August 03, 2012, 05:11:07 am
|
Salut, Le moniteur série de l'environnement Arduino envoie des caractères. Si tu envoies 0, l'Arduino va en réalité recevoir le caractère '0' (=48) puis un retour chariot '\r' (=13). Il y a deux moyens de pallier au problème : - se passer du moniteur série de l'environnement Arduino et envoyer la valeur (et non le caractère) ; - ou soustraire 48 à la valeur reçue sur ta carte Arduino. ++ PS: voici une table ASCII pour visualiser : 
|
|
|
|
|
74
|
International / Français / Re: Limites de l'arduino ?
|
on: July 27, 2012, 01:39:51 am
|
Salut, - Ce n'est pas le Watchdog qui surveille la tension d'alimentation, mais le Brown-Out Detector. S'il est activé et que la tension d'alimentation descend en dessous d'un certain, il provoquera un reset. Je n'ai jamais testé, mais toutes les informations doivent être dans la doc... En cas de coupure d'alimentation, il y aura vraisemblablement un Power-On Reset. Le Watchdof va plutôt provoquer un reset quand l'exécution du logiciel est bloquée quelque part. - Pour récupérer les données, il faudra développer un logiciel résident sur le PC qui récupèrera les données pour les enregistrer en base de données : Arduino -> Logiciel PC -> Base de données. Il te faudra concevoir un protocole de communication. Si tu regardes dans les tutos, Barbudor donne des pistes ici... Ou alors dans les sujets sur la domotique. En tout cas, rien d'impossible ! ++
|
|
|
|
|