Category Archives: コンピュータ

UI コンピュータ

Windows8でモダンUI(メトロUI)を無効にする方法

Published by:

未だにWindows8はUIがダメだからなんていう声が聞こえてくるのですが、モダンUI(旧メトロUI)のインパクトは相当のもののようです。
モダンUIさえスキップしてしまえば、過去最高に使いやすいWindows OSが使えますので、Windows7以前の人はさっさと乗り換えてしまいましょう!

「モダンUI 無効にする」などを検索すると、これこれというプログラムをインストールするみたいなバッドノウハウが結構残っていますので、気をつけましょう。

モダンUIを無効にする方法

1. タスクバーを右クリックし、「プロパティ」をクリックします。

1. タスクバーを右クリックし、「プロパティ」をクリックします。

2. 「サインイン時または画面上のすべてのアプリを終了したときに、スタート画面ではなくデスクトップに移動する」にチェックを入れて、OKボタンをクリックする。

2. 「サインイン時または画面上のすべてのアプリを終了したときに、スタート画面ではなくデスクトップに移動する」にチェックを入れて、OKボタンをクリックする。
ついでに「スタート画面にデスクトップの背景を表示する」のチェックもつけておくと、何かと落ち着いた気分になれます。

これだけです。
この方法はWindows8.1以降で使えますので、Windows8からのアップグレードがまだの方はぜひ。

スタートメニューの代わりにランチャーソフトをインストールしよう

また、スタートメニューがないという点にも恐れおののいている方が多いようです。
モダンUIが旧スタートメニューにあたるランチャーなわけですが、正直デスクトップPCではあまり使い勝手が良いとはいえないと思っています。
私はずっと以前から「Orchis」というランチャーソフトを使っており、もともとスタートメニューに依存していなかったので、Windows8への乗り換えには何のためらいもありませんでしたよ。

Orchis
Orchis
ポップアップメニュー型ランチャ/ファイラ

【Orchisとは・・・】
階層型ポップアップメニュー形式のプログラムランチャに、ファイラ機能を盛り
込んだ、とっても便利なツールです。
http://www.vector.co.jp/より抜粋

使い方ですが、デスクトップをダブルクリックするとポップアップメニューが表示されて、そこから登録しておいたプログラムなりを起動する仕組みです。
フロートタイプのスタートメニューといえば分かりやすいかもしれません。

これであなたもWindows8の人(?)になろう!

コンピュータ ハードウェア

Google 3rd eyeがもたらすもの

Published by:

世間ではGoogle Glassによるプライバシー侵害が話題になっているけど、まだまだ甘い。

未来に必ず出来るであろうGoogle 3rd eyeはというと、視神経直結ディスプレイ+カメラ搭載。
世代でいうと、
Google Glass(メガネ型ディスプレイ)
→ Google surface on eye(コンタクト型ディスプレイ)
→ Google in retina(網膜内ディスプレイ)
→ Google 3rd eye(視神経直結ディスプレイ)あたり。

インターネットにも当然つながっているので、テスト中のカンニングもし放題。
というより、記憶力を問うようなテストは何かと無意味になる。

電車の中でモバイル機器をいじる人はいなくなり、代わりに口を半開きにしてボンヤリ前をうつろに眺める人と(3rd eyeで情報閲覧中)、逆に周りをきょろきょろ見渡しまくる人(3rd eye経由で周囲の人の個人情報をのぞいたり記録したり)が増える。

次に生まれるのは、Google 耳、Google 口。

Google 耳があれば、耳から入ってくる情報を自動で選り分けたり、自動翻訳してくれたり。
Google 耳+Google 口があれば「ほんやくこんにゃく」のできあがり。

その後、Google 鼻、Google 手、Google 足、そして Google 内臓あたりで一段落。
全装着でドルイド君になっちゃう。

日本では親からもらった体をいじるのはタブー視されているので、自分がドルイド君になるよりは、そばにいて何でもやってくれるドラえもんが生まれるといいな。できたらいいな。

UI コンピュータ ソフトウェアidea

idea#14 ついに来た!超仮想キーボード

Published by:

マイクロソフトがPC用 新型Kinectを発表・近距離からの高精度な読みとりに対応

