ブログ記事97件
8pinのBASIC言語マイコンPICAXE-08M2で温湿度計つきのデジタル時計を動かしています。→PICAXEで動くVFD(蛍光表示管ディスプレイ)のデジタル時計に温湿度センサーを追加してみた構成は以下です。MPU:PICAXE-08M2(BASIC言語)リアルタイムクロック:DS1307(I2C接続)温湿度センサー:DHT20(I2C接続)ディスプレイ:VFD,M202MD10B(UART接続)動き続けてはいるのですが,電源が不安定な時があるのか,,時刻が少し進ん
PICAXEに温湿度センサーがつなげましたので,PICAXE-08M2で動いているVFD(蛍光表示管ディスプレイ)のデジタル時計に温度と湿度表示を追加してみました。回路はまだブレッドボードのままですが,,温湿度センサーDH20の電源線とI2C信号線を接続しました。RTC(リアルタイムクロック)DS1307モジュールもI2C接続なので,DH20もPICAXE-08M2の同じピンを使います。計画していた温度湿度の表示がやっとできましたが,ちょっと表示が混雑している感じですね(^^;;;;;;
PICAXEで動いているデジタル時計に温湿度の表示を追加しようと思っています。I2C接続の温湿度センサー(DHT20)はCircuitPythonではつないでいます。→CircuitPythonのI2Cインターフェイスで温湿度センサー(DHT20)をつないでみたCircuitPythonなどでは小数点や負の数値も扱えますが,PICAXEのBASIC言語は整数のみです。少し工夫が必要でしたのでメモしておきます。PICAXE-14M2と温湿度センサーDHT20はI2Cで接続します。PIC
超音波距離センサー(HC-SR04とその互換機)をUARTシリアル通信対応のモジュールにしておけば便利だと思い,PICAXEを組み込んで試してみました。今回の機材と配線です。・超音波距離センサーUS-015(HC-SR04互換)・計測処理と結果のシリアル出力PICAXE14-M2・UARTレベル変換(5V<->3.3V)BSS138モジュール・CircuitPythonでのシリアル接続MakerPiRP2040PICAXEのBASICでのプログラムです。スタート
MakerPiRP2040ボードのCircuitPythonで超音波距離センサー(HC-SR04とその互換機)を使おうとしてハマっています。超音波距離センサーでの計測はBASIC言語で動くPICAXEではやってみたことがあったので,シリアル接続のディスプレイに計測値を表示させ,そのUART出力をCircuitPythonでも同時に読み込んでみました。試してみた機材構成です。・超音波距離センサーUS-015(HC-SR04互換)・計測処理と結果のシリアル出力PICAXE14-M
VFD(蛍光表示管ディスプレイ)を時計表示にしてRGBLEDのクリスマスツリーとセットにしてみました。せっかくなのでVFDの時計を組み込んだクリスマスツリーの台を作ってみました。不器用な工作ですが,,一応完成です(^^)。時計としてどこかに組み込めるように木箱に入れています。回路は力尽きたのでブレッドボードのままです(^^;;;;RGBLEDとそのコントローラーであるATtiny85にも5Vを給電しています。VFDとRGBLEDとで2A近く使う可能性があるので手持ちの5V4A電源をつな
VFD(蛍光表示管ディスプレイ)は明るく見やすいディスプレイなので,NeoPixelのRGBLEDをつけたクリスマスツリーとセットにしてみました。ツリーのLEDはATtiny85,VFDはPICAXE-08M2という8pinのコンビで動かしています(^^)。・小さなクリスマスツリーにATtiny85で動かすフルカラーRGBLEDテープをつけてみた・リアルタイムクロックを小さなキャラクタ液晶ディスプレイ(LCD)に表示してみた・シリアル通信のキャラクタVFD(蛍光表示管ディスプレイ)を使
Groveの7SegLEDを8PinのATtiny85でUART対応化してみています。その際,読み落としを防ごうと送信データの末尾にLF(改行)をつけていましたが,何かわずらわしく感じていました。そこで,受信バッファをもう少し信頼して(^^;;;受信データの連続読み取りの後,読み取ったデータ数に応じて処理を行う流れに変えてみました。データの末尾記号無しでも,結構忙しく変化する表示にも追従できているようですV(^^)。プログラムを変更した部分です。"available"の数だけ配列
Groveの7SegLED(TM1637ドライバ)をUARTシリアル通信化するモジュールをATtiny1604で試作して,PICAXEBASICでコントロールしてみました。1.試作システムの概要ブレッドボードで試作中です。配線はシンプルです。PICAX→ATtiny1604は1本のUART通信,ATtiny1604→7SegLEDはI2Cライクな2本線のシリアル通信です。実際に動作しているところです。2.PICAXEのBASICプログラム例BASICのUART通信
キャラクタLCDをモジュールの無いPICAXEのようなものからもっと簡単に使えるようにならないかと思い,UART通信でコントロールできるモジュールを試作してみました。1.モジュールの概要組み込み予定のモジュールではATtiny1604が4bitパラレルデータバスでLCDをコントロールし,PICAXEからUART通信で指令を受けて働きます。UARTはデータ線1本だけで,接続しています。なお,今回の試作では手持ちのLCDが3.3V仕様で,ATtiny1604とPICAXEの書き込み環境は5Vな
LCDやOLEDのキャラクタディスプレイは電子工作で良く使われます。フォントデータを内蔵していて使いやすい表示器で,マイコンからI2Cシリアル接続するものも多く見られます。Arduinoなどでは各ディスプレイに適合するライブラリが充実していてすぐに使えますが,PICAXEやメモリの少ないマイコンで使うには自作プログラムが,,,ということで,いろいろとやっている概略のメモです。1.キャラクタディスプレイのベース,パラレルインターフェイス16文字2行の1602型とか20文字4行の2004型など
小さなマイコンを組み込んでモジュールを作るのにI2C通信のSlave機能があると便利だと思い,ATtiny1604で簡単なプログラムを試してみました。MasterはBASIC言語のPICAXE-20M2,SlaveはArduino言語のATtiny1604で赤と緑のLEDをコントロールしています。書き込み機のArduinonanoやOLEDディスプレイなどでごちゃごちゃしていますが,今回使っているのは2つです(^^;;;。I2Cの配線はシンプルですが,slaveaddressの表記に注
PICAXEで白色の128x64OLEDを動かしていたのを思い出し,キャラクタを出すのはどうだろうと試してみました。この単色ディスプレイのコントローラSSD1306は8bitのキャラクタの扱いは得意?そうで,思ったよりスピーディーに表示できました。縦に1byte(8bit)のページで区切られたコントローラの表示領域に合わせて,フォントデータも縦に1byteで並べてみました。これはこのディスプレイには効果的でした。以前に作ったラインと円もどきのプログラムも残したままなので,質素な画面ですが動
96x64ドットの有機ELカラーグラフィックディスプレイをPICAXEで動かしてみて,実用的なスピードではありませんが機能は確認できました。→96x64ドットの有機ELカラーグラフィックディスプレイをPICAXEで動かしてみた→96x64ドットの有機ELカラーディスプレイにPICAXEでフォントを描いてみたスピードアップして組み込みたいのでArduino言語で動く100円マイコン?ATtiny1604に移植してみました。実用スピードになりました。PICAXE-20M2は孤独に見守っ
有機ELカラーグラフィックディスプレイをPICAXEで動かしてみています。→96x64ドットの有機ELカラーグラフィックディスプレイをPICAXEで動かしてみたグラフィックディスプレイにPICAXEでフォントを描くのは実用的なスピードではありませんが,そこは趣味として興味があるので自作プログラムで試してみました。ゆっくりですが,8bitの数字フォントを表示していますV(^^)。1.フォントの準備グラフィックディスプレイにはフォントが内蔵されていません。キャラクタディスプレイでCGR
色のRGB分析値をそれぞれの色で表したいと思い,96x64ドットの有機ELカラーグラフィックディスプレイを試しています。ディスプレイは秋月のQT095BでコントローラはSSD1331です。コマンド・データは8bitシリアル通信で送りますが,特に遅い方の制限はありません。まずはPICAXE-20M2で動かしてみました。SSD1331の拡張コマンドで長方形を描いたところです。以下は途中経過のメモ書きです。1.初期設定このディスプレイのデータシートには目がくらくらするぐらいの設定項目が
大阪のデジットの閉店セールで32x16ドットマトリックスLEDを手に入れたので,ATtiny1604をArduinoIDEでプログラムして動かしてみました。1台200円と安価で,PICAXEでも使えるかなと思って購入したのですが,よく見るとダイナミック点灯タイプで,,PICAXEでの直のコントロールは無理でした(^^;;;;;;;;。ということで,モジュール化も目指してまずはATtiny1604での試作です。試作にあたって,とても参考になったikkeiさんのサイトをメモしておきます。
NeoPixelフルカラーLEDに限らず,LEDの発色はなかなか意図したようになりませんね。PC画面での設計とはかなりかけ離れた発色が特に三原色の混合時には起こります(^^;;;。実際に色を発色させて,欲しい色のRGB値を調べれば良いという現物合わせの発想の装置を試作してみました。混沌とした机の上の試作機です。RGBそれぞれの値をボリュームで調整してNeoPixelを光らせ,その値を読み取ります。・PICAXE-20M2AD変換で出力調整ボリュームのRGB値を8bitで読み取り,値をLE
I2C接続の20x4キャラクタ液晶ディスプレイ2004AがPICAXEでも動くようになりましたので,バーグラフィックつきの表示を試してみました。→I2C接続の20x4キャラクタ液晶ディスプレイをライブラリのないPICAXEで動かしてみたバーグラフはCGRAMに書き込んだグラフィックを使い,0から255の数値を10単位で表示する簡易型です(^^)。1.40文字x2行表示の配置図2004Aの表示用のDDRAMアドレスの1,2行は16文字x2行表示の1602型と同じアドレスで始まっています。
I2C接続の20x4キャラクタ液晶ディスプレイ2004AはArduinoではライブラリですぐに動作したのですがPICAXEで動かすのには苦戦していました。→20x4キャラクタ液晶ディスプレイをPICAXEで動かすのに苦戦,勉強中分からないなりにライブラリを覗いたりArduino以外のマイコンの記事をみていて,どうやらこれは今まで扱ったのと違い,I2Cを通して液晶ディスプレイをパラレル4bitモードでほぼ直に動かすタイプであることに気が付きました。そうとなれば打つ手は経験があるので,PI
LED表示のRGB値を3行で表示したくて以前に安価に仕入れていたI2C接続の20x4キャラクタ液晶ディスプレイ(LCD)を引っ張り出してきました(^^)。I2C接続のキャラクタLCDや有機ELDはPICAXEでも何度か使っているので楽勝と思っていたのですが,,,苦戦しています。PICAXEで動かないので,まずはArduinoのライブラリで動かしてみて,中身をお勉強中ということです。ArduinoUNOに2004ALCDをI2C接続したところです。LCDとUNOとの接続は4本でシンプルで
フルカラーLEDは発色がきれいなのですが,欲しい色を出すのはなかなかむずかしいものです。現物を光らせて色を探すのが一番早そうなので,手動でRGB値を操作して三原色を配合してみています。構成はNeoPixelLEDリングとATtiny202を使ったコントローラ,配色を司令するPICAXE-20M2です。→NeoPixel系のLEDリングをATtiny202を使ってシリアル接続のモジュールにしてみたPICAXEにはRGB値の変更用にスライドボリュームを3個つけ,値をADCで読みとっています
NeoPixel系のLEDをコントロールするのにATtiny202を使ってみています。→NeoPixel系のLEDリングをATtiny202を使ってシリアル接続のモジュールにしてみた動作は問題がないのですが,ATtiny202ではバッファにとれるメモリが少なく,私のプログラムではRGBLEDが24個ぐらいのコントロールが限界でした。そこで,ATtiny202と同じ系列で手に入るマイコンとしてRAMが1KBあるATtiny1604を試してみました。システム構成はATtiny202をATt
NeoPixel系のフルカラーLEDは800KHzの独自の通信方式でナノ秒のコントロールが必要です。PICAXEのような遅いマイコンからも使えるように,ATtiny202を使ってシリアル接続のモジュールにしようと試してみました。何とか動いているところですV(^^)。1.ハード構成ハードはPICAXE-20M2,ATtiny202とNeoPixel系のRGB_LEDが24個のリングです。PICAXEが指令を出し,ATtiny202がコントロールパルスに変換してLEDを光らせる,という感じ
加速度センサーで傾斜角の計測ができ,使いやすいセンサーになるのではと思いました。→加速度センサーで傾斜角が測れるか試してみた加速度センサーで入力した傾斜角でRCサーボの動きをコントロールするのはどうだろう,ということでヘドバン・キャットの試作です(^^)。加速度センサーはアナログ出力のセンサーを2個使っています。・首のコントロール:KXR94-2050(X,Y軸を使用)・ギターのコントロール:KXM52-1050(Z軸)(KXM52は現在は廃版です。)また猫のイラストは「いらす
ステッピングモータを動かしてみています。→PICAXEと少し大きめのバイポーラステッピングモータで「令和」の文字ブロックを回してみたふと考えると動作の原点というかスタート位置を決めておかないと回転動作のディスプレイには使いづらいですね(^^;;;;;;。ということで,以前にコントロールの入力装置として使ったエレキバンと磁気センサーのセットを思いだし,位置決めに使ってみました。→エレキバンと磁気センサーでRCサーボをコントロールしてみる位置決めを試した「令和」の文字ブロックを回す装置
Seeeduino-XIAOではユニポーラのステッピングモーターをライブラリを使って動かしました。→Seeeduino-XIAOで小型のステッピングモーターを動かしてみたPICAXEのBASICプログラムでユニポーラ・バイポーラともに動いたので,Seeeduino-XIAOでも試してみました。ハード構成です。・MCU:Seeeduino-XIAO・ユニポーラドライバ:ULN2003A・バイポーラドライバ:DRV8835ドライバモジュール・ステッピングモーター:28BYJ-482
3Dプリンタで作った「令和」の文字ブロックをステッピングモータで,前からも横からも見られるように回してみようと試してみました。ハード構成です。・PICAXE-20M2・バイポーラステッピングモータST-42BYH1004基本ステップ角:0.9度±5%,1回転ステップ数:400入力定格電圧:5V,定格電流:1.0A/相・DRV8835ドライバモジュールステッピング&DCモータドライバモジュールモータ電源2~11V、ロジック電源2V~7V1回路ごとに1.5Aのドライブ能
ステッピングモーターを使ってみたくて,まずはArduinoのライブラリで動かしてみました。→Seeeduino-XIAOで小型のステッピングモーターを動かしてみたPICAXEのBASIC言語でも使ってみようと同じモーターとドライブで試してみました。使用したのはPICAXE-20M2とステッピングモーター28BYJ-48,ドライバーULN2003Aです。コントロールデータはPICAXEのポートBのB0-B3からパラレル出力し,ドライバのIN1-IN4にデータを送っています。なおユニポー
ロードマップのマット上で遊べる踏切があると良いとの事なので,PICAXEと光センサーとRCサーボなどを使って自動で動く踏切模型を作ってみました。踏切の全体像です。手動でも開閉できるコントロールボックスと踏切の警報・遮断機と列車の接近センサーなどでできています。どちらかのセンサーに列車が近づくと警報が起動して遮断機が下り,列車がいなくなると遮断機は上がります。手動で赤いボタンで遮断機を下ろすと,緑ボタンを押して列車がいなければ上がります。警報・遮断機は3Dプリンターで部品を作りましたが,