j'ai 2 entrées analogiques variant de 0 à 5 V , l"une EAN 1 et l'autre EAN 2 , je veux les comparer si EAN1 > EAN2, je veux activer une sortie S1, si EAN2 > EAN1 , je veux activer S2, si EAN1=EAN2 S1=0 et S2=0, il faudrait également introduire une tolérance , j'aimerais connaitre la codification pour pouvoir réaliser le programme,
Bonjour
nous sommes tous en mesure de vous aider.
mais on arrive pas sur un forum sans en lire les us et coutumes.
c'est le minimum
Quels sont les problèmes que tu rencontre précisément?
As tu commencé as coder ?
Quel carte de développement utilise tu ?
As tu déjà essayé les programmes d'exemple d'Arduino pour utiliser les entrées analogiques?
En l'état j'ai l'impression que tu attends que l'on t'écrivent ton programme.
C'est pas faux ! Je n'ai aucune connaissance en programmation concernant les entrées analogiques, j'ai bien sûr copié des programmes avec des entrées logique, mais là rien qui ressemble à ce que je souhaite, si tu réponds dans le but de m'aider, alors bienvenue, sinon si c'est pour me culpabiliser, aucun intérêt, cordialement
j'utilise un Nano, j'ai déjà écrit des programmes en faisant du copié collé, et en adaptant sans très bien comprendre , mais j'aime aller au fond des choses et pouvoir être autonome , exemple de réalisations sur tinkercad , mon profil suzamar , suiveur solaire pour panneau solaire | Tinkercad
Circuit design robot piscine | Tinkercad
Pourtant, lire deux entrées analogiques et comparer les valeurs ne devrait pas être problématique.
void setup() {
Serial.begin(115200);
}
void loop() {
// lit A3 et A4
int val1 = analogRead(A3);
int val2 = analogRead(A4);
if (val1 > val2) {
// active D4, désactive D5
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
}
else {
// active D4, désactive D5
digitalWrite(5, HIGH);
digitalWrite(4, LOW);
}
}
Je n'ai pas tenu compte de ton besoin de tolérance, car c'est vague (tolérance, hystérésis ?).
Sincèrement, si tu ne comprends pas ce code, il faut commencer par te former.
Et ces entrées elles varient à quelle vitesse?
C'est pour orienter un panneau solaire?
Heureusement depuis les années 50, l'informatique a un peu évoluer et lire des pavés très technique n'est plus une nécessité
Il y a sur ce forum beaucoup de tutoriel pour te former tout en amusant .
Malheureusement pour aller au fond des choses, il faut passer par une formation dans le langage utilisé
oui , seulement 1 axe, je pense que l'orientation verticale n'est pas indispensable , évidemment ce serait le summum !
oui bien sur il y a beaucoup de tutos notamment le blog d'eskimon, mais ça ne résoud pas tous les problème,
c'est simple comme écriture , je vais le tester , merci
Oui, cela ne résout pas tout les problèmes, mais ce n'est pas non plus leurs but.
Par contre ça te permet de commencer et de t'approcher du code proposé par @hbachetti.
Le forum étant alors là justement pour essayer de régler tes problèmes.
Sur la base du programme donné par @hbachetti au #9, plutôt que comparer le niveau des 2 capteurs l'un par rapport à l'autre, il serait plus simple de travailler sur la différence.
- si la valeur absolue de la différence est petite on ne fait rien,
- si la différence est positive tourner dans un sens,
- si la différence est négative tourner dans l'autre sens.
Ne pas oublier de placer un écran entre les 2 capteurs cela simplifie l'asservissement.
d'accord, mais dans ce cas il faut fixer une valeur mini ,
Si tu fais simplement une comparaison, cela veut dire que rien qu'avec le bruit sur l'un ou l'autre tu va activer très régulièrement tes moteurs.
La dépense d'Energie sera t'elle rentable au vu du gain en production de tes panneaux solaires, c'est pour ça que @hbachetti t'a demandé qu'elle type de tolérance tu voulais.
Donc oui le mieux est de te fixer une valeur minimum d'écart entre les deux valeurs.
La valeur mini est à déterminer empiriquement.
On oriente le panneau à la main en mesurant cette différence. Ensuite on détermine à partir de quel valeur de la différence on peut considérer que le panneau est correctement orienté. La hauteur de l'écran entre les 2 capteurs devrait normalement aider car son ombre portée sur l'un des capteurs devrait générer une chute relativement brutale du niveau.
Il y a aura peut-être des difficultés lorsque le ciel sera très couvert car alors la luminosité est quasiment uniforme quelque soit la position. A voir si cela pose vraiment problème en fonctionnement....
Je ne sais pas ce qui est le plus utilisé pour ce genre d'asservissement, mais on peut imaginer qu'un seuil dépendent de la luminosité calculé peut aider ?
En particulier cette comparaison sera vraie pour deux échantillons, fausse pour les 2 suivants.