PC用の新たなインターフェースとしても Kinect をプッシュするマイクロソフトが、
PC用の新Kinect ハードウェアを発売することを明らかにしました。
新 Kinect はハードウェアおよびファームウェアをPCでの使用に最適化した製品。
奥行きセンサーから40cmの近距離から認識でき、50cmならば
高精度の読みとりが可能な ” Near Mode ” を備え、デスク上などで使う
「クロースアップ」アプリに対応します。

これをタブレットにつなげて使えれば、エアキーボードが可能になる!かも!
前後の入力文字を賢く判断してくれれば、物理キーボードよりもむしろ入力早くなったりして。

マウスジェスチャーのようにジェスチャーと組み合わせて使用すれば、あんなことやこんなことも・・・
なぜか入力インターフェース系には異常に夢が広がります!!

UI コンピュータ デザイン

マウス→タッチへの移行。新インターフェースは何から何まで変えるのか。

Published by:

Windows 8とMac OS Lion、時代は「マウス」を遺物とする?!
個人的には「マウスは死んだ」と思っている。むろん、まだ死に絶えてはいない。しかし歴史は既に動き出していると思うのだ。

 
新インターフェースとして、マウスからタッチへと移行が本格化しつつあります。
以前「(1) PC3.0を予想してみた:キーボードとマウスに変わるもの」でも書いたように、キーボード&マウスというオジサン世代(数十年後にはおじいさん世代)のツールは少しずつ無くなっていくのではないでしょうか。

上の記事を書いたときには、まだ自分でタッチパネルを使っていなかったのですが、いざEee Topを購入してタッチ操作を楽しんでみて分かったのは、据え置き型コンピュータのパネルをタッチするのは疲れるということです。
腕を常に上げ続けないといけない!

2009年当時欲しかったのはまさにiPadそのもの(タッチパネル式のタブレット)で、iSlateという名前で出る出ると噂され続けながらも結局Appleが出してくれず、仕方なくEee Topを買っちゃったという経緯があります。

その体験がchromeTouchというソフトウェアを作るきっかけにもなったのですが、タブレットではない据え置き型パソコンでは、Appleのマジックマウスのようなマウス+タッチが最良解のようです。

今後はタッチパネル式のタブレットか、据え置き型コンピュータ+マジックマウスの2択という流れになりそうですが、いずれの場合にも2つの問題が残っています。

それは、

  1. 指がマウスカーソルほど尖っていないので、細かい部分をピンポイントでクリックできない
  2. マウスオーバー(クリックしていないけどカーソルは動かしている)が表現出来ていない

という2点です。

問題1に関しては、iPhoneやiPadを使っている人は、ズーム機能によって解決できているのでしょうが、どうもそれが面倒に感じてしまうのです。
そもそも操作に時間がかかるし、操作している姿も何だか艶かしすぎるといいますか・・・

指に専用のキャップみたいのをつけるのも実はあり?

あほかと言われそうですが、意外にアスクルのカタログなんかにもいつか登場するかもですよ。
ネーミングは「Digit Cap」とか。

問題2は、MicrosoftのKinectの小型版みたいのをタブレットかマジックマウス様のものに搭載して、指を近づけるとカーソルっぽいのが画面に出現して、マウスオーバーを再現してくれる・・・というのが私の理想です。
指を触れないと操作できないという壁は、2012年くらいにはさっさととっぱらって欲しい!

とにもかくにも、Windows8とMac OS Lionによってぐいっと一歩その未来に近づいたわけですので、次のステップは本当にもう間近に迫っていると感じています。

コンピュータ 日常

肥大化したMS-Wordファイルを小さくする

Published by:

今、Wordの編集をして保存したら、もともと4MBくらいのファイルサイズが8MBと2倍に膨れ上がってしまいました。
修正したのは一文追加しただけなんだけど。。

なんだこれ、と思いこれまでのバックアップファイルを確認してみたら、突然ファイルサイズが倍になっているタイミングが何度かありました。

ぐぐってみると、「高速保存のチェックを外す(→もともとチェックされていなかった)」、「版の管理でバックアップが残っているのを消す(→何もバックアップされてない)」などありましたが、解消できませんでした。

そこで、

  1. Wordファイルを新規に開き、
  2. 問題のWordファイルを「全て選択(Ctrl-A)」してコピー、
  3. それを新規Wordに貼りつけすると、

