Arduino UNO(互換機) PWM でLチカ

トップページ フォーラム 中級者向けLチカ Arduino UNO(互換機) PWM でLチカ

タグ: , ,

このトピックには0件の返信が含まれ、1人の参加者がいます。1 ヶ月前 kaz さんが最後の更新を行いました。

1件の投稿を表示中 - 1 - 1件目 (全1件中)
  • 投稿者
    投稿
  • #362 返信

    kaz
    参加者

    Arduino UNOのPWMを使ってのLチカです。

    プログラムの解説特にレジスタ設定部分に関しては別途説明ページを作成中です。

    
    int blinkPin = 9;                           // set pin 9 to output the same value as the output timer which is the blinkPin
    
    void TimerOne_setPeriod(long OCRValue) 
    
    {
     TCCR1B = _BV(WGM12)|_BV(CS12)|_BV(CS10);   // CTC mode - 1024 prescale
                                                //  TCCR1B = _BV(WGM12)|_BV(CS12)|_BV(CS11)|_BV(CS10); is the entire command but since CS11=0 its left out
                                                //  manipulates prescale (one of the parameters we can manipulate**we want to use prescales that yeields high ORC values for more reliable signals 
     TCCR1A = _BV(COM1A0);                      //  or use TCCR1A = 0x40;            // Toggle mode 0C1A  
                                                //  This is used to toggle on pin 11 ** pin 11 = 0 x 1 so COM(COM1A1) = 0 and is not in code
                                                //  **Determines pin behavor
     OCR1A = OCRValue;                          //  set the counter
    }
    
    void setup()
    {
     pinMode(blinkPin, OUTPUT);                 // turn on the timer ouput pin and it also the input;
     TimerOne_setPeriod(7812.5);                 // set up and start Timer1 to blink at the same rate as the blink sketch
                                                /* Insert the follwing values into the TimerOne_setPeriod() here for the following frequencies:
                                                .12 Hz: 65104.16667
                                                .5 Hz: 15625
                                                1 Hz: 7812.5
                                                5 Hz: 1562.5
                                                10 Hz: 781.25
                                                */
    }
    
    void loop()
    {
    }
    

    Tinkercadでのシミュレーション
    https://www.tinkercad.com/things/iLWG2DjitEn

    • このトピックは kazが1 ヶ月前に変更しました。
    • このトピックは kazが1 ヶ月前に変更しました。
1件の投稿を表示中 - 1 - 1件目 (全1件中)
返信先: Arduino UNO(互換機) PWM でLチカ
あなたの情報:




To better explain your question or answer, you can upload some screenshots.