Bonjour à tous et à toutes,
Je suis en terminal SSI et avec mon groupe, nous sommes chargés de transformer un parasol basic en un parasol automatisé avec capteurs de présence, anémomètre, fin de course, gestion de l'alim.. De plus, l'action se passe sur une terrasse et nous devons faire le test avec plusieurs parasol.
Je dois m'occuper de la partie commande et on s'est penché sur la programmation avec Arduino..
Cependant étant un débutant, je n'arrive pas vraiment à m'en sortir avec cette carte et j'aurai quelques questions à vous poser:
avec mes profs, nous avons pensé qu'il fallait une carte arduino "principale" pour le patron de la terrasse, celle_ci commande tous les parasols, est connectée à l'anémomètre et apporte grâce au module Xbee l'info à tous les parasols
les cartes "secondaires" sont reliées à chacun des parasols de cette terrasse et sont influencées par les ordres du client, la batterie, ...
Mes questions:
Comment faire pour que l'info de l'anémomètre soient communiquée sur une carte secondaire ? ( comment utiliser xbee dans ce cas)
Comment relier chacun de mes capteurs aux cartes Arduino et comment cela se traduit t'il sur un programme ?
comment gérer un moteur avec arduino ??(Que mettre à la place de "Le parasol s'ouvre ou se ferme" ?)
Que mettre dans void setup dans mon cas ? (j'ai prévu une temporisation (x car inconnue pour l'instant) afin que s'il y a du vent le parasol ne s'ouvre et se ferme incessemment).
Je vous joins mon début de programme arduino pour que vous me donniez des astuces ou pour me dire ce qui ne va pas..
Merci d'avance à tous ceux qui s' intéresseront à mes soucis ^^.
comment gérer un moteur avec arduino ??(Que mettre à la place de "Le parasol s'ouvre ou se ferme" ?)
...
[HS] encore un
allez déjà sur ce seul point !
Comme je suppose que la partie motorisation du parasol est evidemment déjà testée, realisée et validée sur le parasol, tu dois donc déjà connaitre les carateristiques principales du moteur, pour determiner comment au mieux le commander par arduino , non ? 8)
c'est quoi comme parasol ?
c'est quoi comme moteur ?
Je note quand même que d'année en année, on a de plus en plus de lycéens qui débarquent avec des projets sans aucune idée de par où commencer ...
[/HS]
Déjà sans avoir essayer de comprendre votre code, c'est plein d'erreurs : confusion entre = (affectation d'une valeur à une variable) et == (comparaison logique)
==> j'y vois le signe que vous ne maîtrisez aucune base, et les questions qui suivent ne font que confirmer ce doute. C'est pas un mal, on est tous passé par la
Bref, ça vous a peut-être semblé futile vu que vous devez êtes pressé pour votre bac mais vous auriez étudié les bases (blink, analogRead(), digitalRead() ...) vous auriez répondu tout seul à 90% de vos interrogations
Car de ce que j'imagine, vous voulez motoriser un parasol suivant : le vent, le soleil et deux boutons.
Déjà étudiez point par point vous assemblerez les briques ensuite. Les exemples pour les boutons et les photorésistances y'en a 10 000 sur le net ... Piloter un moteur pareil, mais bon comme évoquer par Artouste, y'a moteur et moteur ... Un triphasé 10 000 watts vous imaginez bien que ça se commande pas pareil qu'un train électrique
Voila mon code amélioré mais qui ne fonctionne toujours pas
Malheureusement, mon projet aura lieu mardi donc si quelqu'un a un éclair de génie (que je n'ai pas...)
je serais très reconnaissant
Merci d'avance..
ca serait pas un peu du foutage de tronche?
depuis le 6 février tu as codé que ca? donc en 3 mois
alors un conseil, vire le pseudo DetecteurIR qui arrive de derrière les fagots.
fais un truc simple
sinon la boule de cristale est cassée et en vacances.
y a quoi qui fonctionner ne marche pas
franchement les gars, vous croyez que c'est nous qui passons l'épreuve pour vous?
le code est pas compliqué a faire pourtant et ne devrait pas prendre plus d'une heure avec pause clope et café incluse.
** unsigned long nbTour=compteurfm/4;**
chez moi, enfin d'après ce que j'ai appris en maternelle ( y a un bail)
0/4 fera toujours ZERO
__ value=1000nbTour/timeDiff ;__
value = 1000 * 0/timeDiff
value = 1000 * 0
donc value = 0 unsigned long vitesse_du_vent=23.14150.4550.05value3.6;
tout chiffre/nombre multiplié par ZERO fera toujours ZERO
je viens de poser la question à ma fille de 9 ans pour confirmation.
donc interruption ou non, tu fais des divisions et multiplications par ZERO
comment veux tu que ca fonctionne?
ou alors, j'ai raté un truc quelque part et je retourne à l'école
La valeur de compteurfm est incrémentée à la fin du code (ça veut dire qu'elle gagne une unité à chaque cycle)
donc la vitesse du vent peut être égale à 0 dans les cas ou celui-ci ne se manifeste pas !!
mri96:
La valeur de compteurfm est incrémentée à la fin du code (ça veut dire qu'elle gagne une unité à chaque cycle)
donc la vitesse du vent peut être égale à 0 dans les cas ou celui-ci ne se manifeste pas !!
ha ok, et c'est pour ca que tu l'initialise à ZERO à chaque tour dans le void loop?
tu pourras toujours l'incrémenter autant que tu veux, si tu la remets à ZERO à chaque boucle dans le loop, ca sert à rien du tout
soit tu la mets à ZERO en déclaration au départ, soit tu la mets à ZERO dans un void à part après un calcul, mais pas dans le loop.
c'est le chien qui se mord la queue.
ma démo du dessus doit pas être assez claire je pense.