文書の縦横やマージンを含めてきちんと元の文書を保っています。
で、それを保存すると、360KB・・・。20分の一以下になってしまいましたことよ。
インデントなどがずれるところもありましたが、そこは手で修正しました。

というわけで、Wordファイルが重くなったら、新規ドキュメントに貼り付けましょう。

コンピュータ

Webプログラミング史

Published by:

このドキュメントについて

Webプログラミングの歴史はせいぜい10数年と浅く、古くはPerlを使ったCGIやJavaアプレット、最近ではHTML5やスマートフォン向けのアプリ開発などに話題が集まっています。
Webの進化の歴史は、2000年ごろに検索サービスを開始したGoogle検索の歴史とも重なるため、キーワード検索を使って過去の文献を探すこともできますが、時系列に沿ってWebの進化をまとめた資料というものは意外に多くありません。
そこで、1999年ごろからWeb開発に興味を持ち続けている当事者の観点からWeb開発の歴史を残しておくことは、多少なりとも意味のある試みと思い、この度「Webプログラミング史」としてまとめることにしました。

Webプログラミング史

黎明期(~1999年)

私自身がWebプログラミングをはじめた1999年より以前については、正直多くを語ることができませんが、Perlを使ったCGI(アクセスカウンタ、掲示板)や、JavaScriptを使ったページのにぎやかし程度だったように思います。

当時はWebプログラミングよりは、OSインストール型のソフトウェアがほとんどで、お気に入りのソフトをインストールしては、ローカルPC上で利用するという考え方が一般的でした。

開発環境や実行環境も整備されていなかったため、数多くのバッドノウハウが生まれ、Perl職人、JavaScript職人といったある種の特殊技能として見られることが多い時期でした。

検索エンジンシステム大流行の巻(2000年~2002年)

Google以前はどうやって情報を検索していたのでしょうか。

コンピュータを2000年以降に使い始めた方には考えられないかもしれませんが、Google登場以前は、「キーワード検索」という概念が実質ありませんでした。
現在でいうアルファブロガーのような方たちが、有用なサイトのURLを集めて、リンク集を作成し、そこからツリー上にたどっていく方法が一般的でした。
Yahoo!はそこに商機を見出し、各Webサイトオーナーに有料でリンクを販売し、カテゴリ別にあらゆるサイトへのリンク集を用意することで、一大ポータルサイトの座を獲得するにいたりました

キーワード検索機能を提供するWebサービスもあるにはありましたが、精度は低く、対象サイトも少なく、一回の検索に5~10秒近くかかるような代物だったため、一般的なサービスとしては認識されていませんでした。

Googleが登場したのは、まさにそんな状況だったのです。
あらゆる情報をコンマ数秒で表示してくれるGoogleに世界は熱狂し、検索エンジンブームが到来。猫も杓子も検索エンジンを作成する時期が続きます。
コンピュータ雑誌では検索エンジンの作り方を特集し、特に日本ではNamazu(当時最先端の日本語全文検索システム)を使えないとモグリ的な風潮が広まりました。

サーバーサイド・プログラミング大流行の巻(2003年~2004年)

このころには、動的なコンテンツを表示するためのWeb用言語として、PHP、Perl、Java Servletが出揃い、それぞれが猛烈な勢いで進化していきました。

PerlではCPANサイトの利用が活発化し、PHPはユーザープログラマの要望にこたえてありとあらゆる機能が組み込み関数化され、Java Servletではデザインパターンを駆使した開発スタイルが大流行しました。

それらの開発言語とは別に、データ構造としてのXMLや、分析・設計言語のUML、HTMLにデザインを適用するCSSなど、関連技術が毎月のように登場し、発展し続けたため、開発関係者はとにかく勉強しまくって、エンジニア30代限界説などがまことしやかにささやかされ始めたのもこのころです。

サーバーサイド・プログラミング洗練期(2004年~2005年)

開発言語としてRuby on Railsの採用が増え始め、PHPはPearやZend Frameworkといったフレームワークの利用が一般的になり、データベースへのアクセスはO/Rマッピングで行うといった、一から全部を作らず、これまで培われてきた技術や方法論を集約し、誰でも同じようにコーディングするような開発スタイルが定着してきました。

