Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

PWM ARDUINO et analogRead




  1. #1
    superpat

    PWM ARDUINO et analogRead

    Bonjour,
    J'aimerais de l'aide pour un problème de réglage de duty cycle.
    Après avoir paramétré mes registres, tout fonctionne avec le code:
    ICR1=640;
    OCR1=320;
    J'ai bien un PWM de 25Khz et un duty cycle de 50%
    Si je code :
    ICR1=640;
    x=analogRead(A0); (lecture d'un POT) avec x déclaré en int
    OCR1A=x;
    Cela ne donne rien.
    Pouvez-vous m'aider ?

    Patrick

    -----


  2. Publicité
  3. #2
    jiherve

    Re : PWM ARDUINO et analogRead

    bonsoir,
    bon encore du charabia arduinesque mais OCR1 != OCR1A et si OCR1 > ICR1 alors que nib , '1' ou '0' selon ce que l'on aura configuré ailleurs.
    Passe en assembleur au moins tu sauras ce que tu fais ou ne fais pas bien.
    JR
    Dernière modification par jiherve ; 11/02/2018 à 19h54.
    l'électronique c'est pas du vaudou!

  4. #3
    nornand

    Re : PWM ARDUINO et analogRead

    Pourquoi pas analogWrite(ledPin, val ) attention max de val= 255


  5. #4
    superpat

    Re : PWM ARDUINO et analogRead

    Pardon,
    OCR1A = 320
    ICR1 = 640 fonctionne
    Et si je change OCR1A = 100, mon pwm change aussi.
    Mais si je passe la valeur d'un pot à OCR1A (analogread(pin))
    Ca ne fonctionne plus.

    J'ai essayé analogWrite, mais j'ai besoin d'un PWM sur 10 bits, donc le mode 3, 7 ou 14
    Je crois n'avoir pas bien compris le mode 14 fast PWM alors .... Il me semblait que ICR1 fixe la fréquence et OCR1A fixe le duty cycle.

    Patrick

  6. #5
    jiherve

    Re : PWM ARDUINO et analogRead

    Bonjour
    C'est bien un analogread qu'il faut pour lire l'ADC mais si la valeur retournée est plus grande que ICR1 alors rien ne se passera!
    voir la datasheet du µC ici :http://ww1.microchip.com/downloads/e..._Datasheet.pdf
    JR
    l'électronique c'est pas du vaudou!

  7. A voir en vidéo sur Futura
  8. #6
    superpat

    Re : PWM ARDUINO et analogRead

    Merci beaucoup.
    1024 pas de duty cycle n'est pas compatible avec du 25KHz et un osc de 16Mhz. (640 pas max)
    Je vais donc faire OCR1A=int(analogread(pin)/2)
    J'espère que je ne me trompe pas.
    Patrick

Discussions similaires

  1. (Arduino) problème de téléversement de programme Arduino
    Par walidjake dans le forum Électronique
    Réponses: 1
    Dernier message: 17/05/2016, 09h28
  2. Carte Arduino UNO R3 ou Arduino Mega 2560 R3 ?
    Par theoze dans le forum Électronique
    Réponses: 10
    Dernier message: 11/03/2015, 15h36
  3. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  4. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24