ブログ記事84件
プリンスオブペルシャオシロスコープUARTESP-01アナログ端子SPI通信SPI制御のTFTRMC-R4M1と周辺機器RMC-R4M1OV7670割り込みポートPWM16bitのTFTJpeg8bitのTFTレジスタ解説UNOR4WiFiで文字スクロールUNOR4WiFiUNOR4MINIMA改造ArduinoDUE改造スピード比較ポートレジスタ直接制御昔どハマりしたゲームオシロスコープが欲しいArduinoUNOR4の
専用アタッチメント作った。以前ArduinoUNOR4マイコンボードと液晶ディスプレイで自作オシロスコープを作ってみた。趣味で作ったので実用するつもりもなく、必要なら安い市販品を買おうと思っていた。が、買おうと思うとやっぱそこそこ性能のいいのが欲しくなって、そうすると3万円くらいは出さないといけない。「それくらい買っちまえよ」ともう一人の自分が囁きかけるが、さらにもう一人は「費用対効果を考えろ」と囁く。そうなんだよな。そんなに使用頻度は高くないよな。カメラとかならいろん
落ちる、走る、飛ぶ、飲むAppleⅡ版の初代「プリンスオブペルシャ」のソースコードが公開されいるから、それをいろいろいじって遊んでみようぜ。ということで、いろいろと苦労したが画像の描画までできるようになった。あとは連続して描画すれば、キャラクターがあの独特なヌルヌル感で動くことに。どうやって画像を変換しているかは前回までの記事で説明しているので、おさらい程度で振り返ってみようと思う。①まずはAppleⅡ版プリンスオブペルシャのソースコードをダウンロードする。↓ここ
苦肉の策だがなんとか正しく描画。ちょっと旅行に出てたが、また引き籠り再開だ。(^^;前回までは公開されているAppleⅡ版の初代「プリンスオブペルシャ」のソースコードの中から画像抽出をしてみた。ただ、"00"なら黒、"11"なら白、"01"と"10"は強制的にオレンジ、としてしまっている。主人公の青年は白とオレンジの2色だけで表現されているため、これで問題ない。しかし、姫や敵は白・オレンジ・青の3色で表現されている。つまり、前回のプログラムだと、青色で表現しなければな
キャラクターを液晶ディスプレイに表示してみる。AppleⅡ版の初代「プリンスオブペルシャ」のソースコードの中から、画像データの抽出ができそうなので、それを液晶ディスプレイに表示させてみようと思う。AppleⅡでの画面出力は、今のようなデジタル信号ではなく、昔のテレビでお馴染みのNTSC信号を出力していたそう。バリバリのアナログですな。出力信号の波に位相を付けるとテレビ側で滲みが発生して色が表現される?コンピューター内のデータはデジタルなんだけど、そのデータをNTSCの3.
画像のデコード?AppleⅡ版の初代「プリンスオブペルシャ」のソースコードで遊んでみようぜ、ということで前回の記事で私キャッスルが若かりし頃にプリンスオブペルシャにハマってたということと、初代版のソースコードが公開されているということを語った。『昔どハマりしたゲーム』昔どハマりしたゲームまたこのブログの、ArduinoUNOR4をイジり倒そうぜ、という趣旨から脱線したネタに・・・。なんでだろう、Arduinoマイ…ameblo.jpこの公開されてるソースコードを
昔どハマりしたゲームまたこのブログの、ArduinoUNOR4をイジり倒そうぜ、という趣旨から脱線したネタに・・・。なんでだろう、Arduinoマイコンボードをイジってると、昔のパソコンを思い出すからかな。性能が近いからか。そういえば、PC-8001とかMSXとかが主流の時代は、パソコンのことをマイコンって呼ぶことが多かった。今ではマイコンとは、このArduinoとかPICとかのイメージが強いが。そんなことはどうでもいい。私キャッスルがまだ学生だった頃、どハマりし
倉庫番ぷよぷよ3DダンジョンRTCグラデーションLチカコラムじっくり考えるパズルゲーム落ちゲーと言ったらテトリス?いやいや3Dダンジョンを作ってみたくなったArduinoUNOR4のRTCが使い物にならんArduinoUNOR4WiFiのLEDマトリックスでグラデーションを作ってみたArduinoUNOR4MINIMAでLチカR4を入手した↓↓↓↓↓↓↓倉庫番のソースコードぷよぷよのアルゴリズム3Dダンジョン作ってみたく
SPI通信のディスプレイでオシロスコープをST7796Sのコントローラーを使ったSPIデータ転送方式の液晶ディスプレイで、どれだけ早く描画できるか実験したところ、思った以上のスピードが出ることがわかった。『SPI通信で送信の限界に挑戦。』SPI通信で送信の限界に挑戦。プログラムの効率化はもちろん大切だが、SPI通信も早くできないか考えてみよう。単純にスピードを上げるのなら、SPIのクロッ…ameblo.jpこれだけのスピードがでるのなら、以前作った簡易オシロスコープ
SPI通信で送信の限界に挑戦。プログラムの効率化はもちろん大切だが、SPI通信も早くできないか考えてみよう。単純にスピードを上げるのなら、SPIのクロック周波数を上げればいいのだが、すでにRA4M1マイコンのSPIモジュールの上限である24MHzに設定済みだ。なのでクロック周波数によるスピードアップは望めない。そこで、RA4M1マイコンのマニュアルとにらめっこをする。あと、SPIを制御するライブラリのソースコードともにらめっこをする。起動や設定等をしているbigin関数
プログラムの効率化パラレル転送方式と比べるとどうしても描画速度に劣るSPI通信転送方式の液晶ディスプレイ。それを何とか高速に描画できないかいろいろと考えていきたいと思う。今使っている液晶ディスプレイは、ST7796SのドライバーICを搭載させたものだ。当然ながらArduinoIDEで使うことができるライブラリも存在する。有名なのはAdafruit社が公開しているライブラリ等がある。このようなライブラリを使用して全画面ベタ塗りを実行してみると、前回のプログラムよりも早く
SPI通信の液晶ディスプレイで高速描画したい。先日までArduinoUNOR4マイコンボードでオシロスコープを作る実験をしてきた。液晶ディスプレイの描画をなるべく早くしたかったので、8bitパラレル転送方式の物を使った。SPI通信を使ったデータ転送方式の液晶ディスプレイの方が配線数も少なくて扱いやすいが、どうしても描画速度はパラレル転送方式よりも遅くなってしまうのがネックでね。だいぶ前に手持ちのSPI転送方式の液晶ディスプレイを使ってみた記事を書いているのだが、サンプル
機能強化とプログラム見直し。機能強化と言うほど変えたわけではない。トリガーポイントを時間軸方向にも動かせるようにしたのと、立ち下がりトリガーにも対応したくらい。あいかわらずトリガーのチャンネルはCh1で固定だし。あとトリガーポイントの場所を示す矢印も表示させるようにした。メニュー画面はどうしようか思案中。「いるか?」という気になりつつある・・・。最初のArduinoUNOR4WiFiのLEDマトリックスでオシロスコープを表示させるプログラムから、一つひとつ機能を
2ch化してみた。まさか往年の匿名掲示板「2ちゃんねる」を思い起こす人はいないとは思うが。今までのArduinoUNOR4でオシロスコープを作ってきたものを、1チャンネル入力から2チャンネル入力にしてみただけ。マイコンボードのA2ポートから信号を入力する。その他は何も変わっていない。トリガーもCh1の立ち上がりでしか検出できないのも変わっていない。グラフの一番下が0Vで固定というのも変わっていない。チャンネル数が増えたので、グラフの0V位置を変えられるようにはしな
各種情報を表示しないとね前回でかなりオシロスコープっぽくなってきたが、このままだと現在の時間軸や電圧軸の設定値がわからない。なので今回は画面内に各種情報を表示させようと思う。そのためには文字の形のデータが必要になる。つまりフォントだ。定番(?)のライブラリAdafruit_GFXを使えば、フォントも付属しているし画面に表示する関数も用意されている。が、それでは今までライブラリを使わずに高速描画にこだわっていたのが台無しだ。フォントデータだけ借用する手もあるが、データの
目盛りを表示させて、簡易操作もできるようにした。ArduinoUNOR4に液晶ディスプレイを接続して、A/Dコンバータで読み取った値をディスプレイに表示させて簡易的なオシロスコープになった。『液晶ディスプレイに表示させる』液晶ディスプレイに表示させる前回はArduinoUNOR4WiFiのLEDマトリックスにオシロスコープを描画させてみた。もちろんこれで完成なわけで…ameblo.jpだがまだ普通に使えるレベルにはなっていない。サンプリングレートなどはソー
液晶ディスプレイに表示させる前回はArduinoUNOR4WiFiのLEDマトリックスにオシロスコープを描画させてみた。もちろんこれで完成なわけではなく、ちゃんとした液晶ディスプレイに表示させて、最低限使えるものにしていきたい。前回の記事はこちら。『まずは超超超簡易オシロ』まずは超超超簡易オシロ前回、ラジオペンチさんのブログ記事を参考に自作オシロスコープを作ろうと思い立ったわけだ。それをArduinoUNOR4に移植し…ameblo.jp今回使う
まずは超超超簡易オシロ前回、ラジオペンチさんのブログ記事を参考に自作オシロスコープを作ろうと思い立ったわけだ。それをArduinoUNOR4に移植していきたいと思う。ラジオペンチさんのArduinoUNOR3を使った簡易オシロスコープの記事はこちらから。http://radiopench.blog96.fc2.com/blog-category-55-4.htmlプログラムを見てみると、ADCからの読み込み・解析・描画が肝であるとわかった。なのでまずは必要な
オシロスコープが欲しいArduinoマイコンボードをいろいろいじっていると、オシロスコープが使いたくなる場面が幾度もある。デジボルの周波数カウンターで事足りることもあるが、DACから正弦波を出力してもそれがちゃんと波を描いているのかなど、やはりオシロスコープでないとよくわからん。波形を見るだけなら簡易的な物でかまわない。MHz帯を読める必要もない。だったら自作しようぜ、となるのは私キャッスルだけではないと思う。ネットでググったら、そりゃあるよね。それもいくつか出てくる
外部割込みポート爆増?前回で、ArduinoUNOR4マイコンボードのポートを全て調べて、外部入力割込み機能が存在するか調べてみた。するとけっこうな数のポートが外部割込み機能があるという結果に。今回はそれらが本当に使えるか実験してみることに。ArduinoUNOR4MINIMAを例にして、前回のチェックプログラムの結果と、前々回の記事でどのポートがどの割り込み番号を使っているかのリストを照らし合わせると、D0:IRQ6D1:IRQ5D2:IRQ
attachInterrupt関数を調べてたらArduinoUNOR4マイコンボードで外部割込みを使いたい場合は、attachInterrupt関数を使えば簡単に設定できる。UNOR4の仕様によれば、D2とD3ポートの二つのみで外部割込みが可能ということになっている。が、以前から散々言っているが、UNOR4に搭載されているRenesas製RA4M1マイコンには外部割込み機能は15個搭載されている。それらを使えるようにしたいではないか。手っ取り早いのは、atta
外部割込みポートを増やせるか以前、ArduinoUNOR4マイコンボードの外部割込み端子は、仕様では2つだが実際には4つ使える。ということを書いた。『ArduinoUNOR4の外部割り込みポート』ArduinoUNOR4の外部割り込みポートArduinoUNOR4で外部からの割り込みが使えるか検証してみた。結論から言うと、4つのポート…ameblo.jp4つ使えてしまうのはバグの気もしないではないが、それは置いておこう。重要なのは、UNO
追加したシリアル通信ポートでESP-01を制御前回でArduinoUNOR4マイコンボードの使われていなかったシリアルコミュニケーションインターフェース(SCI)を使ってUARTを追加する方法を紹介した。まぁほぼ使いどころのないUARTなのだが、私キャッスルの手元にある唯一のUARTを使う周辺機器であるESP-01を、追加したUARTで制御してみる。UARTに関してはこちらから。『ArduinoUNOR4のシリアル通信モジュール』ArduinoUNOR4のシリアル
ArduinoUNOR4のシリアル通信ポートを増やす前回、ArduinoUNOR4マイコンボードに搭載されているRunesas製RA4M1マイコンには、標準でシリアルコミュニケーションインターフェース(SCI)が4つあると説明した。ただ、ArduinoUNOR4の仕様ではD0,D1ポートの"Serial1"だけがユーザーに解放されている。せっかくなので、他のSCIモジュールも使えるようにしてみよう。というのが今回の趣旨だ。あまり使わない機能であるから1つあれ
ArduinoUNOR4のシリアル通信モジュールArduinoUNOR4に搭載されているRunesas製RA4M1マイコンには、シリアルコミュニケーションインターフェース(SCI)モジュールが、標準で4つ搭載されている。シリアルコミュニケーションには色々な種類があるのだが、最近主流のI2C通信やSPI通信もそうである。USBもそうだ。なのでRA4M1マイコンに搭載されているSCIモジュールを使って、簡易的にだがI2C通信やSPI通信を行うこともできる。USBは無理だけ
USB-シリアル変換器の代用前回でESP-01のファームウェアアップデートの方法を書いたのだが、ESP-01はNodeMCUのようにUSB-シリアル変換器を搭載していない。そのためファームウェアを書き換えるためには、別途USB-シリアル変換器を用意しなくてはならない。これは別に珍しい物でも値段が高い物でもない。なので、ESP-01と専用のUSB-シリアル変換器を同時に購入してもいいだろう。だが私キャッスルはESP-01のみを単体で購入した。ただ単に興味本位で、本当に使え
ESP-01のファームウェアをアップデートしようESP-01というかESP8266にATコマンドで制御できるファームウェアを書き込んで、WiFiEspATライブラリを使ってWi-Fi接続機能のないArduinoマイコンボードからWi-Fi接続しよう、というのが前回の話であった。が、WiFiEspATライブラリはファームウェアバージョン1.7以降でないと使えないことがわかったので、今回はファームウェアをアップデートしてみようと思う。ネットでググると、ESP系マイコンを製造してい
ATコマンドをいちいち書いてられないよ前回でArduinoUNOR4MINIMAにWi-FiモジュールであるESP-01を接続し、ATコマンドを実行できるところまではできた。さらにはWi-Fiのアクセスポイントに接続したり、Webへアクセスしたりしないといけないのだが、それはかなりめんどくさい。Wi-Fiのアクセスポイントに接続するには、AT+CWMODE=1AT+CWJAP=”AP_name",”password”というコマンドを発行し、しかもその都度返答が正しく
ArduinoUNOR4MINIMAでESP-01を制御前回で思い付きのように始まった、ArduinoUNOR4MINIMAでWi-Fi接続させたい、って企画だが、まずは私キャッスルのおもちゃ箱の中に転がってた激安Wi-FiモジュールであるESP-01を使うことにした。ここでESP-01の詳しい仕様を紹介したりはしないので、簡潔に。ESP-01とはESP8266を搭載したWi-Fiモジュールである。ESP8266自体がマイコンなので、これに直接プログラミングして
ArduinoUNOR4MINIMAでWi-Fi接続したいArduinoUNOR4WiFiを入手してください。Arduino®UNOR4WiFiTheArduinoUNOR4WiFicombinestheprocessingpowerandexcitingnewperipheralsoftheRA4M1microcontrollerfromRenesaswiththewirelessconnectivitypowero