「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



この間の、ラジオペンチさんのUC1701液晶の記事

http://radiopench.blog96.fc2.com/blog-date-20150125.html

を参考に、Arduinoでいじってみることに。


まずは、ラジオペンチさんに倣って、u8glibを
そのまま使って動かしてみることに。



配線は、ラジオペンチさんのコードにあわせてみた。

バックライトのLEDの制限抵抗は、最初300Ωを繋いで
みたところ、十分明るかったんだけど、写真撮るには
もう少し明るいほうがいいかな、と思って、75Ωを
繋いでみたのがこの写真。

ちなみにマイコンは、内蔵RCの8MHz発振にしてある
3.3V動作のワンチップArduinoを使用。
adafruitのシールが貼ってある。
(写真だと見えにくいけど)





んで、simさんのtwitterで、

https://twitter.com/Sim0000/status/547803795917254656

ST7565と互換っぽいことが書かれていたので、スケッチ
をST7565のものを使い、ピン配置だけこれにあわせて
実行してみた。



例のパターンを表示するスケッチ。

初期化コードがまずいのか、スケッチがどこか変
なのかがよくわからないんだけど、1行おきに、
左に2ドット空きができて、そこに微妙にごみが
表示されるんだよな。

あと、コントラストの指定値はちょっと変えてある。




さらに、adafruitの、例の有名なST7565用スケッチも
動かしてみた。



まぁ、表示されるんだけど、やっぱりこれもほかのST7565
液晶と同じように、上下半分が逆に表示されるんだよな。




まぁ、モノとしては壊れていないことはわかったので、
u8glibのUC1701初期化コードを探してきて、その初期化
コードを、以前作ったSSD1306用のサンプルスケッチ
(オシロの作りかけのやつをSSD1306にフィットさせて
みたもの)に組み込んでみた。



出た。出た。しめしめ。左端のノイズとかも無い。



けど、一部の文字が表示されないな。何でだろう?と
思って、しばらく迷って困って、調べても調べても、
原因わからずで困ってたんだけど、どうやら、以前
アレンジしていたSSD1306のときも、



こんな風に、一部の文字が表示されてなかった。
本当は、以前NOKIA5110で表示したみたいに、



こういう風に表示したいんだけど…



NOKIA5110で表示したときとの違いはというと、
スクリーンサイズが大きく違うので、これは多分
メモリサイズじゃないかなと。メモリ不足。
MEGA328のSRAMでは、このサイズだとぎりぎりアウト
になるみたい。
VRAMだけで1KB食って、さらにFFTライブラリも
取り込んでるので、もういっぱいいっぱい。



まぁ、UC1701の初期化処理自体は、u8glibを読んで
みたら、わかった。やっぱり、
  u8g_dev_uc1701_mini12864.c
の中で書かれている
  uint8_t u8g_dev_uc1701_mini12864_init_seq[]
という配列内部の16進数の並びがそのものだった。
そこが知りたかった。
(ソース中にコメントも書かれてるので、内容は
 なんとなくわかるかと)

このc言語ファイルは、以下の場所に。
  arduino-1.0.5\libraries\U8glib\utility



ちなみに、配列の要素は、16進数以外の値も
入っているんだけど、これらはどうやら、この
ライブラリ内で、特殊文字(エスケープ文字)
として定義しているデータっぽい。

出力処理内で「時間稼ぎ」を行わせたり、
チップセレクトとかの端子を制御させたりと
いった意味になっているみたいなので、その
あたりを踏まえて、個別にロジック展開してみた。



なお、データの出力処理は、SSD1306のコードと
まったく同一のまま使ってるんだけど、この
あたりのデータフォーマットは同じものと考えて
よさそう。
ビットイメージの指定も、カーソル位置の指定も、
まったく同じ。

まぁ、似通ったハードだから、あんまり選択肢
なんぞないんだろうな。