Javaの開発においても、アスペクト指向やDI(依存性の注入)という画期的な「発明」により、これまでに蓄積されたServlet開発の問題点を一掃することに成功しました。

Web開発の未来としては、プログラミングの自動化やメタ言語・メタメタ言語による設計など、より抽象的な方向に進むかのように思われていました。

Ajaxの台頭(2005年~2006年)

2000年にWebの世界を一変させたGoogleが、今度はWebの進化の方向を、誰も考えていなかった分野へ切り替えてしまいました。
それが、Googleマップのリリースです。

Googleマップのリリース日以降、開発者たちは新種の珍獣でも見つけたかのように、GoogleマップのHTMLソースを調べまくりました。
そこにFlashのswfファイルが読み込まれておらず、JavaScriptによって作られていることを発見してからは、オンライン・オフラインを問わずいたるところでGoogleマップ勉強会が催され、「Ajax」という用語が作られてからはすさまじい勢いで関連サービスが生まれました。

JavaScriptは90年代からJavaScript職人によって利用されていたものの、ブラウザ間の仕様の不統一がたたって、ほとんど黙殺され続けてきた不遇の言語ですが、Googleマップ以降は2011年現在にいたるまで、重要言語としての地位を保ち続けています。
ただ、ブラウザ間のJavaScriptエンジンの実装の差異は大きく、統一的にコーディングを行うためのフレームワークの登場が望まれ続け、この時期開発されたPrototype.jsが最初のデファクトスタンダードとなりました。

Web2.0という用語が新聞に載り始めたのもこのころで、新たな商機を見出した企業が作って作って作りまくりました。

Webの進化が止まった?(2007年~2008年)

Web2.0という用語が大衆化し、サーバーサイド・プログラムの画期的な進化も現れず、クライアント・プログラム用のライブラリとしてはPrototype.jsに代わってjQueryの一人勝ちが見え始めてきたこのころ、「もう新しいWebサービスは生まれないのではないか」という問いかけがちらほらと聞かれるようになりました。

ゼロベースから新サービスを立ち上げるのではなく、GoogleやAmazonなどが提供するAPIを呼び出して、それらのAPIから受け取った情報を組み合わせたマッシュアップサービスこそが新しいWeb開発のスタイルかのように喧伝されました。
Web開発者も、APIが生まれるたびに使い方を学ぶ羽目になるという状況が続きました。

クラウドという用語が生まれたのもこの時期で、Web開発そのものがブラックボックス化している様子をうまく表していると感じられました。

つぶやきを中心に世界が回る(2009年~2011年)

2006年にサービスが開始したTwitterの可能性を、マッシュアップに明け暮れていた企業は見逃し続けていましたが、「ツイート」の魔力は2009年ごろにはもう抵抗できないくらいの勢いになっていました。

世界中のありとあらゆる情報が140文字のトークンとなり、すべてTwitterというブラックホールに吸い込まれていきました。
その影響もあってか、ブログなどでのまとまった形のコンテンツが相対的に減少したように、個人的には感じています。

さらに、TwitterやiPhoneの登場に呼応して、Webアプリという市場が形成され始めました。
Apple社のApp Storeという名称には、商標登録無効を訴える騒ぎが持ち上がるほどに、「アプリ」というキーワードがWeb開発のトレンドになっています。

これまではスケーラビリティー(拡張性、発展性)というキーワードの元に拡大・発展を続けてきたWebが、Twitterやアプリなどのように縮小を始めてきているのは何を示しているのでしょう。
これは未来になってみないと誰にも分からない問いなのかもしれません。

to be continued..

過去Webの歩き方

発行・更新年を意識した検索方法

この文書で見てきたように、Webの開発は二順も三順もしています。
2005年くらいまではキーワードだけによる検索も有効でしたが、サーバーサイド開発が盛り上がった2005年以前の情報は玉石混淆で、本当に現在使うべき方法を見つけることはなかなか難しいものです(クライアントサイド開発に関しては現在がその状況です)。

たとえば、Javaのプログラムでユーザーが入力した文字列の空白チェックをしたいと思います。
検索キーワード「java 空白 チェック」でGoogle検索すると、検索結果の1ページ目に出てくるのは、現在では不適切な情報ばかりだったりします。

