PICの基礎

【番外編】PIC16F1938で LCD(AQM1602XA)を動かす

現在RS485通信の学習中で、2つのPIC16F1938を使った通信には成功しています(後日ブログ化します)。しかし、通信できているかどうかを1秒間隔のLチカだけなので、通信できていることをより可視化したく、LCDでの表示させたいと思いまし...
通信(USART / RS-485 / DMX)

UART割り込み受信の落とし穴と対策リングバッファ・OERR・FERRを実装する

前回の記事では、UARTでの送受信とコマンド制御までを実装しました。今回の記事では、まず、割り込み制御によるコマンド制御を行います。次に、リンクバッファを使って複数文字を同時に受信し、コマンド制御を行います。さらに、大量データが一気に流入し...
通信(USART / RS-485 / DMX)

PICでUART受信とコマンド制御|エコーバックからLED制御へ

前回の記事では、PIC16F1938を使ってUART送信を実装しました。今回はUART受信を使って、実際にマイコンを制御してみます。まずは受信したデータをそのまま返す「エコーバック」を実装し、その後、コマンドとして扱う方法を解説します。UA...
通信(USART / RS-485 / DMX)

PICでUART通信をゼロから理解する(USART入門~PICからの信号送信)

前回の記事では、PIC16F1938を使ってPWMを5ch制御し、Timer・CCP・ADCを組み合わせた制御を実装しました。今回はその次のステップとして、「UART通信(USART)」に進みます。・外部機器と通信したい・ログをPCに出した...
PWM

PIC16F1938で5ch PWM制御 完成編|CCP1~5 + Timer2/4/6を実装

ソフトPWMから始まり、ハードPWM、ADC、EEPROM、UIまで追加して、ようやく5ch PWM制御がひとつの形になりました。今回は今までChatGPTにかなりお世話になっていたので、総集編として一人で書くことに注力し、かなり時間がかか...
PWM

スイッチ制御は簡単じゃなかった|PICで短押し・長押し実装の失敗と気づき

今回は前回の『PICでPWM調光を改善|下限オフセットでチラつき問題を解決する方法』につづき、オフセットに使用したスイッチでの応用編となります。スイッチ入力は簡単に見えて、実はかなりハマりやすいポイントでした。押しボタンスイッチの短押し、長...
PICの基礎

PICでPWM調光を改善|下限オフセットでチラつき問題を解決する方法

前回はソフトPWMとハードPWMの両方をボリュームで調光させるところまで行いました。実際に様々な照明器具を調光していると、0-100%の調光させると、10%までの暗いところでは、チラつくことが多くあります。今回はこのチラつき(フリッカー)の...
PWM

PIC16F1938でソフトPWMの周波数が合わない理由と対策(ハードPWMとの比較)

今回は、ハードPWMとソフトPWMを作って比較してみたところ想像以上に大きな違いが出ました。特にソフトPWMでは、周波数が思った通りに出ず、試行錯誤することになりました。ソフトPWMでは、タイマー設定や割り込みの影響を強く受けるため思った通...
PICの基礎

PIC16F1938 3ch ADC → 3ch PWMの作り方~AN8でハマった話とPWM100%にならない話~

今回も前回と同様、PIC16F1938を使い3chのADC入力から、3chのLEDのPWM調光を作りました。今回も、回路図、コード、オシロの波形ハマったポイントをしっかり載せます。前回の10進ロータリスイッチは残したままにしています。今回は...
PICの基礎

PIC16F1938 PWM調光の作り方(ロータリスイッチ入力)

今回はPIC16F1938を使い、10進ロータリスイッチ入力からPWM調光を作りました。この記事では、回路図、コード、オシロ波形、ハマったポイントをまとめています。ロータリスイッチは、うちの会社でもよく使うスイッチなので、しっかり使えるよう...