GPIO

PWM

PIC16F1938で4ch DMX受信からオフセットをかけた4ch PWM出力

はじめに今回の記事では、PIC16F1938を使って、4ch分のDMX信号を受け、その信号に下限のオフセットをかけ、その信号を4ch分のPWMとして出力します。下限のオフセットの有用性この記事の読者の皆様もご存じの通り、照明器具は、白熱球や...
通信(USART / RS-485 / DMX)

PIC16F1938でRS485通信(送信・受信)をやってみる

この記事は、PIC16F1938とRS485トランシーバ(LTC1485)を使ってRS485通信に成功させた方法の解説となります。通信の成功を見るために、LEDを点滅させています。RS485はDMX512やModbusでも利用されている差動...
PICの基礎

【番外編3】PIC16F1938でLCDのBusy Flagを使ってみる

前回はLCDを8bitモード・4bitモードで表示しました。しかし、これでは、LCDへの命令を送った後、delay()関数で必ず50μ秒の待ちが発生してしまい、その間、さまざまな仕事ができるCPUが停止してしまいます。できるだけCPUの稼働...
PICの基礎

【番外編2】PIC16F1938でLCDを8bit接続・4bit接続する方法【HD44780互換LCD】

この記事で分かること・PIC16F1938でLCDを8bit接続する方法・4bit接続に変更する方法・8bitと4bitの違い前回の記事では、I2CによるLCD(AQM1602XA-RN-GBW)の表示させる方法を学びました。今回もLCDの...
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調光を改善|下限オフセットでチラつき問題を解決する方法』につづき、オフセットに使用したスイッチでの応用編となります。スイッチ入力は簡単に見えて、実はかなりハマりやすいポイントでした。押しボタンスイッチの短押し、長...