代わりに、「java 空白 チェック 2011」と西暦を指定して検索すると、1ページ目の最初の10件のうち、3~4件は有用な情報を見つけることができるようになります。

西暦指定をしても、過去の情報が出てくる場合がありますので、かならずいつ書かれたドキュメントなのかを意識して参考にすることが肝心です。

Q&Aサイトは比較参考程度に

こと開発に関する情報ソースとして、Q&Aサイトで解決できることは稀です。
プロフェッショナルの回答者は少なく、「ググってコピペ」タイプの方が多いため、古い情報を転載していることが非常に多いためです。

アメリカでは専門家がアンサーしてくれるQuoraというWebサービスが2010年にに開始しましたが、上記のような問題を解決しうるのか注目されています。

著者略歴

smilkobuta
プログラミング大好きな九州男児。

最初に作ったプログラムは時間計算プログラム。自作音楽テープを作る際、A面・B面に無駄なく曲を詰め込むために作成した。
開発環境は、父のワープロにおまけでついていた表計算ソフト。

幼いころからの夢であったフランス料理のコックを目指して、調理師専門学校卒業後に渡仏。
その後、製菓の勉強のため上京するも、PCの楽しさに目覚めてSEに転身。

いろいろあって今にいたる。

コンピュータ

Zabbixでログインできないとき

Published by:

ZabbixというのはLinux用のシステム管理ツールですが、MySQLのバージョンによっては変なエラーがたくさん出てログインすら ままなりません。

—-
Error in query [select u.* from users u where u.alias=’guest’ and (u.userid div 100000000000000) in (0) ] [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘div 100000000000000) in (0)’ at line 1]
—-

こんな感じ。
うんざりしながらもパッチを作りましたので、ログインできなくてうんざりしている人はお試しください。