初期化コードがわかっちゃえば、あとは似通った
ハード向けのコードやライブラリがカンタンに
流用できるかと。

オシロ全体として、まだまとまってないので、
ある程度まとまったら、例によってArduinoの
ページに、自作のライブラリ丸ごと含めて
整理しておく予定。


この液晶、500円前後と安いながら、機能はなかなか
なものがあるんだけど、表示のコントラストが少し
薄めなのかな。NOKIA5110のほうが、コントラストは
高めみたい。

まぁ、便利だし安いから、あといくつか手元に
置いておきたいな。



コメント ( 0 )




ふと思いついた。

サーボモータを、DCモータとかポテンショメータ
とか組み合わせて作ると大変だけど、出来合いの
サーボモータ(壊れたやつとか)を分解して、
再利用したらいいんじゃね?とか。


で、サーボモータ分解してる人って、きっといる
だろうと思って検索。

http://d.hatena.ne.jp/licheng/20140822/p1

部品構成の細かいところまではわからなかった
けど、なにやら面白いことをされている。

ギヤに取り付けられたストッパを削り落として、
ぐるぐる回り続けるサーボに。

なるほど。こういう風に改造すると、Hブリッヂを
使わずに、双方向回転の制御ができるモータが
作れるわけだな。なるほど。

ちなみに、マイコン側はともかく、サーボ側は
アナログ制御なので、中間の波形を出力して
いるつもりでも、(機械からのフィードバックは
働かないので)微妙な揺らぎによって、どっちか
に回転しっぱなしになる可能性もあるかな…。

あと、PWMとかで回転数をアナログ的に制御する
のも難しいか。




http://www.nicovideo.jp/watch/sm25226229

Unity。いろいろ難しそうだから、オイラには
向かないだろうと敬遠してたんだけど、この
動画見る限りは、いじって動かしてみるあたり
まではそんなに難しくなさそうだな。





http://www.nicovideo.jp/watch/sm4348741

へぇ。こんなスプレーあるのか。サンドスプレー
とか使う加工より、ずっと楽チンっぽいな。





http://www.nicovideo.jp/watch/sm25457165

おぉ。赤道儀用ポーラメーター。これ1個あると
便利かもしれん。
いちおう、赤道儀に角度を示すシールが貼って
あることはあるんだけど、水平取らないと意味が
ないやつだし。

いざとなれば、北極星が見えないときでも、これと
方位磁石(+偏差補正)で、およそ1度くらいの
誤差に収めることはできそうだな。

分度器くらいは100均でも売ってるだろうし。





https://www.youtube.com/watch?v=cFJDMhLAmds

いろいろ探してみたところ、DMC-GF2とかGF3とかGF5
とかの代わりに、GHシリーズや、GXシリーズ、G3以降
のGシリーズあたりで、そこそこ古いのなら、機能と
値段がそこそこいい感じなのがあるみたい。

GX1は、大きさ、軽さ、機能の点で、なかなかよさげ
だな。インターバル撮影は、本体だけでは無理っぽい
けど、レリーズ端子はあるから、何とでもできる
みたい。2.5mmの4接点端子(ミニミニプラグ)で、
中身は抵抗の分圧程度の回路らしいから、Arduinoでも
十分制御できちゃうだろう。


さがしてみたら、

http://shin-ishimaru.cocolog-nifty.com/blog/2010/08/lumix-gh1-gf1-g.html

フォトカプラで制御する回路を発見。うん。カンタンに
作れそうだな。

動作原理はこちらのサイトに。

http://spacewalker.jp/mt/spacewalker/archives/1783


まぁ、自作しなくても、サードパーティー製の安い
インターバルタイマは売ってるみたい。ミラーレス
だから、ミラーアップを考える必要ないし、単なる
インターバルタイマで十分なんだよな。


レンズは、広角側のズーム1本あれば、オイラ的には
十分かなと。しいて言えば、Kマウントレンズを
取り付けるコンバータがあればグー。





コメント ( 0 )