Besoin d'aide pour la vitesse de balayage.

Bonjour Mesdames et messieurs,

nous avons besoin de contrôler la vitesse de balayage.
Mais tout d’abord, nous avons besoin du mouvement du scanner, puis nous contrôlerons la vitesse.
Comment le scanner se déplacer? Notre scanner est combiné par deux buzzers, un pour x et un pour y. Donc, le mouvement sera comme ceci:

nous devons donc laisser le mouvement du buzzer.

programme arduino qui a etais fais pour

À l’heure actuelle, nous avons besoin non seulement d’un axe, mais deux axes. Je dois seulement faire l’axe Y vu que l’axe X a deja ete fais.

je dois trouver une relation entre la variation de X et Y. Y vas varier en fonction de X. voir image :

<const int XPin = 9;

void setup() {
pinMode(XPin, OUTPUT);
analogWrite(XPin, 0);
Serial.begin(9600);

}

void loop() {
if(Serial.available()){
float volt = Serial.parseFloat();

for (float i = volt; i<=5; i = i + 0.01){
analogWrite(XPin, i * 51.58);
delay(10);
Serial.println(i);

}

}

}
/>

En esperant avoir de l’aide merci beaucoup.

Bonjour,

C'est pas super-compréhensible tout ça. Entre autres, il y a un problème avec les images.

voici les deux images :

|500x282

Et le code que tu as mis, il est censé faire quoi ?

il permet de faire progresser la tension par pas de 0,01V pour la vitesse de balayage je sais pas si je peu envoyer une video

Finalement, tu as un problème de géométrie, pas un problème de codage ?

bah le code c pour laxe des X et je dois integrer laxe Y dedans mais pour cela faut dabord faire comme tu viens de dire trouver la relation geometrique entre les deux

Ne le prends pas mal, mais tu ne donnes pas beaucoup l'impression d'avoir envie de faire des efforts de ton côté pour faire ce boulot...

Je suis bloqué à cette etape c'est pour cela..

Tu as commencé à faire des choses pour trouver la relation entre X et Y ?

oui, mais en vain, la je dois juste ajouter l'axe des Y dans le programme que jai donnee quelqu'un aurais une idee ?? meme si jai pas la relation

merci

il faut juste que je genere une tension en sortie d'une broche analogique qui vas monter de 0.2V toute les 10millisecondes mais je sais pas comment faire, faut quelle monte jusqua 5V

sabrio93: il faut juste que je genere une tension en sortie d'une broche analogique

Infaisable il n'y a pas de DAC dans les avr.

Il faut employer le bon langage même si Wiring/arduino a été très nul avec l'appellation analogWrite(). Le signal généré par analogWrite() est un signal numérique : c'est de la PWM (ou MLI en français). Tu commence par te renseigner sur le sujet PWM, on ne le fera pas pour toi.

Pour transformer ce signal numérique en signal continu il faut mettre un filtre intégrateur (passe bas) --> une petite recherche personnelle pour obtenir un vernis de base s'impose. NB : un filtre passe-bas est un filtre "retard" donc plus il faut filtrer pour avoir un signal propre , plus le signal sera disponible avec un retard. il existe aussi des DAC SPI ou I2C comme le PCF 8591 ( ~1,5 € sur Ebay)

De base la PWM est configurée par Wiring/arduino avec une fréquence de récurence de 500 Hz (période = 2 ms) , faire des pas toutes les 10 ms avec une telle fréquence est infaisable , il va falloir apprendre à changer la fréquence de récurence (le max obtenable est de 64kHz). Il y a eu ces derniers mois deux ou trois fils de discussion sur le sujet --> une recherche sur le forum s'impose.

Qu'est-ce que tu as comme moyen pour vérifier la "propreté" du signal généré ? Un multimètre ? Un oscilloscope ?

qui vas monter de 0.2V toute les 10millisecondes mais je sais pas comment faire,

Regarde la gestion du temps avec l'exemple "blink without delay" et tu aura ta réponse.

Mince je pensais que juste un analogwrite allée suffir c'est bien plus complexe que sa... Oui jai ocilloscope et multimetre, et je peux acheter ce que je veux pas un soucis...