—-
$ diff -ubB /usr/share/zabbix/include/db.inc.php.20110218 /usr/share/zabbix/include/db.inc.php
— /usr/share/zabbix/include/db.inc.php.20110218 2011-01-04 01:11:03.000000000 +0900
+++ /usr/share/zabbix/include/db.inc.php 2011-02-18 17:41:16.590757194 +0900
@@ -518,7 +518,7 @@
switch($DB_TYPE)
{
case “MYSQL”:
– $result = ‘(‘.$id_name.’ div 100000000000000)’;
+ $result = ‘round(‘.$id_name.’ / 100000000000000)’;
break;
case “ORACLE”:
$result = ‘round(‘.$id_name.’/100000000000000)’;
—-

コンピュータ

オラ、ドラゴンレーダーを作るぞ(13)

Published by:

***13.1 最終構造の決定

先日購入したケースをパートナーに見せびらかしていたら、丸い窓ではなく後ろの四角い窓を正面にしたほうがいいのではないかと言われました。

こっちが丸窓

こっちが丸窓

これが四角い窓。購入したLCD(WBX280V009)にぴったしサイズ。

これが四角い窓。購入したLCD(WBX280V009)にぴったしサイズ。

うーん。確かに四角いほうがLCDを無駄なく使えるんだけどなあ。
でもドラゴンレーダーのあの形が頭にあるものだから、やっぱり丸窓がいいんだよなあ。

「丸い窓から基板とか見えているとかっこいいじゃない。」
な、なるほど。
確かにこの丸いところからArduino Duemilanoveの例の青基板が見えていたら、知らない人が見たら感心してくれるかも・・・
ということで、丸窓ではなく四角い窓を正面にすることにしました。

完成イメージ

完成イメージ



一度そう決めてしまうと、LCDとArduinoの位置が確定してしまったので、いっそのこと先に配線周りのごちゃごちゃを何とかしてしまおう!ということにしました。
ブレッドボードだと片付けるたびにケーブルが抜けて、取り回しにくいんですよね~。

***13.2 必要パーツの購入

というわけで、配線をきれいにするためのパーツを購入しました。

商品名 説明
ピンヘッダ(オスL型) 2×40 (80P) 2列になっているL字形のピンヘッダーです。LCDからユニバーサル基盤への接続に使います。
ピンヘッダ(オスL型) 1×40 (40P) こっちはArduinoからユニバーサル基盤へ接続するときに使うもの。
シングルピンソケット(低メス) 1×14 (14P) これが失敗・・・「低メス」の文字を見落としていましたorz
通常のピンソケットと違って一個ずつ切り離せて便利だなあと思っていたら、深さが浅いので普通のピンヘッダーだとすぐ抜けてしまう。
ユニバーサル基盤 47 x 72mm 2.54mmピッチ ICB-288 これだけ近所のパーツショップで買ってきました。

L字型のピンヘッダーの存在をたまたま知ったのですが、これがあればArduinoの勇姿を基板で隠すことなく見せつけられそうだ!と思い購入しました。
それで、秋月電子さんから即効で送られてきたので、居ても立ってもいられずにハンダ作業開始!
完成イメージは次のとおりです。

ある意味この図が設計書

ある意味この図が設計書




要するに、LCDとArduinoを背中合わせにして、それぞれのピンソケットをL字ピンヘッダーでつないでしまおうという作戦です。
完全にハンダと銅線でつなげてしまうとArduinoとLCDが再利用できないので、取り外しやすくかつコンパクトにまとまった、素晴らしい構成なのだっ!!(超自画自賛モード)

***13.3 いざハンダゴテ

要となるユニバーサル基板と短く切ったビニール線との死闘が始まったわけですが、LCDとArduinoを背中合わせにしたせいか、8ピンの順番が逆になってしまい、さらにL字ソケットをつなげているため何がどうつながらないといけないのか大混乱してしまいました。

ようやく出来上がったのがこれ↓

ジャーン

ジャーン

これ動きそうにないだろ・・・だって??
ふふっ、あんたいい勘してるぜ・・・

LCDにつなげるまでもなく、テスターで導通確認をしたところ12本中4本しかつながっていませんでした(T T)。
つながっていたかと思ったらショートしている(つながってはいけないところが接触してしまっている)箇所もあったりして・・・

半日かけてこの有様ですが、買ったはいいけど使い方が分からなかったテスターの使い方がわかったので、それで良しとしよう。

デジタルマルチメータ MAS-830L マニュアルレンジ

デジタルマルチメータ MAS-830L マニュアルレンジ

以前購入したのがこのテスターです(デジタルマルチメータ MAS-830L マニュアルレンジ)。
アナログのテスターが使いやすいと本で見ていたのですが、購入時にあいにく品切れだったため、安かったこいつを買いました(1,000円)。
届いてみたら超かわいい!
真っ黄色のラバーケースに包まれていて、これだけでおもちゃみたいです。案の定2歳の息子がおもちゃ替わりにしていたりします。

上の写真のレバー位置が導通確認のポジションで、この状態でつながっているかどうか確認したい部分の両端をテスターに接続した赤/青の測定リードでつつくと、導通時には「ピー」という音がします(画面には抵抗値も表示されます)。
他のポジションは今のところ理解していませんが、この導通ポジションに関しては完全に理解しましたよ!

さて作り直しなわけですが、ピンソケット(黒い穴が開いているやつ)はべったりハンダ付けしてしまったし、ビニール線も扱いにくいし、一からつくり直そうと近所のパーツショップに自転車を飛ばします。
・・・と付いてみたらなぜか休み∑(゜ε゜!!坂道きついのに・・・
仕方ないのでうちに帰って、失敗作からハンダを吸い取り線で一個ずつ吸い取って再チャレンジすることにしました。

基板作成ver.2。LCD側です。

基板作成ver.2。LCD側です。

・・・どう思われるかはわかりませんが、自分の中では最高最善の出来です。
作り上げたあとはうっとりと眺めこんでしまいました。

こっちがArduino接続側

こっちがArduino接続側

基板のLCD側にピン接続するケーブルを這わせ、Arduino側に3.3V(プラス極。赤いリード線につながっているの)とGND(マイナス極。基板上の錫メッキ線)を這わせました。
ああ、うっとり・・・

自分で基板上のホールの穴の数を数えたり、糸ノコで基板を小さく加工したり、ホールの位置とピンヘッダーの位置を検討したりと、初めて機械いじりらしいことができて、かつ完成できたことがこんなに嬉しいとは・・・

LCDにつなげたところ

LCDにつなげたところ

さらにArduinoにつなげたところ

さらにArduinoにつなげたところ




出来上がりだけ見ると「ふーん」という感じかもしれませんが、私自身からみると奇跡の構造です。

そしてケースに入れたところ・・・!

そしてケースに入れたところ・・・!

パートナーのイメージ通り、後ろの丸窓からArduinoのかわいい姿が。

パートナーのイメージ通り、後ろの丸窓からArduinoのかわいい姿が。



この後、接触不良を直したり、つけ忘れていたプルダウン用の抵抗を付けたりしたのですが、概ねスムーズに作業が完了しました。
それもこれも全てテスターのおかげです。
基盤づくりをこれから始める人は、絶対にテスターが必須ですので、ハンダごてと一緒に買い揃えましょう!

そしてこれが、実際に動かしたところです。

ケースに全部収まって、チャックの間からUSBケーブルをちょろっと出すことができるので、すごく取り回しがいいです。
出来たぞー!!

コンピュータ デザイン 発表、ニュース

オラ、ドラゴンレーダーを作るぞ(12)

Published by:

*** 12.1 LCDでの色表現

LCDを自由自在(?)に使いこなせることが分かったので、早速画面のデザインをしようと思ったのですが、LCDでの色表現ってHTMLでいう「#FFFFFF(白色)」みたいな表記ではないことに改めて気づきました。

FFFFFFはすなわち24ビットカラーですが、ILI9325などのLCDで色を指定する場合は16bitで指定する必要があります。
白色は0xffffですし、青色は0x001fといった感じです。

そういう色見本みたいのがどこかに転がってるんだろうと、軽~く考えて検索してみたのですが、なぜか見つからない!?
拾ったライブラリなどでは「#define ORANGE 0xFC00」みたいに定数定義していたりします。

それじゃあということで、色見本ページを作りました。
カラーピッカーも作りましたので、欲しい色の16bitカラーが確認できると思います。

16bit Color Picker & Color List

・・・それとも、本当はみんな違う方法で色指定しているんでしょうか??
う~ん、不明だ。

コンピュータ

オラ、ドラゴンレーダーを作るぞ(11)

Published by:

*** 11.1 タッチパネルをどうするか

LCD操作の目処が立ったので、あとはGPSとコンパスモジュール・・・と思っていたのですが、そういえば今回買ったLCDってタッチパネルが付いてるんですよね。
せっかく付いているんだから試してみたい!

・・・と思ったのですが、Arduinoのピン数が足りなくなりそう。

LCD接続のためにすでに12本のピンが使用済みで、残るピン数は8本。
改めてタッチパネルの使用ピン数を確認してみたところ、なんと5本(x1, x2, y1, y2, タッチ状態チェック)。
ということは、LCDとタッチパネルをつなげただけで17本のピンを消費してしまい、残るピンはたったの3本だけになってしまうぅ。。

ドラゴンレーダーには、少なくともコンパスモジュールとGPSモジュールが必要なのですが、これらには何本必要なんだろ。

まずコンパスモジュールはこれ、HMC6352搭載デジタルコンパスモジュール
マニュアルによると・・・2本必要。

GPSモジュールはこれ、SparkFun Electronicsの32 Channel LS20031 GPS 5Hz Receiver
これも2本必要だと・・

てことは、ピンが1本足りない!!
どれかいらなそうなの無いかなあと本気で探してみましたが、もちろんそんな無駄ピンは使ってない。

*** 11.2 タッチパネル諦めてボタンにするか、もしくは・・・

そもそもタッチパネルを何に使うのかといいますと、ドラゴンレーダーのユーザー機能としては、縮尺を変えることができないといけないし、管理機能(ドラゴンボール=お宝の位置座標を登録する)にも色々画面操作できないといけないので、そういったユーザーインターフェースで使おうと思っていたのです。

これが使えないとなると、ボタン?みたいのでやるしか無いかあ。。
まあボタンも機械っぽくていいかなあ。

それとも、3軸加速度センサーをつけて、Wiiみたいなインターフェースを実現するとか!
う~ん・・技術力がついていけなさそうだ・・
でも、傾けるとカーソルが動くようなインターフェースも面白いかもなあ・・・。

とにかく!残る8本-GPSの2本-コンパスの2本=残る4本でユーザーインターフェースをつくんないと。
ああ・・・タッチパネルが4本でよかったらなあ・・・(←しつこい)