<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2587066066933189486</id><updated>2024-09-26T07:18:33.245+08:00</updated><category term="Raspberry Pi"/><category term="python"/><category term="GPIO"/><category term="Linux"/><category term="LCD"/><category term="Camera"/><category term="Julius"/><category term="Webcam"/><category term="LXDE"/><category term="Nikon D90"/><category term="OSX"/><category term="booting"/><category term="kisok"/><category term="mecab"/><category term="攝影"/><category term="ALSA"/><category term="Android"/><category term="B+W"/><category term="LED"/><category term="Motion"/><category term="Sound"/><category term="Timelapsed"/><category term="fswebcam"/><category term="install"/><category term="lxsession"/><category term="mac"/><category term="microphone"/><category term="raspberian"/><category term="raspitill"/><category term="raspivid"/><category term="日本語"/><title type='text'>EzzeP</title><subtitle type='html'>RaspberryPiの遊び場。&#xa;RaspberryPi playground. </subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-2349974198462209542</id><published>2013-06-27T16:20:00.002+08:00</published><updated>2013-06-27T16:20:42.010+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="booting"/><category scheme="http://www.blogger.com/atom/ns#" term="install"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="OSX"/><category scheme="http://www.blogger.com/atom/ns#" term="raspberian"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>OSXでRaspberry Pi クィックスタート 1.システム用SDカードの準備</title><content type='html'>そもそもGUIとか使おうとしたが、いつもなにかのエラーが出てきて、結局コマンドでやるしかない...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.最新のRaspberianをダウンロード&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
この記事を書くとき、最新バージョンは2013-05-25-wheezy-raspbian.imgです。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.ターミナルでSDカードを確認&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
誤操作を避けるため、まずは全部のSDカードやUSBメモリースティックを取り出したほうがよいと思います。&lt;br /&gt;
&lt;br /&gt;
(SDカードはまださしてない状態)&lt;br /&gt;
&lt;br /&gt;
$ ls /dev/rdisk1&lt;br /&gt;
ls: /dev/rdisk1: No such file or directory&lt;br /&gt;
&lt;br /&gt;
(入ったら)&lt;br /&gt;
&lt;br /&gt;
$ ls /dev/rdisk1&lt;br /&gt;
/dev/rdisk1&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
はい、/dev/rdisk1、これです。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3.ディスクユーティリティでSDカードをマウント解除&lt;/b&gt;,しないとddできない(取り出すではありません)&lt;br /&gt;
&lt;br /&gt;
4.&lt;b&gt;システム用SDカードを作成&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
$ sudo dd bs=1m if=./2013-05-25-wheezy-raspbian.img of=/dev/rdisk1&lt;br /&gt;
Password: ******** (管理者のパスワード)&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
なんか動かないな、と思ったら、CTRL&amp;nbsp;+ Tを押して、ddの状況が表示できる:&lt;/div&gt;
&lt;div&gt;
例：&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
load: 0.46 &amp;nbsp;cmd: dd 79135 uninterruptible 0.01u 1.44s&lt;/div&gt;
&lt;div&gt;
1701+0 records in&lt;/div&gt;
&lt;div&gt;
1700+0 records out&lt;/div&gt;
&lt;div&gt;
1782579200 bytes transferred in 338.181636 secs (5271070 bytes/sec)&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
5.&lt;b&gt;完成したらSDカードを取り出す、ラスベリーパイに入り&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/2349974198462209542/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/06/rpi-startup-01.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2349974198462209542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2349974198462209542'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/06/rpi-startup-01.html' title='OSXでRaspberry Pi クィックスタート 1.システム用SDカードの準備'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-7691358481011302167</id><published>2013-06-03T19:55:00.002+08:00</published><updated>2013-06-03T19:55:36.342+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camera"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="raspitill"/><category scheme="http://www.blogger.com/atom/ns#" term="raspivid"/><category scheme="http://www.blogger.com/atom/ns#" term="Webcam"/><title type='text'>RaspberryPiのカメラモジュールの話</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnhd-Q_zre4Nk2N4i5gXKFBa5Jjyoz6Ey8FLhCBhT8ZMqj4RdQzBp6HxgvjqNarRlxgf8ZqnhxOh2d_xt4EAJCfsFSUZVDLo_7o9Oozzzq-hPNmnuxjaOwmb0_LHN9TepaRCAEVD7US9e/s1600/DSC_3639.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnhd-Q_zre4Nk2N4i5gXKFBa5Jjyoz6Ey8FLhCBhT8ZMqj4RdQzBp6HxgvjqNarRlxgf8ZqnhxOh2d_xt4EAJCfsFSUZVDLo_7o9Oozzzq-hPNmnuxjaOwmb0_LHN9TepaRCAEVD7US9e/s320/DSC_3639.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
先週カメラモジュールが届いてきて、さっそく使ってみた。&lt;br /&gt;
raspistillは問題がありません、ちゃんと撮れる（画像はめちゃきれい、うーん、ドコモP906i位かな）raspividではうまく行かなかった。&lt;a href=&quot;http://www.raspberrypi.org/archives/3890&quot;&gt;Raspberry Pi公式サイト&lt;/a&gt;の例を使ってみたが、&lt;br /&gt;
raspivid -o video.h264 はまだ使えるが、10秒以上の録画をしたいが、すぐ落ちってしまった。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=44904&quot;&gt;公式のフォラーム&lt;/a&gt;もこれのついての討論しています。二つの結論がありそうです、ひとつは/boot/config.txtあるバラメータを変更すること、わたしはエントリーの通り変更してみたが、できませんでした。もうひとつは電源の話、話によりますとカメラモジュールを起動する時、420mAか240mAの消費電力もかかりそうです。電源が不安定になるとクラッシュ...という説があります。&lt;br /&gt;
&lt;br /&gt;
さっそくテストしてみた：&lt;br /&gt;
&lt;br /&gt;
わたしの場合（Raspberry Pi Model B Rev 2.0 &amp;nbsp;）&amp;nbsp;(000f)&lt;br /&gt;
&lt;br /&gt;
5V 1A (1000mA) USB port power supply&amp;nbsp;(iPodTouchシリーズ／iPhone4s)　→　×&lt;br /&gt;
5V 2A&amp;nbsp;(2000mA) USB port power supply (iPad2の)　→　×&lt;br /&gt;
5V 2A&amp;nbsp;(2000mA) USB port power supply (Asus Nexus7)　→　×&lt;br /&gt;
5V 2.1A&amp;nbsp;(2100mA) USB port power supply&amp;nbsp;(iPod nanoの)　→　×&lt;br /&gt;
&lt;br /&gt;
最後は電気屋でK社のUSB ACアダプタを買いました。&lt;br /&gt;
&lt;br /&gt;
5V 3A&amp;nbsp;(3000mA) USB port power supply　→　○&lt;br /&gt;
&lt;br /&gt;
raspividで１０秒以上の録画もstreamingもOKです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
参考リンク：&lt;br /&gt;
Camera board available for sale! &amp;nbsp;( &lt;a href=&quot;http://www.raspberrypi.org/archives/3890&quot;&gt;http://www.raspberrypi.org/archives/3890&lt;/a&gt; )&lt;br /&gt;
Raspberry Pi Camera Module Causes Reboot (&lt;a href=&quot;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=44904&quot;&gt;http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&amp;amp;t=44904&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/7691358481011302167/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/06/raspberrypi.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7691358481011302167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7691358481011302167'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/06/raspberrypi.html' title='RaspberryPiのカメラモジュールの話'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnhd-Q_zre4Nk2N4i5gXKFBa5Jjyoz6Ey8FLhCBhT8ZMqj4RdQzBp6HxgvjqNarRlxgf8ZqnhxOh2d_xt4EAJCfsFSUZVDLo_7o9Oozzzq-hPNmnuxjaOwmb0_LHN9TepaRCAEVD7US9e/s72-c/DSC_3639.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-5876850717918570856</id><published>2013-05-30T17:34:00.000+08:00</published><updated>2013-05-30T17:34:03.262+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camera"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry Piのカメラが届きました</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnhd-Q_zre4Nk2N4i5gXKFBa5Jjyoz6Ey8FLhCBhT8ZMqj4RdQzBp6HxgvjqNarRlxgf8ZqnhxOh2d_xt4EAJCfsFSUZVDLo_7o9Oozzzq-hPNmnuxjaOwmb0_LHN9TepaRCAEVD7US9e/s1600/DSC_3639.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnhd-Q_zre4Nk2N4i5gXKFBa5Jjyoz6Ey8FLhCBhT8ZMqj4RdQzBp6HxgvjqNarRlxgf8ZqnhxOh2d_xt4EAJCfsFSUZVDLo_7o9Oozzzq-hPNmnuxjaOwmb0_LHN9TepaRCAEVD7US9e/s320/DSC_3639.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
久々の更新です。この間、iOSのゲームアプリ開発に忙しい、今週やっと提出しました。次のアプリの開発が始まるまえ、さっそく更新しようと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
さっき、専用カメラ届きました！ 

今月１６日RSで注文した。 
思った以上にはやかった 

（そもそも７月か８月かと予想していた）&lt;br /&gt;
&lt;br /&gt;
今は何を作ろうかアイデアがまだない、多分微速度撮影とかをやってみようかな。</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/5876850717918570856/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/05/raspberry-pi.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/5876850717918570856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/5876850717918570856'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/05/raspberry-pi.html' title='Raspberry Piのカメラが届きました'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnhd-Q_zre4Nk2N4i5gXKFBa5Jjyoz6Ey8FLhCBhT8ZMqj4RdQzBp6HxgvjqNarRlxgf8ZqnhxOh2d_xt4EAJCfsFSUZVDLo_7o9Oozzzq-hPNmnuxjaOwmb0_LHN9TepaRCAEVD7US9e/s72-c/DSC_3639.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-2992401062966350790</id><published>2013-03-25T14:18:00.002+08:00</published><updated>2013-03-25T14:20:18.868+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="kisok"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="LXDE"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry Piでタイマーを作ってみた(source code)</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87wpgNSQlCLtFRHWCuhlOD_aiXm135FH9ljBcOdAfm2JkjlEW2t3YBvDwGZsJT6pKk8c7VxURUzoNGdbzLl0foFx4q83KwIhe7J5KDbtH7aza15ViUjTokXEAgfmGVRsRRPDnbgX_iUM1/s1600/DSC_0002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87wpgNSQlCLtFRHWCuhlOD_aiXm135FH9ljBcOdAfm2JkjlEW2t3YBvDwGZsJT6pKk8c7VxURUzoNGdbzLl0foFx4q83KwIhe7J5KDbtH7aza15ViUjTokXEAgfmGVRsRRPDnbgX_iUM1/s320/DSC_0002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
前python+Tkinterで作ったタイマーです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使用環境はLXDE, RPi.GPIOを使っているので、rootで起動してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/7yTRxifqIdQ?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
もしキヨスクのように起動するとタイマーを起動した場合、&lt;br /&gt;
&lt;a href=&quot;http://ezzep.blogspot.tw/2013/01/raspberry-pi-lxdepython.html&quot;&gt;[Raspberry Pi] LXDE起動するとき指定pythonスクリプトを起動させる方法&lt;/a&gt;　一文を参考してください&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
import Tkinter as tk&lt;br /&gt;
import time&lt;br /&gt;
import RPi.GPIO as GPIO&lt;br /&gt;
GPIO.setmode(GPIO.BCM)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#GPIO #7 for Start/Stop Switch&lt;br /&gt;
GPIO.setup(7,GPIO.IN)&lt;br /&gt;
#GPIO #17 for Reset Switch&lt;br /&gt;
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)&lt;br /&gt;
&lt;br /&gt;
prev_input = 0&lt;br /&gt;
class FullScreenApp(object):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def __init__(self, master, **kwargs):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.ms = 0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.i = 0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.isRun=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.willReset=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.isPressed=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.master=master&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.echo=tk.StringVar()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.echo.set(&#39;%02d:00:&#39; % (self.i))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pad=3&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self._geom=&#39;200x200+0+0&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.title(&quot;Timer&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.geometry(&quot;{0}x{1}+0+0&quot;.format(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.bind(&#39;&amp;lt;Escape&amp;gt;&#39;,self.toggle_geom)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.config(bg=&#39;black&#39;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.overrideredirect(True)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; master.attributes(&#39;-topmost&#39;, True)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.label = tk.Label(text=&#39;00:00&#39;, width=32, height=2,font=(&#39;Helvetica&#39;&lt;br /&gt;
, &#39;256&#39;), fg=&#39;white&#39;, bg=&#39;black&#39;,anchor=&#39;c&#39;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.label.pack()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.master.bind_all(&quot;&amp;lt;1&amp;gt;&quot;,self.print_label_slowly)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.print_label_slowly(&quot;Hello, world!&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def toggle_geom(self,event):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; geom=self.master.winfo_geometry()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(geom,self._geom)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.master.geometry(self._geom)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self._geom=geom&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def print_label_slowly(self, message):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;&#39;&#39;Print a label one character at a time using the event loop&#39;&#39;&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #print&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; it = GPIO.input(17)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (it==True):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;print &quot;!&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.ms=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.i=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str=&#39;%02d:%02d.%01d&#39; % (self.i/60, self.i%60, self.ms)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.label.config(text=str)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; input = GPIO.input(7)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (input==False):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.isPressed=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (input==True and self.isPressed==0):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.isPressed=1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(self.isRun==0):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.isRun=1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.isRun=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if self.isRun==1 :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prev_input = input&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.ms=self.ms+1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if self.ms==10 :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.i=self.i+1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.ms=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str=&#39;%02d:%02d.%01d&#39; % (self.i/60, self.i%60, self.ms)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.label.config(text=str)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.master.after(100, self.print_label_slowly,&quot;&quot;)&lt;br /&gt;
&lt;br /&gt;
root=tk.Tk()&lt;br /&gt;
app=FullScreenApp(root)&lt;br /&gt;
root.mainloop()&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://s3.amazonaws.com/HZ-Studio/timer.py.zip&quot;&gt;Download timer.py(ZIP)&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/2992401062966350790/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/03/raspberry-pisource-code.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2992401062966350790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2992401062966350790'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/03/raspberry-pisource-code.html' title='Raspberry Piでタイマーを作ってみた(source code)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87wpgNSQlCLtFRHWCuhlOD_aiXm135FH9ljBcOdAfm2JkjlEW2t3YBvDwGZsJT6pKk8c7VxURUzoNGdbzLl0foFx4q83KwIhe7J5KDbtH7aza15ViUjTokXEAgfmGVRsRRPDnbgX_iUM1/s72-c/DSC_0002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-6467881116391067436</id><published>2013-02-27T17:29:00.004+08:00</published><updated>2013-02-27T17:36:24.218+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fswebcam"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Webcam"/><title type='text'>Raspberry Pi + Webカメラ（２）</title><content type='html'>三日前motion使ってみてた...&lt;br /&gt;
&lt;br /&gt;
まぁちゃんと動いているが、なんといっても重い。RapberrryPiの問題か？安いWebカメラの問題か？&lt;br /&gt;
&lt;br /&gt;
少しtopでmotionをはかってみました。イメージサイズは320x240、ウェブサーバー付き、CPUは50%~70%でした。&lt;br /&gt;
&lt;br /&gt;
今日はfswebcamを動かせてみた。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
インストール：&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
sudo apt-get install libv4l-0
&lt;br /&gt;
sudo apt-get install fswebcam&lt;/blockquote&gt;
&lt;br /&gt;
使い方&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
fswebcam -p YUYV &amp;nbsp;-S 5 -r 240x160 output.jpg&lt;/blockquote&gt;
&lt;br /&gt;
-p&amp;nbsp;動画フォーマット&lt;br /&gt;
-S キャプチャ開始フレーム,web起動したばかりの時、デバイスはまだ明るさを調整しています、この時キャプチャすると画像は明るすぎたり、画面乱れている可能性があります。&lt;br /&gt;
-r 解像度, ここはWebカメラによります、またRasepberryPiの処理能力を考えてなければ..&lt;br /&gt;
(わたしの場合、240x160は一番安定です..)&lt;br /&gt;
最後は保存先パス&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
早速、使ってみた。（もしmotionをインストールしたばあい、motionを止めて）&lt;br /&gt;
&lt;br /&gt;
sudo fswebcam -p YUYV &amp;nbsp;-S 5 -r 240x160 output.jpg&lt;br /&gt;
&lt;br /&gt;
--- Opening /dev/video0...&lt;br /&gt;
Trying source module v4l2...&lt;br /&gt;
/dev/video0 opened.&lt;br /&gt;
No input was specified, using the first.&lt;br /&gt;
Adjusting resolution from 240x160 to 176x144.&lt;br /&gt;
--- Capturing frame...&lt;br /&gt;
Skipping 5 frames...&lt;br /&gt;
Capturing 1 frames...&lt;br /&gt;
Captured 6 frames in 0.46 seconds. (12 fps)&lt;br /&gt;
--- Processing captured image...&lt;br /&gt;
Writing JPEG image to &#39;output.jpg&#39;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLviTR-RAsVe43GczNtqH8ECSlNsetqBtwCsMStf_Rz8bZYtrrzGNElVjl3lD0IeLUFv4XyQTThcybTaznpsUjTBCl2-sw5sonC69ttqTC-vA8k96eIeqS7vcB_fzA2DCgFh5BHD2IevzU/s1600/test.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLviTR-RAsVe43GczNtqH8ECSlNsetqBtwCsMStf_Rz8bZYtrrzGNElVjl3lD0IeLUFv4XyQTThcybTaznpsUjTBCl2-sw5sonC69ttqTC-vA8k96eIeqS7vcB_fzA2DCgFh5BHD2IevzU/s1600/test.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
fswebcamかなりシンプルなので、cronと組み合わせみればいろいろできると思います。&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/6467881116391067436/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/02/raspberry-pi-web_27.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/6467881116391067436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/6467881116391067436'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/02/raspberry-pi-web_27.html' title='Raspberry Pi + Webカメラ（２）'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLviTR-RAsVe43GczNtqH8ECSlNsetqBtwCsMStf_Rz8bZYtrrzGNElVjl3lD0IeLUFv4XyQTThcybTaznpsUjTBCl2-sw5sonC69ttqTC-vA8k96eIeqS7vcB_fzA2DCgFh5BHD2IevzU/s72-c/test.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-4574942060215297401</id><published>2013-02-23T22:55:00.000+08:00</published><updated>2013-02-27T17:30:12.301+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camera"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Motion"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Webcam"/><title type='text'>Raspberry Pi + Webカメラ（１）</title><content type='html'>久々の更新。&lt;br /&gt;
&lt;br /&gt;
今回はRaspberry PiでWebカメラを動作させてみよう。と&lt;br /&gt;
&lt;br /&gt;
最初は持っているSonyのEyeToyを使おうとしたが、できなかった...結局、1000円位のWebカメラを買いました（パッケージにLinux対応済みと書いてある）&lt;br /&gt;
&lt;br /&gt;
今回はmotionをインストールしてみます。&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install apache2 php5 ffmpeg&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install motion&lt;br /&gt;
sudo apt-get install libv4l-0&lt;br /&gt;
sudo apt-get install uvccapture&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
次は/etc/default/motionに&quot;start_motion_daemon&quot; をyesにします、しないと最後にdaemon起動できない。&lt;br /&gt;
&lt;br /&gt;
最後は/etc/motion/motion.conf の設定、&lt;a href=&quot;http://www.raspberrypi.org/phpBB3/viewtopic.php?t=18314&quot;&gt;tupfさんの文&lt;/a&gt;を参考して変更しました。&lt;br /&gt;
（詳しい設定は自宅サーバー Debian/Ubuntu さんの&lt;a href=&quot;http://debianj.com/ubuntu/webcam/motion.html&quot;&gt;Motion でライブカメラ+動体検知サーバー構築&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
set &quot;daemon on&quot;&lt;br /&gt;
set &quot;minimum_frame_time 5&quot;&lt;br /&gt;
set &quot;pre_capture 2&quot;&lt;br /&gt;
set &quot;post_capture 2&quot;&lt;br /&gt;
set &quot;output_normal on&quot;&lt;br /&gt;
set &quot;quality 100&quot;&lt;br /&gt;
set &quot;ffmpeg_cap_new on&quot;&lt;br /&gt;
set &quot;ffmpeg_timelapse 30&quot;&lt;br /&gt;
set &quot;ffmpeg_variable_bitrate 2&quot;&lt;br /&gt;
set &quot;target_dir /tmp/motion&quot;&lt;br /&gt;
set &quot;webcam_port 8080&quot;&lt;br /&gt;
set &quot;control_port 8081&quot;&lt;br /&gt;
set &quot;webcam_localhost off&quot;&lt;br /&gt;
set &quot;width 320&quot;&lt;br /&gt;
set &quot;height 240&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
起動してみます：&lt;br /&gt;
sudo /etc/init.d/motion start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://x.x.x.x(RaspberryPiのアドレス):8080&lt;br /&gt;
&lt;br /&gt;
うまく動けなかった場合&amp;nbsp;tail -f /var/log/syslog　でチェックしたください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
かなり雑の記事ですみませんでした。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
予定は？うーん、しばらく微速度撮影を遊ぼうかな？&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/4574942060215297401/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/02/raspberry-pi-web.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/4574942060215297401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/4574942060215297401'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/02/raspberry-pi-web.html' title='Raspberry Pi + Webカメラ（１）'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-1785561375686188981</id><published>2013-01-23T15:40:00.002+08:00</published><updated>2013-01-23T15:40:31.722+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="LCD"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry Pi with 128x64 Graphic LCD</title><content type='html'>やっと出来ました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoWVEIfuuAcVYdpejSpzo2ok3stWEeiEd8nb_2c9ix7Q0ocPkIIBKgs5XBUjJPPWGUK2DtXt2s6D__gvfzvdPor0KGzu5i0hSiYIBLrMzPUi2FkBWuDirTVcpfJVH7JNbF373zHq1uBdMj/s1600/RIMG0002.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoWVEIfuuAcVYdpejSpzo2ok3stWEeiEd8nb_2c9ix7Q0ocPkIIBKgs5XBUjJPPWGUK2DtXt2s6D__gvfzvdPor0KGzu5i0hSiYIBLrMzPUi2FkBWuDirTVcpfJVH7JNbF373zHq1uBdMj/s320/RIMG0002.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
16x2キャラクターLCDと比べて、グラフィックLCDはかなり手間がかかります。まずはピン数がキツイ。あとはグラフィックに画像データの書き込みは別の処理が必要です。（しないとバラバラになった）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h4&gt;
配線&lt;/h4&gt;
買ったLMG-SS12A64はバックライトないバージョンだから, Pin19とPin20は無視（予想とおりちょっと後悔していた -_- ）&lt;br /&gt;
&lt;br /&gt;
1 &amp;nbsp; GND&lt;br /&gt;
2 &amp;nbsp; &amp;nbsp;5V&lt;br /&gt;
3 &amp;nbsp; CONTRAST&amp;nbsp;(*)&lt;br /&gt;
4 &amp;nbsp; GPIO4&lt;br /&gt;
5 &amp;nbsp; GPIO7&lt;br /&gt;
6&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO8&lt;br /&gt;
7&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO9&lt;br /&gt;
8&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO10&lt;br /&gt;
9&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO11&lt;br /&gt;
10&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO14&lt;br /&gt;
11&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO15&lt;br /&gt;
12&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO17&lt;br /&gt;
13&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO18&lt;br /&gt;
14&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO25&lt;br /&gt;
15&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO22&lt;br /&gt;
16&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO23&lt;br /&gt;
17&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO24&lt;br /&gt;
18 &amp;nbsp; VEE (*)&lt;br /&gt;
19 &amp;nbsp;--&lt;br /&gt;
20 &amp;nbsp;--&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVuAhOS2mMph1fMLVadNb_uA35WrSgdN5GwRdnIphxPJkwyEg_PBxRZdGCvY5sES8DrmDVIyNMueuE-ToY2hpRS_i1lZS5JfRuwCuLWKdf8ATh1eUaEMa29KjQoGuyXvJAsArZXGArHyrU/s1600/RIMG0001.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVuAhOS2mMph1fMLVadNb_uA35WrSgdN5GwRdnIphxPJkwyEg_PBxRZdGCvY5sES8DrmDVIyNMueuE-ToY2hpRS_i1lZS5JfRuwCuLWKdf8ATh1eUaEMa29KjQoGuyXvJAsArZXGArHyrU/s320/RIMG0001.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
(*)半固定抵抗の配線&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;コード&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;
import time&lt;br /&gt;
import RPi.GPIO as GPIO&lt;br /&gt;
class LCD_GPIO(object):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; # Timing constants&lt;br /&gt;
&amp;nbsp; &amp;nbsp; E_PULSE = 0.0000001&lt;br /&gt;
&amp;nbsp; &amp;nbsp; E_DELAY = 0.0000005&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def __init__(self, RST,RS,RW,E,CS1,CS2, D0, D1, D2, D3, D4, D5, D6, D7):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.CS1=CS1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.CS2=CS2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.RST=RST&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.E = E&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.RS = RS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.RW = RW&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D0 = D0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D1 = D1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D2 = D2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D3 = D3&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D4 = D4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D5 = D5&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D6 = D6&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.D7 = D7&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setmode(GPIO.BCM) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# Use BCM GPIO numbers&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.E, GPIO.OUT) &amp;nbsp;# E&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.RW, GPIO.OUT) # RW&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.RS, GPIO.OUT) # RS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D0, GPIO.OUT) # DB0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D1, GPIO.OUT) # DB1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D2, GPIO.OUT) # DB2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D3, GPIO.OUT) # DB3&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D4, GPIO.OUT) # DB4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D5, GPIO.OUT) # DB5&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D6, GPIO.OUT) # DB6&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D7, GPIO.OUT) # DB7&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.CS1, GPIO.OUT) # CS1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.CS2, GPIO.OUT) # CS2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RS, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RW, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.E, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.CS1, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.CS2, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.RST, GPIO.OUT) # RST&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RST, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(0.5)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RST, 1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(0.03)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def useDisp1(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.CS1, 1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.CS2, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def useDisp2(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.CS1, 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.CS2, 1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def lcd_byte(self,value, mode):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RW,0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RS,mode)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D0, (value) &amp;amp; 0x01)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D1, (value) &amp;amp; 0x02)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D2, (value) &amp;amp; 0x04)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D3, (value) &amp;amp; 0x08)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D4, (value) &amp;amp; 0x10)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D5, (value) &amp;amp; 0x20)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D6, (value) &amp;amp; 0x40)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.D7, (value) &amp;amp; 0x80)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Toggle E&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.E_DELAY)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.E, True)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.E_PULSE)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.E, False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.E_DELAY)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D7, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RW,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.RS,0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.E_DELAY)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.E, True)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.E_PULSE)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.E, False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.E_DELAY)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while GPIO.input(self.D7):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pass&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.setup(self.D7, GPIO.OUT) # DB7&lt;br /&gt;
class LCD12864(object):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def __init__(self, driver):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver = driver&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.lcd_init()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def setPage(self, value):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xB8|(value&amp;amp;0x07),0) ;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def setAddress(self, value):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x40|(value&amp;amp;0x3F),0) ;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def lcd_cls(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.useDisp1()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for y in range(8):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setPage(y)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setAddress(0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for i in range(64):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.driver.lcd_byte(0x00,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.useDisp2()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for y in range(8):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setPage(y)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setAddress(0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for i in range(64):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.driver.lcd_byte(0x00,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; def lcd_init(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.useDisp1()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x3F,0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.useDisp1()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x3F,0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.lcd_cls()&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.useDisp1()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setPage(3)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setAddress(0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x00,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xD0,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x30,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x93,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xDF,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xB7,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x77,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x17,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x17,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x77,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xB7,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xDF,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x33,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xD0,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x10,1)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setPage(4)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.setAddress(0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x04,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x0A,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x0B,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x07,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x0F,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xFF,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x71,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x71,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xF1,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0xBF,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x7F,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x1F,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x0F,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x17,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x16,1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.driver.lcd_byte(0x08,1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def demo():&lt;br /&gt;
&amp;nbsp; &amp;nbsp; driver = LCD_GPIO(RS=4,RW=7,E=8,D0=9,D1=10,D2=11,D3=14,D4=15,D5=17,D6=18,D7=25,CS1=22,CS2=23,RST=24)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; lcd = LCD12864(driver=driver)&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&amp;nbsp; &amp;nbsp; time.sleep(15);&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&amp;nbsp; &amp;nbsp; demo()&lt;br /&gt;
if __name__ == &quot;__main__&quot;:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; main()&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;今後予定&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;チュートリアル動画を作る（進行中）&lt;/li&gt;
&lt;li&gt;ライブラリを作る、基本の線、円を描くライブラリがあればと思います&lt;/li&gt;
&lt;li&gt;日本語／漢字表示、8x8美咲フォントはパッチリと思います&lt;/li&gt;
&lt;li&gt;ピン数を減らすこと、Shift Registerとか使ってたら..？&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;おまけ&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
キャラクターLCDやグラフィックLCDのプログラムを執行終わって、GPIOが放置されるといろいろへんな結果が出てくる。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1c2FL2YUVG2VRflrMKc4hdhvp0b1oKuzRyvJ2KlRC6415ZsiVUlNwFjFfnYMNPi2YNptUApo8SyMJiZyNfFWYd6JlpnlUFsoypwBnVfEIyBO7ryH-bjoBDQhw5tq_1cmcTrDglT5hMenz/s1600/4n3WifCkK0SfMKcCYUVVp6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1c2FL2YUVG2VRflrMKc4hdhvp0b1oKuzRyvJ2KlRC6415ZsiVUlNwFjFfnYMNPi2YNptUApo8SyMJiZyNfFWYd6JlpnlUFsoypwBnVfEIyBO7ryH-bjoBDQhw5tq_1cmcTrDglT5hMenz/s320/4n3WifCkK0SfMKcCYUVVp6.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
バーにいた、かみです。&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/1785561375686188981/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspberry-pi-with-128x64-graphic-lcd.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/1785561375686188981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/1785561375686188981'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspberry-pi-with-128x64-graphic-lcd.html' title='Raspberry Pi with 128x64 Graphic LCD'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoWVEIfuuAcVYdpejSpzo2ok3stWEeiEd8nb_2c9ix7Q0ocPkIIBKgs5XBUjJPPWGUK2DtXt2s6D__gvfzvdPor0KGzu5i0hSiYIBLrMzPUi2FkBWuDirTVcpfJVH7JNbF373zHq1uBdMj/s72-c/RIMG0002.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-4467010619965973994</id><published>2013-01-21T07:48:00.000+08:00</published><updated>2013-01-21T07:48:11.614+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LCD"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>128x64 グラフィックLCDを買いました</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2kxnpie48rWsPNcKKZuPRSY8MaxEYoI4TqvV7YtJUyyvQH5b3aBzDYtU3f5Ej28zAnTB4MuQqKbLuQM0VmyzD-F91XfaUuQg8ivoa1gwGSS9pgM-eyiwjV_ucH7oopNVwdZSKij-KQJ9/s1600/DSC_0028.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2kxnpie48rWsPNcKKZuPRSY8MaxEYoI4TqvV7YtJUyyvQH5b3aBzDYtU3f5Ej28zAnTB4MuQqKbLuQM0VmyzD-F91XfaUuQg8ivoa1gwGSS9pgM-eyiwjV_ucH7oopNVwdZSKij-KQJ9/s320/DSC_0028.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
照明LEDがついているバージョンが高い（あり→3500円ぐらい、なし→2000円ぐらい）RaspberryPiより高いなと思っていたので、なしバージョンを買いました（あとに後悔かも？）&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eIcjBtOcB1oPQR8Z1SB3QO6VoKbCA-vr5a_p4tI2J0GfIP7q2KbGSkHpbe5xwDR3mGeXgS9TlaqlTG4qh2cUFy8wqwyfafm7YZPkDAPp94BrmHuZOwy6fXAngmgOUloO4ynzmXdVLxHw/s1600/DSC_0030.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eIcjBtOcB1oPQR8Z1SB3QO6VoKbCA-vr5a_p4tI2J0GfIP7q2KbGSkHpbe5xwDR3mGeXgS9TlaqlTG4qh2cUFy8wqwyfafm7YZPkDAPp94BrmHuZOwy6fXAngmgOUloO4ynzmXdVLxHw/s320/DSC_0030.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
早速半田つけましょう。下手だけど、前キャラクタータイプのをやっていた時より少し慣れました。説明書を読もうとしたが...なんだこれ、ひどい、一面しかない。さっそくネットで調べてスペックをダウンロードしました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitdqT9cvzMSPYAfWOWzsbPwbmpEqjpQnxrCK3COTs6557Tu7c1VsminDNej8lromhgTzZ7mTQef0sAk60wKqDf2izePLAdjIH1sRDCSR7rdor6-vJuk59PU8qawf8iLS6M81nS5x8Zm6o9/s1600/DSC_0031.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitdqT9cvzMSPYAfWOWzsbPwbmpEqjpQnxrCK3COTs6557Tu7c1VsminDNej8lromhgTzZ7mTQef0sAk60wKqDf2izePLAdjIH1sRDCSR7rdor6-vJuk59PU8qawf8iLS6M81nS5x8Zm6o9/s320/DSC_0031.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
実験用の数字LED,モーターも買いました。あといろいろ写真にのせていないものも買いました。&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/4467010619965973994/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/01/128x64-lcd.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/4467010619965973994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/4467010619965973994'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/01/128x64-lcd.html' title='128x64 グラフィックLCDを買いました'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK2kxnpie48rWsPNcKKZuPRSY8MaxEYoI4TqvV7YtJUyyvQH5b3aBzDYtU3f5Ej28zAnTB4MuQqKbLuQM0VmyzD-F91XfaUuQg8ivoa1gwGSS9pgM-eyiwjV_ucH7oopNVwdZSKij-KQJ9/s72-c/DSC_0028.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-3607220910822522691</id><published>2013-01-14T20:02:00.001+08:00</published><updated>2013-01-14T20:02:23.091+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LCD"/><category scheme="http://www.blogger.com/atom/ns#" term="mecab"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="日本語"/><title type='text'>Raspberry PiでキャラクタLCD（16x2）を動作させて(追記)</title><content type='html'>久々に更新&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ezzep.blogspot.tw/2012/11/raspberry-pilcd16x2-2.html&quot;&gt;Raspberry PiでキャラクタLCD（16x2）を動作させてみた&lt;/a&gt;の記事の話です。&lt;br /&gt;
前解決しなかった諸問題のひとつ、「漢字ができません」という問題。&lt;a href=&quot;http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html&quot;&gt;mecab&lt;/a&gt;を利用してやっと解決しました。といったら恥ずかしい、Raspberry Piに最初インストールしたのはMeCabですが、そのまま放置してしまった...(インストールのついては&lt;a href=&quot;http://ezzep.blogspot.tw/2012/10/raspberry-pimecab.html&quot;&gt;こちら&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
pythonでそのまま使えるから、すぐ前のスクリプトに導入しました。コードは長いのでスキップ...ポイントは&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
import MeCab&lt;/blockquote&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
あとは&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp; lcd_init()&lt;br /&gt;&amp;nbsp;while 1:&lt;br /&gt;&amp;nbsp; &amp;nbsp; my_input = raw_input(&quot;&amp;gt;&quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; lcd_byte(0x01,LCD_CMD)&lt;br /&gt;&amp;nbsp; &amp;nbsp; # Send some test&lt;br /&gt;&amp;nbsp; &amp;nbsp; lcd_kana(my_input)&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
をちょっと改造して：&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;lcd_init()&lt;br /&gt;&amp;nbsp; &lt;b&gt;m = MeCab.Tagger(&quot;-Oyomi -N64&quot;)&lt;/b&gt;&lt;br /&gt;&amp;nbsp; while 1:&lt;br /&gt;&amp;nbsp; &amp;nbsp; my_input = raw_input(&quot;&amp;gt;&quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; lcd_byte(0x01,LCD_CMD)&lt;br /&gt;&amp;nbsp; &amp;nbsp; # Send some test&lt;br /&gt;&amp;nbsp; &amp;nbsp; lcd_kana(&lt;b&gt;m.parse(my_input)&lt;/b&gt;)&lt;/blockquote&gt;
&lt;/div&gt;
出来上がり。&lt;br /&gt;
&lt;br /&gt;
残ってる部分は英語と混ぜるとの判断、あとは文字数の処理（キャラクターLCDは16x2文字です、濁音や半濁音が出る場合、一回表示できる文字数も減るから、ここは別の判断が必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/3607220910822522691/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspberry-pilcd16x2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/3607220910822522691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/3607220910822522691'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspberry-pilcd16x2.html' title='Raspberry PiでキャラクタLCD（16x2）を動作させて(追記)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-8856183655225204822</id><published>2013-01-05T18:30:00.001+08:00</published><updated>2013-01-05T18:30:11.974+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="booting"/><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="kisok"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="LXDE"/><category scheme="http://www.blogger.com/atom/ns#" term="lxsession"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>[Raspberry Pi] LXDE起動するとき指定pythonスクリプトを起動させる方法</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87wpgNSQlCLtFRHWCuhlOD_aiXm135FH9ljBcOdAfm2JkjlEW2t3YBvDwGZsJT6pKk8c7VxURUzoNGdbzLl0foFx4q83KwIhe7J5KDbtH7aza15ViUjTokXEAgfmGVRsRRPDnbgX_iUM1/s1600/DSC_0002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87wpgNSQlCLtFRHWCuhlOD_aiXm135FH9ljBcOdAfm2JkjlEW2t3YBvDwGZsJT6pKk8c7VxURUzoNGdbzLl0foFx4q83KwIhe7J5KDbtH7aza15ViUjTokXEAgfmGVRsRRPDnbgX_iUM1/s320/DSC_0002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
最近Raspberry Piでタイマーをつくりました。キオスクのように電源を入れてすぐ使えるという形をしたいですが、問題点は二つがある：&lt;br /&gt;
&lt;br /&gt;
1.GPIOライブラリを使うには、root（またはsudo）が必要です。&lt;br /&gt;
2.起動したいのはTkinterを使ったpythonスクリプトです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
解決策は：&lt;br /&gt;
&lt;br /&gt;
1.pythonスクリプト（例：timer.py）の最初に&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#!/usr/bin/env python&lt;/blockquote&gt;
&lt;br /&gt;
を入れて、&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
chmod +x timer.py&lt;/blockquote&gt;
権限を変更します&lt;br /&gt;
&lt;br /&gt;
2.~/.config/lxsession/LXDE/autostart を編集（または作成）します：&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
/usr/bin/sudo ~/timer.py&lt;/blockquote&gt;
3.RaspberryPiを再起動してみてください、スクリプトがうまく起動しなかったら、~/.xsession-errors をチェックしてください。&lt;br /&gt;
&lt;br /&gt;
実際起動してる様子：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/7yTRxifqIdQ?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
今日はここで。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/8856183655225204822/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspberry-pi-lxdepython.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/8856183655225204822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/8856183655225204822'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspberry-pi-lxdepython.html' title='[Raspberry Pi] LXDE起動するとき指定pythonスクリプトを起動させる方法'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg87wpgNSQlCLtFRHWCuhlOD_aiXm135FH9ljBcOdAfm2JkjlEW2t3YBvDwGZsJT6pKk8c7VxURUzoNGdbzLl0foFx4q83KwIhe7J5KDbtH7aza15ViUjTokXEAgfmGVRsRRPDnbgX_iUM1/s72-c/DSC_0002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-5753212617470830061</id><published>2013-01-03T23:26:00.000+08:00</published><updated>2013-01-04T22:33:34.004+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspbianを更新しました</title><content type='html'>RaspberryPiのタイマーを作っています。&lt;br /&gt;
いよいよ完成、次のSDカードを用意しようと思いますが、ちょっと調べた結果、&lt;a href=&quot;http://alltheware.wordpress.com/&quot;&gt;All the (*)Wareさん&lt;/a&gt;が大変便利なMacアプリケーションを作りました。&lt;a href=&quot;http://alltheware.wordpress.com/2012/12/11/easiest-way-sd-card-setup/&quot;&gt;RPi-sd card builder&lt;/a&gt;といいます。&lt;br /&gt;
&lt;br /&gt;
SDカードを入れ、Raspbianイメージファイルを選んで、あとはRPi-sd card builderの指示とおりに進めば完成です。&lt;br /&gt;
&lt;br /&gt;
いまはapt-get update &amp;amp; upgrade中です...</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/5753212617470830061/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspbian.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/5753212617470830061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/5753212617470830061'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/01/raspbian.html' title='Raspbianを更新しました'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-2331317356679894607</id><published>2013-01-01T10:11:00.000+08:00</published><updated>2013-01-02T10:12:24.852+08:00</updated><title type='text'>Happy New Year 2013!</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2xtso0AqwT3BsqJkk9QLNJfPXMV6VvtwQOZUfg6fx11oUEYKlFh8mUtvm-DQZV9iZcY99rHHIXhCDuRo-O9SgGFFq1t3Ml4hhI-jqlM8GXF40wOcAKwFWxfOO6RRetEEmGPfRqTvnx1fM/s1600/HappyNewYear2013.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2xtso0AqwT3BsqJkk9QLNJfPXMV6VvtwQOZUfg6fx11oUEYKlFh8mUtvm-DQZV9iZcY99rHHIXhCDuRo-O9SgGFFq1t3Ml4hhI-jqlM8GXF40wOcAKwFWxfOO6RRetEEmGPfRqTvnx1fM/s320/HappyNewYear2013.jpg&quot; width=&quot;228&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
今年もよろしくお願いします&lt;br /&gt;
&lt;br /&gt;
Frohes neues Jahr! Ich wünsche dir ein glückliches neues Jahr!</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/2331317356679894607/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2013/01/happy-new-year-2013.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2331317356679894607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2331317356679894607'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2013/01/happy-new-year-2013.html' title='Happy New Year 2013!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2xtso0AqwT3BsqJkk9QLNJfPXMV6VvtwQOZUfg6fx11oUEYKlFh8mUtvm-DQZV9iZcY99rHHIXhCDuRo-O9SgGFFq1t3Ml4hhI-jqlM8GXF40wOcAKwFWxfOO6RRetEEmGPfRqTvnx1fM/s72-c/HappyNewYear2013.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-6723977015273919645</id><published>2012-12-18T21:16:00.000+08:00</published><updated>2012-12-18T21:16:27.324+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="Julius"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>今日もRaspberry PiでJuliusを動かしてみた</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGsB4od8X-lkcdgc4nzz2GsuR9BjzcaEZAbdicqd7W1b7RVUT9Os4GzcfzeV6_lusZGl1IAtpMqUk4f-ZuQxP2BzlE5HI4pKSz-mElufF-mU9C3uhyCaL9hVlwyxpWSLXDO6_rzryZaBE3/s1600/DSC_0003.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;210&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGsB4od8X-lkcdgc4nzz2GsuR9BjzcaEZAbdicqd7W1b7RVUT9Os4GzcfzeV6_lusZGl1IAtpMqUk4f-ZuQxP2BzlE5HI4pKSz-mElufF-mU9C3uhyCaL9hVlwyxpWSLXDO6_rzryZaBE3/s320/DSC_0003.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
途中ものなんです。いままでRaspberryPiにJuliusを試した方法を整理してみよう。&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://ezzep.blogspot.tw/2012/10/raspberry-pijulius.html&quot;&gt;WAVファイルで入力&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ezzep.blogspot.tw/2012/10/raspberry-pijulius_22.html&quot;&gt;Client-Serverの形でWAVファイルでRaspberryPiに転送分析&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ezzep.blogspot.tw/2012/12/raspberry-pijulius.html&quot;&gt;USBサウンドカードでRaspberry Piに音声を入力して分析&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ezzep.blogspot.tw/2012/12/osx-108julius.html&quot;&gt;Client-Serverの型でパソコンが分析した結果をRaspberryPiに転送&lt;/a&gt;(モジュールモード)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
四つ目はもちろん一番速いですが...今日は四つ目の仕組みに基づいて続きます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
前回はjulius-module &amp;nbsp;-- jcontolという形で試してみた。ちょっと調べてJuliusフォーラムでPythonで書いたサンプルコードがあります。それを前書いた「&lt;a href=&quot;http://ezzep.blogspot.tw/2012/11/raspberry-pilcd16x2-2.html&quot;&gt;Raspberry PiでキャラクタLCD（16x2）を動作させてみた&lt;/a&gt;」記事にあるコードを組み合わせて作りましたものです。&lt;br /&gt;
無茶なコピペで作って、なんとなくできました。&lt;br /&gt;
&lt;br /&gt;
ここまで二つの問題があります。まずはJulius分析した結果は漢字とひらがなですから、LCDモージュルは漢字が出てこない、読みづらい。解決方法はJuliusの設定からと思いますが、ちょっと前面白そうなものを見つけた。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://airvariable.asablo.jp/blog/2012/03/08/6367110&quot;&gt;8X8ドットで日本語表示！美咲フォントの紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hp.vector.co.jp/authors/VA002310/&quot;&gt;恵理沙フォント&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
これでグラフィック液晶表示器をつかって漢字も日本語も表示できると思いますが、または長い戦いと思ったし、こちらグラフィック液晶表示器は売っているけど、値段はRaspberryPiの三倍で、手はなかなか......&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
もうひとつ問題はJuliusの認識精度です。デフォルトのままで使うとは...（汗）ネットを調べてた結果、みんなもいろんな工夫してた、感謝してます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://d.hatena.ne.jp/hecomi/20120112/1326390200&quot;&gt;Julius の記述文法を用いて音声認識精度をあげてみた&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://d.hatena.ne.jp/rti7743/20120316/1331873888&quot;&gt;ルールベースjuliusの誤認識対策にSVMを利用してみよう&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
もう少し考えてた、ロボットか家の電気コントロールなら、最初から語彙を減らしたら精度もあげるはずですけど....................&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/6723977015273919645/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/12/raspberry-pijulius_18.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/6723977015273919645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/6723977015273919645'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/12/raspberry-pijulius_18.html' title='今日もRaspberry PiでJuliusを動かしてみた'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGsB4od8X-lkcdgc4nzz2GsuR9BjzcaEZAbdicqd7W1b7RVUT9Os4GzcfzeV6_lusZGl1IAtpMqUk4f-ZuQxP2BzlE5HI4pKSz-mElufF-mU9C3uhyCaL9hVlwyxpWSLXDO6_rzryZaBE3/s72-c/DSC_0003.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-552056089133377290</id><published>2012-12-13T23:32:00.000+08:00</published><updated>2012-12-13T23:32:21.920+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Julius"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="OSX"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>OSX 10.8にJuliusをインストールしてみた</title><content type='html'>Raspberry PiでJuliusの処理に時間がかかったな〜と思って、今回はOSXもJuliusをインストールしてみます。モジュールモードで行こうと思っています。流れはこの感じ：&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mac OSX(サーバー)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Raspberry Pi(クライアント)&lt;br /&gt;
マイク &amp;gt;&amp;gt; Julius &amp;nbsp;module mode &amp;nbsp; --ネットワーク-&amp;gt; jcontrol &amp;nbsp; -&amp;gt; GPIOコントロール&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OSXでのJuliusインストールは、多分半年前もこういうことをやっていて、かなり面倒だったという記憶が思い出した。今回はtanB氏&lt;a href=&quot;http://tanb.me/2009/12/julius-414-on-osx-1062-snow-leopard.html&quot;&gt;julius 4.1.4 on OSX 10.6.2 (snow leopard) 入れました&lt;/a&gt;を参考させていただきました。インストールしたのはJulius v4.2.2です。前より簡単になったことに気がする。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
まずは&lt;a href=&quot;http://www.portaudio.com/download.html&quot;&gt;PortAudio&lt;/a&gt;、OSX 10.8にpa_stable_v19_20111121.tgzをインストールしたが、エラーが出てきたので、代わりにpa_snapshot.tgz（ 13-Dec-2012 01:23:07 UTC）をコンパイルしてインストールしました。いまのところ、問題とかありません。&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
tar zxvf&amp;nbsp;pa_snapshot.tar&lt;br /&gt;
cd&amp;nbsp;portaudio&lt;br /&gt;
env CFLAGS=&#39;-arch i386&#39; ./configure&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;/blockquote&gt;
&lt;br /&gt;
libsndfileは問題があります。Carbon.hが見つからないというエラーが何回も出てきた。ネットでいろいろ調べて試してみたが、同じ結果です。最後にsnapshot版を使いました。&lt;br /&gt;
（でもlibsndfileをインストールしなくてもJuliusが使えるという意見が出てきた...）&lt;br /&gt;
&lt;br /&gt;
最後にjulius +&amp;nbsp;dictation Kit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
tar zxvf&amp;nbsp;dictation-kit-v4.1.tar&lt;br /&gt;tar zxvf&amp;nbsp;julius-4.2.2.tar&lt;br /&gt;cd&amp;nbsp;julius-4.2.2&lt;br /&gt;env CFLAGS=&#39;-arch i386&#39;&lt;br /&gt;./configure --enable-words-int --with-mictype=portaudio --disable-zlib&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
起動：&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
cd ../dictation-kit-v4.1&lt;br /&gt;julius -C fast.jconf -charconv EUC-JP UTF-8 -module&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
すると&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Stat: server-client: socket ready as server&lt;br /&gt;///////////////////////////////&lt;br /&gt;/// &amp;nbsp;Module mode ready&lt;br /&gt;/// &amp;nbsp;waiting client at 10500&lt;br /&gt;///////////////////////////////&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
あとはRaspberry Piの部分&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;jcontrol 192.168.0.4 &amp;nbsp;&amp;lt;- &amp;nbsp;サーバーのIP&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
これで完成、早速試してみた&lt;br /&gt;
&lt;br /&gt;
サーバー(Mac OSX 10.8)&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
(音声)こんにちは&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
クライアント(Raspbery Pi)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
connecting to 192.168.0.4:10500...done&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;gt; &amp;lt;STARTPROC/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;INPUT STATUS=&quot;LISTEN&quot; TIME=&quot;1355412353&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;INPUT STATUS=&quot;STARTREC&quot; TIME=&quot;1355412356&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;STARTRECOG/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;INPUT STATUS=&quot;ENDREC&quot; TIME=&quot;1355412357&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;ENDRECOG/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;INPUTPARAM FRAMES=&quot;159&quot; MSEC=&quot;1590&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;RECOGOUT&amp;gt;&lt;br /&gt;&amp;gt; &amp;nbsp; &amp;lt;SHYPO RANK=&quot;1&quot; SCORE=&quot;-3927.731445&quot;&amp;gt;&lt;br /&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;WHYPO WORD=&quot;&quot; CLASSID=&quot;&amp;lt;s&amp;gt;&quot; PHONE=&quot;silB&quot; CM=&quot;0.830&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;WHYPO WORD=&quot;こんにちは&quot; CLASSID=&quot;こんにちは:コンニチワ:こんにちは:3&quot; PHONE=&quot;k o N n i ch i w a&quot; CM=&quot;0.465&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;WHYPO WORD=&quot;。&quot; CLASSID=&quot;。:。:。:8&quot; PHONE=&quot;sp&quot; CM=&quot;0.564&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;WHYPO WORD=&quot;&quot; CLASSID=&quot;&amp;lt;/s&amp;gt;&quot; PHONE=&quot;silE&quot; CM=&quot;1.000&quot;/&amp;gt;&lt;br /&gt;&amp;gt; &amp;nbsp; &amp;lt;/SHYPO&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;/RECOGOUT&amp;gt;&lt;br /&gt;&amp;gt; &amp;lt;INPUT STATUS=&quot;LISTEN&quot; TIME=&quot;1355412357&quot;/&amp;gt;&lt;/blockquote&gt;
以上です。&lt;br /&gt;
&lt;br /&gt;
大きい声でもjuliusなにも動いていない問題がやっと解決、juliusを起動するときに&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
julius -C fast.jconf -charconv EUC-JP UTF-8 -module&lt;b&gt; -lv 1000 (デフォルトは3000)&lt;/b&gt;&lt;/blockquote&gt;
そうすれば小さい声でもちゃんと動ける。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/552056089133377290/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/12/osx-108julius.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/552056089133377290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/552056089133377290'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/12/osx-108julius.html' title='OSX 10.8にJuliusをインストールしてみた'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-8817822129040699376</id><published>2012-12-09T18:55:00.000+08:00</published><updated>2012-12-09T18:56:01.614+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ALSA"/><category scheme="http://www.blogger.com/atom/ns#" term="Julius"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="microphone"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Sound"/><title type='text'>Raspberry PiにJuliusを動かしてみた（再び）</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_epSEgGcu2hf0HuyFyhUtmLknDgJW4vAggGkJ0-hwY0V3ioaO0bHRmzZs_1rDq59IipE0EJEhNRi_p2rv4xGDJoqWDltYevMA6Wh58sghfezcCzhjyHIslbAE3K4l3_Nc6e-Xqx0jEbFe/s1600/DSC_0002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_epSEgGcu2hf0HuyFyhUtmLknDgJW4vAggGkJ0-hwY0V3ioaO0bHRmzZs_1rDq59IipE0EJEhNRi_p2rv4xGDJoqWDltYevMA6Wh58sghfezcCzhjyHIslbAE3K4l3_Nc6e-Xqx0jEbFe/s320/DSC_0002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
今回はRaspberry Piで直接マイクでJuliusを使ってみようと思います&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Raspberry PiのデフォルトはAdvanced Linux Sound Architecture(ALSA)を使っているようです。本体をついているサウンドカードはマイクを使えないようです。なので、USBサウンドカードを買いました。買う前&lt;a href=&quot;http://RPi VerifiedPeripherals&quot;&gt;RPi VerifiedPeripherals&lt;/a&gt;で確認した。包装でLinux Supportと書いてあるなら多分動けるという気持ちで、MediaTekさんのAudiMax T1を買いました（約1200yen、日本で売っているかどうかわかりませんけど。）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
次はJuliusの再インストール。Juliusのデフォルトのマイク入力はOpen Sound System(OSS)で、前コンパイルしたものは使えないらしい。なので、最初から。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
1.ALSA Headerをインストール&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
sudo apt-get install&amp;nbsp;libasound2-dev libesd0-dev libsndfile1-dev&lt;/blockquote&gt;
&lt;br /&gt;
ここで問題が出てきた、あるライブラリが見つからなかった。sudo apt-get updateしたもう一度したら無事終了。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.Juliusのコンパイルとインストール&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
sudo make clean&lt;br /&gt;
./configure --enable-words-int --with-mictype=alsa&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;/blockquote&gt;
&lt;br /&gt;
3.dictation-kit設定変更、前fast.jconfファイルの中&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
#-input mic&amp;nbsp;&lt;/blockquote&gt;
を&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
-input mic&amp;nbsp;&lt;/blockquote&gt;
に変更、他のinput方法を#に。&lt;br /&gt;
&lt;br /&gt;
4.&amp;nbsp;ALSADEV変数を設定、しないと起動できない。&lt;br /&gt;
まずUSBサウンドカードの位置を確認&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
$ &amp;nbsp;arecord -l&lt;br /&gt;
**** List of CAPTURE Hardware Devices ****&lt;br /&gt;
&lt;b&gt;&lt;u&gt;card 1&lt;/u&gt;&lt;/b&gt;: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]&lt;br /&gt;
&amp;nbsp; Subdevices: 1/1&lt;br /&gt;
&amp;nbsp; Subdevice &lt;b&gt;&lt;u&gt;#0&lt;/u&gt;&lt;/b&gt;: subdevice #0&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
USBサウンドカードの位置は#1 (#0はRaspberry Piのbcm2835らしい), 一番目(#0)のデバイスを使います&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
export ALSADEV=&quot;plughw:1,0&quot;&lt;/blockquote&gt;
&lt;br /&gt;
5.Julius起動してみます&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
julius -C fast.jconf -charconv EUC-JP UTF-8&lt;/blockquote&gt;
&lt;br /&gt;
すると&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
STAT: include config: fast.jconf&lt;br /&gt;
STAT: jconf successfully finalized&lt;br /&gt;
STAT: *** loading AM00 _default&lt;br /&gt;
Stat: init_phmm: Reading in HMM definition&lt;br /&gt;
Stat: read_binhmm: binary format HMM definition&lt;br /&gt;
Stat: read_binhmm: this HMM does not need multipath han&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :&lt;/blockquote&gt;
（略）&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
----------------------- System Information end -----------------------&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;*************************************************************&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;* NOTICE: The first input may not be recognized, since &amp;nbsp; &amp;nbsp; &amp;nbsp;*&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; no initial CMN parameter is available on startup. *&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;* for MFCC01*&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;*************************************************************&lt;br /&gt;
Stat: adin_alsa: device name from ALSADEV: &quot;plughw:1,0&quot;&lt;br /&gt;
Stat: capture audio at 16000Hz&lt;br /&gt;
Stat: adin_alsa: latency set to 32 msec (chunk = 512 bytes)&lt;br /&gt;
Stat: &quot;plughw:1,0&quot;: Device [USB PnP Sound Device] device USB Audio [USB Audio] subdevice #0&lt;br /&gt;
STAT: AD-in thread created&lt;br /&gt;
&amp;lt;&amp;lt;&amp;lt; please speak &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
pass1_best: 今日　は &lt;br /&gt;
sentence1: &amp;nbsp;こんにちは。&lt;/blockquote&gt;
&lt;br /&gt;
やっとできました、が。結構大きい声で出さなければならない。自分の声も低いのせいもあるかな？多分マイク関連の設定を調整するが必要です。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
今日はこの辺で。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/8817822129040699376/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/12/raspberry-pijulius.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/8817822129040699376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/8817822129040699376'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/12/raspberry-pijulius.html' title='Raspberry PiにJuliusを動かしてみた（再び）'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_epSEgGcu2hf0HuyFyhUtmLknDgJW4vAggGkJ0-hwY0V3ioaO0bHRmzZs_1rDq59IipE0EJEhNRi_p2rv4xGDJoqWDltYevMA6Wh58sghfezcCzhjyHIslbAE3K4l3_Nc6e-Xqx0jEbFe/s72-c/DSC_0002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-2410895548655452811</id><published>2012-12-09T08:48:00.000+08:00</published><updated>2012-12-09T08:48:16.932+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>RPi_GPIO_GUI.py v0.2</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEk40hHS-Q3XtxsU7Ifu15qaQ_CQBnuElMwg821KwUv4HgJcKNsqI01xWqOMgYDalKKXaPTY9NPsvviX84x5ePurIzk1Sm6A7S6OXOzhlG4P7pPL6e6PD-NTARcEPoqh5-w_-X-zgVwcNy/s1600/rpp.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEk40hHS-Q3XtxsU7Ifu15qaQ_CQBnuElMwg821KwUv4HgJcKNsqI01xWqOMgYDalKKXaPTY9NPsvviX84x5ePurIzk1Sm6A7S6OXOzhlG4P7pPL6e6PD-NTARcEPoqh5-w_-X-zgVwcNy/s320/rpp.png&quot; width=&quot;158&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ezzep.blogspot.tw/p/rpi.html&quot;&gt;RPi_GPIO_GUIページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
変更点(2012/12/9)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;コードを改善しました。&lt;/li&gt;
&lt;li&gt;画面にGPIOの説明を追加しました&lt;/li&gt;
&lt;li&gt;ただ今 GPIO 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21/27, 22, 23, 24, 25 のコントロールが可能です。&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/2410895548655452811/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/12/rpigpioguipy-v02.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2410895548655452811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/2410895548655452811'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/12/rpigpioguipy-v02.html' title='RPi_GPIO_GUI.py v0.2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEk40hHS-Q3XtxsU7Ifu15qaQ_CQBnuElMwg821KwUv4HgJcKNsqI01xWqOMgYDalKKXaPTY9NPsvviX84x5ePurIzk1Sm6A7S6OXOzhlG4P7pPL6e6PD-NTARcEPoqh5-w_-X-zgVwcNy/s72-c/rpp.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-3523047691266049692</id><published>2012-12-04T13:14:00.000+08:00</published><updated>2012-12-04T13:14:41.718+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="LED"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>A beginner guide to Raspberry Pi driving 5x7 LED Matrix</title><content type='html'>&lt;div class=&quot;tr_bq&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/PRwaj-pGJNs?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
#include GPIO and Timer Library &lt;br /&gt;
import RPi.GPIO as GPIO&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class led57_object(object):&lt;br /&gt;
&amp;nbsp; def __init__(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; #define Raspberry Pi GPIO number&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.sleeptime=0.001&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.ROW1=23&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.ROW2=18&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.ROW3=25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.ROW4=22&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.ROW5=17&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL1=7&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL2=8&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL3=4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL4=24&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL5=10&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL6=9&lt;br /&gt;
&amp;nbsp; &amp;nbsp; self.COL7=11&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; #Raspberry Pi GPIO initalization&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setmode( GPIO.BCM )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL1, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL2, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL3, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL4, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL5, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL6, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.COL7, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.ROW1, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.ROW2, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.ROW3, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.ROW4, GPIO.OUT)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.setup(self.ROW5, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; def clear(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; #set all GPIO output to LOW&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL2, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL3, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL4, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL5, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL6, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.COL7, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.ROW1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.ROW2, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.ROW3, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.ROW4, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(self.ROW5, GPIO.LOW)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; def demo(self):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; #Code sample of showing &#39;Pi&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while 1:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; self.clear()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.ROW1, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL2, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL3, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL4, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL5, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL6, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL7, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.sleeptime)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; self.clear()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.ROW2, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL2, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL3, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL4, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL5, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL6, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL7, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.sleeptime)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; self.clear()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.ROW3, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL2, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL3, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL4, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL5, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL6, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL7, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.sleeptime)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; self.clear()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.ROW4, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL2, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL3, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL4, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL5, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL6, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL7, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.sleeptime)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; self.clear()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.ROW5, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL1, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL2, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL3, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL4, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL5, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL6, GPIO.LOW)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(self.COL7, GPIO.HIGH)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(self.sleeptime)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ledobj=led57_object()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ledobj.demo()&lt;br /&gt;
&lt;br /&gt;
if __name__ == &quot;__main__&quot;:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; main()&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/3523047691266049692/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/12/RaspberryPi-5x7LED.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/3523047691266049692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/3523047691266049692'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/12/RaspberryPi-5x7LED.html' title='A beginner guide to Raspberry Pi driving 5x7 LED Matrix'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-785879827757683260</id><published>2012-11-30T21:07:00.003+08:00</published><updated>2012-12-04T00:12:19.825+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="LCD"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry PiでキャラクタLCD（16x2）を動作させてみた（下）</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/f8dLQsNS4ws?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
実際の動きはこの感じです。&lt;br /&gt;
全角ひらがなカタカナと半角カナの変換辞書は未完成なので（約７割ぐらい完成）、気をつけてください。あとは英語数字と日本語と混ぜて使うとエラーが出てしまいます。&lt;br /&gt;
&lt;br /&gt;
コードは以下です：&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

#!/usr/loca/bin/python2.6&lt;br /&gt;
# -*- coding: utf_8 -*-&lt;br /&gt;
# Connects to HD44780 based LCD with Japanese support&lt;br /&gt;
# Author : Huang, Hao-Chih&lt;br /&gt;
# Site &amp;nbsp; : http://ezzep.blogspot.com&lt;br /&gt;
#&lt;br /&gt;
# Original Code:&lt;br /&gt;
# HD44780 LCD Test Script for Raspberry Pi&lt;br /&gt;
# Author : Matt Hawkins&lt;br /&gt;
# Site &amp;nbsp; : http://www.raspberrypi-spy.co.uk&lt;br /&gt;
#&lt;br /&gt;
&amp;nbsp;The wiring for the LCD is as follows:&lt;br /&gt;
# 1 : GND&lt;br /&gt;
# 2 : 5V&lt;br /&gt;
# 3 : Contrast (0-5V)*&lt;br /&gt;
# 4 : RS (Register Select)&lt;br /&gt;
# 5 : R/W (Read Write) &amp;nbsp; &amp;nbsp; &amp;nbsp; - GROUND THIS PIN&lt;br /&gt;
# 6 : Enable or Strobe&lt;br /&gt;
# 7 : Data Bit 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - NOT USED&lt;br /&gt;
# 8 : Data Bit 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - NOT USED&lt;br /&gt;
# 9 : Data Bit 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - NOT USED&lt;br /&gt;
# 10: Data Bit 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - NOT USED&lt;br /&gt;
# 11: Data Bit 4&lt;br /&gt;
# 12: Data Bit 5&lt;br /&gt;
# 13: Data Bit 6&lt;br /&gt;
# 14: Data Bit 7&lt;br /&gt;
# 15: LCD Backlight +5V**&lt;br /&gt;
# 16: LCD Backlight GND&lt;br /&gt;
#import&lt;br /&gt;
import RPi.GPIO as GPIO&lt;br /&gt;
import time&lt;br /&gt;
import re&lt;br /&gt;
# Define GPIO to LCD mapping&lt;br /&gt;
LCD_RS = 7&lt;br /&gt;
LCD_E &amp;nbsp;= 8&lt;br /&gt;
LCD_D4 = 25&lt;br /&gt;
LCD_D5 = 24&lt;br /&gt;
LCD_D6 = 23&lt;br /&gt;
LCD_D7 = 18&lt;br /&gt;
# Define some device constants&lt;br /&gt;
LCD_WIDTH = 16 &amp;nbsp; &amp;nbsp;# Maximum characters per line&lt;br /&gt;
LCD_CHR = True&lt;br /&gt;
LCD_CMD = False&lt;br /&gt;
LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line&lt;br /&gt;
LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line&lt;br /&gt;
# Timing constants&lt;br /&gt;
E_PULSE = 0.00005&lt;br /&gt;
E_DELAY = 0.00005&lt;br /&gt;
# 半濁音辞書&lt;br /&gt;
handakuon= [&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u&#39;ぱ&#39;, &amp;nbsp;u&#39;ぴ&#39;, &amp;nbsp;u&#39;ぷ&#39;, &amp;nbsp;u&#39;ぺ&#39;, &amp;nbsp;u&#39;ぽ&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;パ&#39;, &amp;nbsp;u&#39;ピ&#39;, &amp;nbsp;u&#39;プ&#39;, &amp;nbsp;u&#39;ペ&#39;, &amp;nbsp;u&#39;ポ&#39;&lt;br /&gt;
]&lt;br /&gt;
# 濁音辞書&lt;br /&gt;
dakuon = [&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u&#39;が&#39;, &amp;nbsp;u&#39;ぎ&#39;, &amp;nbsp;u&#39;ぐ&#39;, &amp;nbsp;u&#39;げ&#39;, &amp;nbsp;u&#39;ご&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;ざ&#39;, &amp;nbsp;u&#39;じ&#39;, &amp;nbsp;u&#39;ず&#39;, &amp;nbsp;u&#39;ぜ&#39;, &amp;nbsp;u&#39;ぞ&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;だ&#39;, &amp;nbsp;u&#39;ぢ&#39;, &amp;nbsp;u&#39;づ&#39;, &amp;nbsp;u&#39;で&#39;, &amp;nbsp;u&#39;ど&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;ば&#39;, &amp;nbsp;u&#39;び&#39;, &amp;nbsp;u&#39;ぶ&#39;, &amp;nbsp;u&#39;べ&#39;, &amp;nbsp;u&#39;ぼ&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;ガ&#39;, &amp;nbsp;u&#39;ギ&#39;, &amp;nbsp;u&#39;グ&#39;, &amp;nbsp;u&#39;ゲ&#39;, &amp;nbsp;u&#39;ゴ&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;ザ&#39;, &amp;nbsp;u&#39;ジ&#39;, &amp;nbsp;u&#39;ズ&#39;, &amp;nbsp;u&#39;ゼ&#39;, &amp;nbsp;u&#39;ゾ&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;ダ&#39;, &amp;nbsp;u&#39;ヂ&#39;, &amp;nbsp;u&#39;ヅ&#39;, &amp;nbsp;u&#39;デ&#39;, &amp;nbsp;u&#39;ド&#39;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , u&#39;バ&#39;, &amp;nbsp;u&#39;ビ&#39;, &amp;nbsp;u&#39;ブ&#39;, &amp;nbsp;u&#39;ベ&#39;, &amp;nbsp;u&#39;ボ&#39;&lt;br /&gt;
]&lt;br /&gt;
## 全角ひらがなカタカナ⇒半角カナ辞書 ##&lt;br /&gt;
zen2han &amp;nbsp;= &amp;nbsp;{ &amp;nbsp;u&#39;ア&#39;:0xB1, &amp;nbsp;u&#39;イ&#39;:0xB2, &amp;nbsp;u&#39;ウ&#39;:0xB3, &amp;nbsp;u&#39;エ&#39;:0xB4, &amp;nbsp;u&#39;オ&#39;:0xB5&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;カ&#39;:0xB6, &amp;nbsp;u&#39;キ&#39;:0xB7, &amp;nbsp;u&#39;ク&#39;:0xB8, &amp;nbsp;u&#39;ケ&#39;:0xB9, &amp;nbsp;u&#39;コ&#39;:0xBA&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;サ&#39;:0xBB, &amp;nbsp;u&#39;シ&#39;:0xBC, &amp;nbsp;u&#39;ス&#39;:0xBD, &amp;nbsp;u&#39;セ&#39;:0xBE, &amp;nbsp;u&#39;ソ&#39;:0xBF&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;タ&#39;:0xC0, &amp;nbsp;u&#39;チ&#39;:0xC1, &amp;nbsp;u&#39;ツ&#39;:0xC2, &amp;nbsp;u&#39;テ&#39;:0xC3, &amp;nbsp;u&#39;ト&#39;:0xC4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ナ&#39;:0xC5, &amp;nbsp;u&#39;ニ&#39;:0xC6, &amp;nbsp;u&#39;ヌ&#39;:0xC7, &amp;nbsp;u&#39;ネ&#39;:0xC8, &amp;nbsp;u&#39;ノ&#39;:0xC9&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ハ&#39;:0xCA, &amp;nbsp;u&#39;ヒ&#39;:0xCB, &amp;nbsp;u&#39;フ&#39;:0xCC, &amp;nbsp;u&#39;ヘ&#39;:0xCD, &amp;nbsp;u&#39;ホ&#39;:0xCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;マ&#39;:0xCF, &amp;nbsp;u&#39;ミ&#39;:0xD0, &amp;nbsp;u&#39;ム&#39;:0xD1, &amp;nbsp;u&#39;メ&#39;:0xD2, &amp;nbsp;u&#39;モ&#39;:0xD3&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ヤ&#39;:0xD4, &amp;nbsp;u&#39;ユ&#39;:0xD5, &amp;nbsp;u&#39;ヨ&#39;:0xD6, &amp;nbsp;u&#39;゜&#39;:0xDF, &amp;nbsp;u&#39;゛&#39;:0xDE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ラ&#39;:0xD7, &amp;nbsp;u&#39;リ&#39;:0xD8, &amp;nbsp;u&#39;ル&#39;:0xD9, &amp;nbsp;u&#39;レ&#39;:0xDA, &amp;nbsp;u&#39;ロ&#39;:0xDB&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ワ&#39;:0xDC, &amp;nbsp;u&#39;ン&#39;:0xDD, &amp;nbsp;u&#39;「&#39;:0xA2, &amp;nbsp;u&#39;」&#39;:0xA3, &amp;nbsp;u&#39;。&#39;:0xA1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;、&#39;:0xA4, &amp;nbsp;u&#39;・&#39;:0xA5, &amp;nbsp;u&#39;ァ&#39;:0xA7, &amp;nbsp;u&#39;ィ&#39;:0xA8, &amp;nbsp;u&#39;ゥ&#39;:0xA9&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ェ&#39;:0xAA, &amp;nbsp;u&#39;ォ&#39;:0xAB, &amp;nbsp;u&#39;ャ&#39;:0xAC, &amp;nbsp;u&#39;ュ&#39;:0xAD, &amp;nbsp;u&#39;ョ&#39;:0xAE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ガ&#39;:0xB6, &amp;nbsp;u&#39;ギ&#39;:0xB7, &amp;nbsp;u&#39;グ&#39;:0xB8, &amp;nbsp;u&#39;ゲ&#39;:0xB9, &amp;nbsp;u&#39;ゴ&#39;:0xBA&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ザ&#39;:0xBB, &amp;nbsp;u&#39;ジ&#39;:0xBC, &amp;nbsp;u&#39;ズ&#39;:0xBD, &amp;nbsp;u&#39;ゼ&#39;:0xBE, &amp;nbsp;u&#39;ゾ&#39;:0xBF&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ダ&#39;:0xC0, &amp;nbsp;u&#39;ヂ&#39;:0xC1, &amp;nbsp;u&#39;ヅ&#39;:0xC2, &amp;nbsp;u&#39;デ&#39;:0xC3, &amp;nbsp;u&#39;ド&#39;:0xC4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;バ&#39;:0xCA, &amp;nbsp;u&#39;ビ&#39;:0xCB, &amp;nbsp;u&#39;ブ&#39;:0xCC, &amp;nbsp;u&#39;ベ&#39;:0xCD, &amp;nbsp;u&#39;ボ&#39;:0xCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;パ&#39;:0xCA, &amp;nbsp;u&#39;ピ&#39;:0xCB, &amp;nbsp;u&#39;プ&#39;:0xCC, &amp;nbsp;u&#39;ペ&#39;:0xCD, &amp;nbsp;u&#39;ポ&#39;:0xCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ヴ&#39;:0xB3, &amp;nbsp;u&#39;ッ&#39;:0xAF&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ヲ&#39;:0xA6&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;あ&#39; :0xB1, u&#39;い&#39; :0xB2, u&#39;う&#39; :0xB3, u&#39;え&#39; :0xB4, u&#39;お&#39; :0xB5&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;か&#39; :0xB6, u&#39;き&#39; :0xB7, u&#39;く&#39; :0xB8, u&#39;け&#39; :0xB9, u&#39;こ&#39; :0xBA&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;さ&#39; :0xBB, u&#39;し&#39; :0xBC, u&#39;す&#39; :0xBD, u&#39;せ&#39; :0xBE, u&#39;そ&#39; :0xBF&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;た&#39; :0xC0, u&#39;ち&#39; :0xC1, u&#39;つ&#39; :0xC2, u&#39;て&#39; :0xC3, u&#39;と&#39; :0xC4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;な&#39; :0xC5, u&#39;に&#39; :0xC6, u&#39;ぬ&#39; :0xC7, u&#39;ね&#39; :0xC8, u&#39;の&#39; :0xC9&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;は&#39; :0xCA, u&#39;ひ&#39; :0xCB, u&#39;ふ&#39; :0xCC, u&#39;へ&#39; :0xCD, u&#39;ほ&#39; :0xCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ま&#39; :0xCF, u&#39;み&#39; :0xD0, u&#39;む&#39; :0xD1, u&#39;め&#39; :0xD2, u&#39;も&#39; :0xD3&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;や&#39; :0xD4, u&#39;ゆ&#39; :0xD5, u&#39;よ&#39; :0xD6, u&#39;゜&#39; :0xDF, u&#39;゛&#39; :0xDE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ら&#39; :0xD7, u&#39;り&#39; :0xD8, u&#39;る&#39; :0xD9, u&#39;れ&#39; :0xDA, u&#39;ろ&#39; :0xDB&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;わ&#39; :0xDC, u&#39;ん&#39; :0xDD, u&#39;っ&#39; :0xAF, u&#39;　&#39; :0xA0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;、&#39; :0xA4, u&#39;・&#39; :0xA5, u&#39;ぁ&#39; :0xA7, u&#39;ぃ&#39; :0xA8, u&#39;ぅ&#39; :0xA9&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ぇ&#39; :0xAA, u&#39;ぉ&#39; :0xAB, u&#39;ゃ&#39; :0xAC, u&#39;ゅ&#39; :0xAD, u&#39;ょ&#39; :0xAE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;が&#39; :0xB6, u&#39;ぎ&#39; :0xB7, u&#39;ぐ&#39; :0xB8, u&#39;げ&#39; :0xB9, u&#39;ご&#39; :0xBA&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ざ&#39; :0xBB, u&#39;じ&#39; :0xBC, u&#39;ず&#39; :0xBD, u&#39;ぜ&#39;: 0xBE, u&#39;ぞ&#39; :0xBF&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;だ&#39; :0xC0, u&#39;ぢ&#39; :0XC1, u&#39;づ&#39; :0xC2, u&#39;で&#39;: 0xC3, u&#39;ど&#39; :0xC4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ば&#39;: 0xCA, u&#39;び&#39;: 0xCB, u&#39;ぶ&#39;: 0xCC, u&#39;べ&#39;: 0xCD, u&#39;ぼ&#39;: 0xCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;ぱ&#39;: 0xCA, u&#39;ぴ&#39;: 0xCB, u&#39;ぷ&#39;: 0xCC, u&#39;ぺ&#39;: 0xCD, u&#39;ぽ&#39;: 0xCE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;, u&#39;を&#39;: 0xA6 ,u&#39;ー&#39;: 0xB0}&lt;br /&gt;
# 半角カナを表示&lt;br /&gt;
def lcd_kana(s):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; # 二行全部使用ので、一行目から表示　&lt;br /&gt;
&amp;nbsp; &amp;nbsp; lcd_byte(LCD_LINE_1, LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CPOSX=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CPOSY=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; conv_dic={}&lt;br /&gt;
&amp;nbsp; &amp;nbsp; conv_dic = zen2han&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ## 処理用の文字列を作成 ##&lt;br /&gt;
&amp;nbsp; &amp;nbsp; o = u&#39;%s&#39; % (unicode(s,&#39;utf_8&#39;))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ## 処理用文字列で1文字ずつ処理 ##&lt;br /&gt;
&amp;nbsp; &amp;nbsp; z = p = u&#39;&#39; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 処理用文字列の初期化&lt;br /&gt;
&amp;nbsp; &amp;nbsp; for h in o: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 1文字ずつ&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # ひらがなとカタカナを全部半角カナに変換し、表示する&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if h in conv_dic:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd_byte(conv_dic[h] ,LCD_CHR)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPOSX=CPOSX+1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if CPOSX&amp;gt;=16:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if CPOSY==0:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcd_byte(LCD_LINE_2,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSY=1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSX=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcd_byte(LCD_LINE_1,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSY=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSX=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 半濁音の処理&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if h in handakuon:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd_byte(0xDF,LCD_CHR)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPOSX=CPOSX+1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if CPOSX&amp;gt;=16:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if CPOSY==0:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcd_byte(LCD_LINE_2,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSY=1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSX=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcd_byte(LCD_LINE_1,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSY=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSX=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 濁音の処理&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if h in dakuon:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lcd_byte(0xDE,LCD_CHR)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPOSX=CPOSX+1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if CPOSX&amp;gt;=16:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if CPOSY==0:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcd_byte(LCD_LINE_2,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSY=1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSX=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcd_byte(LCD_LINE_1,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSY=0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CPOSX=0&lt;br /&gt;
def main():&lt;br /&gt;
&amp;nbsp; # Main program block&lt;br /&gt;
&amp;nbsp; GPIO.setmode(GPIO.BCM) &amp;nbsp; &amp;nbsp; &amp;nbsp; # Use BCM GPIO numbers&lt;br /&gt;
&amp;nbsp; GPIO.setup(LCD_E, GPIO.OUT) &amp;nbsp;# E&lt;br /&gt;
&amp;nbsp; GPIO.setup(LCD_RS, GPIO.OUT) # RS&lt;br /&gt;
&amp;nbsp; GPIO.setup(LCD_D4, GPIO.OUT) # DB4&lt;br /&gt;
&amp;nbsp; GPIO.setup(LCD_D5, GPIO.OUT) # DB5&lt;br /&gt;
&amp;nbsp; GPIO.setup(LCD_D6, GPIO.OUT) # DB6&lt;br /&gt;
&amp;nbsp; GPIO.setup(LCD_D7, GPIO.OUT) # DB7&lt;br /&gt;
&amp;nbsp; # Initialise display&lt;br /&gt;
&amp;nbsp; lcd_init()&lt;br /&gt;
&amp;nbsp; while 1:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; my_input = raw_input(&quot;&amp;gt;&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; lcd_byte(0x01,LCD_CMD)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; # Send some test&lt;br /&gt;
&amp;nbsp; &amp;nbsp; lcd_kana(my_input)&lt;br /&gt;
def lcd_init():&lt;br /&gt;
&amp;nbsp; # Initialise display&lt;br /&gt;
&amp;nbsp; lcd_byte(0x33,LCD_CMD)&lt;br /&gt;
&amp;nbsp; lcd_byte(0x32,LCD_CMD)&lt;br /&gt;
&amp;nbsp; lcd_byte(0x28,LCD_CMD)&lt;br /&gt;
&amp;nbsp; lcd_byte(0x0C,LCD_CMD)&lt;br /&gt;
&amp;nbsp; lcd_byte(0x06,LCD_CMD)&lt;br /&gt;
&amp;nbsp; lcd_byte(0x01,LCD_CMD)&lt;br /&gt;
def lcd_string(message):&lt;br /&gt;
&amp;nbsp; # Send string to display&lt;br /&gt;
&amp;nbsp; message = message.ljust(LCD_WIDTH,&quot; &quot;)&lt;br /&gt;
&amp;nbsp; for i in range(LCD_WIDTH):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; lcd_byte(ord(message[i]),LCD_CHR)&lt;br /&gt;
def lcd_byte(bits, mode):&lt;br /&gt;
&amp;nbsp; # Send byte to data pins&lt;br /&gt;
&amp;nbsp; # bits = data&lt;br /&gt;
&amp;nbsp; # mode = True &amp;nbsp;for character&lt;br /&gt;
&amp;nbsp; # &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;False for command&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_RS, mode) # RS&lt;br /&gt;
&amp;nbsp; # High bits&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D4, False)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D5, False)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D6, False)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D7, False)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x10==0x10:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D4, True)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x20==0x20:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D5, True)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x40==0x40:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D6, True)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x80==0x80:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D7, True)&lt;br /&gt;
&amp;nbsp; # Toggle &#39;Enable&#39; pin&lt;br /&gt;
&amp;nbsp; time.sleep(E_DELAY)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_E, True)&lt;br /&gt;
&amp;nbsp; time.sleep(E_PULSE)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_E, False)&lt;br /&gt;
&amp;nbsp; time.sleep(E_DELAY)&lt;br /&gt;
&amp;nbsp; # Low bits&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D4, False)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D5, False)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D6, False)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_D7, False)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x01==0x01:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D4, True)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x02==0x02:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D5, True)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x04==0x04:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D6, True)&lt;br /&gt;
&amp;nbsp; if bits&amp;amp;0x08==0x08:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(LCD_D7, True)&lt;br /&gt;
&amp;nbsp; # Toggle &#39;Enable&#39; pin&lt;br /&gt;
&amp;nbsp; time.sleep(E_DELAY)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_E, True)&lt;br /&gt;
&amp;nbsp; time.sleep(E_PULSE)&lt;br /&gt;
&amp;nbsp; GPIO.output(LCD_E, False)&lt;br /&gt;
&amp;nbsp; time.sleep(E_DELAY)&lt;br /&gt;
if __name__ == &#39;__main__&#39;:&lt;br /&gt;
&amp;nbsp; main()
]]&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/785879827757683260/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/11/raspberry-pilcd16x2-2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/785879827757683260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/785879827757683260'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/11/raspberry-pilcd16x2-2.html' title='Raspberry PiでキャラクタLCD（16x2）を動作させてみた（下）'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-7855259774376966677</id><published>2012-11-29T22:55:00.000+08:00</published><updated>2012-11-29T22:55:32.221+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="LCD"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry PiでキャラクタLCD（16x2）を動作させてみた（上）</title><content type='html'>まず結果です。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnAvhIXS5yo3JWW5A-z9gGZFSIDxdZvTV_PaROnzpBwIPn-E8NJxtWkLQo3UXumJOBSTEgVG1tPjErKzWFMH2bxjVxxuq_V61lEY3UxqVbBA09un4muQJHA7zcAKSpQbgP_5PkVp8c3VjV/s1600/RIMG0002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnAvhIXS5yo3JWW5A-z9gGZFSIDxdZvTV_PaROnzpBwIPn-E8NJxtWkLQo3UXumJOBSTEgVG1tPjErKzWFMH2bxjVxxuq_V61lEY3UxqVbBA09un4muQJHA7zcAKSpQbgP_5PkVp8c3VjV/s320/RIMG0002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
今回使ったのは、&lt;a href=&quot;http://akizukidenshi.com/catalog/default.aspx&quot;&gt;秋月電子&lt;/a&gt;で買ったの&lt;a href=&quot;http://akizukidenshi.com/catalog/g/gP-01675/&quot;&gt;超小型ＬＣＤキャラクタディスプレイモジュール&lt;/a&gt;です。はんだをやることに自信がないし、二つを買いました。（昨日の話）SD1602系を選んだ理由の一つは、端子は１列となっていて、ブレッドボードに優しいから。&lt;br /&gt;
&lt;br /&gt;
LCDモジュールを動作させることについてを調べてみた。コントローラICは基本的にHD44780が使われているそうです。ということで「Raspberry Pi」「HD44780」をキーワードにして検索して、いっぱい結果（サンプルコードも）が出てきた。LCDに関するライブラリも少なくないけれど、これから半角カナを表示することが必要になるので、ライブラリをつかずサンプルコードを参考しました。&lt;br /&gt;
&lt;br /&gt;
16×2 LCD Module Control Using Python&lt;br /&gt;
&lt;a href=&quot;http://www.raspberrypi-spy.co.uk/2012/07/16x2-lcd-module-control-using-python/&quot;&gt;http://www.raspberrypi-spy.co.uk/2012/07/16x2-lcd-module-control-using-python/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
大変詳しい説明があるので、記事が書いたとおりすれば、いい結果が出てくるはずです。&lt;br /&gt;
&lt;br /&gt;
問題は半角カタカナの表示。&lt;br /&gt;
&lt;br /&gt;
一般（？）使っているのは全角ひなや全角カナだが、LCDモジュールは半角カナのみ。モジュールの説明書にあるキャラクターフォントテーブルをひいて、「こんにちは」を 0xBA,0xDD,0xC6,0xC1,0xCA（コンニチハ）に変化するのも面倒だし...&lt;br /&gt;
&lt;br /&gt;
実はいままだ頑張っている途中です。いまはここの記事を基づいて改造しています。&lt;br /&gt;
&lt;br /&gt;
【Unicode】PythonでのUnicode下での半角カナと全角かな変換&lt;br /&gt;
http://pythonlife.seesaa.net/article/148816739.html&lt;br /&gt;
&lt;br /&gt;
いまのところ、ひらがなを半角カナに変更し、正常に表示できました。残った部分は&lt;br /&gt;
濁点、半濁点の処理です。&lt;br /&gt;
&lt;br /&gt;
完成したらまた報告します。</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/7855259774376966677/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/11/raspberry-pilcd16x2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7855259774376966677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7855259774376966677'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/11/raspberry-pilcd16x2.html' title='Raspberry PiでキャラクタLCD（16x2）を動作させてみた（上）'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnAvhIXS5yo3JWW5A-z9gGZFSIDxdZvTV_PaROnzpBwIPn-E8NJxtWkLQo3UXumJOBSTEgVG1tPjErKzWFMH2bxjVxxuq_V61lEY3UxqVbBA09un4muQJHA7zcAKSpQbgP_5PkVp8c3VjV/s72-c/RIMG0002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-979395200943615027</id><published>2012-11-28T23:02:00.002+08:00</published><updated>2012-11-28T23:02:44.832+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="LCD"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>帰りました</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5XLFuTFrhIU5GBaAXUWV3mY9z61WMiDYIEX6Big8a5tYTbvcTGLEMGAn9diuneuoMa08j0jXzdwmeAgeH666DPd5v_eg1nB4wiIO8jsLDRpwbvNFAvvO_3NCMDFBfNQNxH324Osxnh4AT/s1600/RIMG0002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5XLFuTFrhIU5GBaAXUWV3mY9z61WMiDYIEX6Big8a5tYTbvcTGLEMGAn9diuneuoMa08j0jXzdwmeAgeH666DPd5v_eg1nB4wiIO8jsLDRpwbvNFAvvO_3NCMDFBfNQNxH324Osxnh4AT/s320/RIMG0002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
実は日本へ旅行しにいってきた。秋月電子でLCDモジュールを買いました。こちらは16x2キャラクタータイプのLCDモジュールをうっている店もありますけれど、これから作りたいモノにカタカナ表示が必要なので...&lt;br /&gt;
&lt;br /&gt;
はんだは下手すぎで、壊れてしまったかに心配していた、でも異常はないようだ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
参考リンク&lt;br /&gt;
&lt;br /&gt;
http://learn.adafruit.com/drive-a-16x2-lcd-directly-with-a-raspberry-pi/overview&lt;br /&gt;
&lt;br /&gt;
http://www.rpiblog.com/2012/11/interfacing-16x2-lcd-with-raspberry-pi.html</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/979395200943615027/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/11/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/979395200943615027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/979395200943615027'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/11/blog-post.html' title='帰りました'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5XLFuTFrhIU5GBaAXUWV3mY9z61WMiDYIEX6Big8a5tYTbvcTGLEMGAn9diuneuoMa08j0jXzdwmeAgeH666DPd5v_eg1nB4wiIO8jsLDRpwbvNFAvvO_3NCMDFBfNQNxH324Osxnh4AT/s72-c/RIMG0002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-4942346359748311098</id><published>2012-11-06T17:08:00.001+08:00</published><updated>2012-11-06T17:09:44.447+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>[Rasepberry Pi] GPIOコントロール用のサンプルコードを作ってみた</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhA6LI2YEH_NCvrO1bPM0ECGWuexo0eoK3q_PK7wzbHnZThQo1RdbsTTaUxM7UPmwHL44VXu3tDqRkG9Mp5Svswb35SyBQDr_xnywKCF23PKjjNwtu1u7R55OyOyID6aDH8j06cGvDW6o3/s1600/%E7%94%BB%E9%9D%A2%E5%85%B1%E6%9C%89%E3%83%92%E3%82%9A%E3%82%AF%E3%83%81%E3%83%A3+2012%E5%B9%B411%E6%9C%885%E6%97%A5+22.30.44+GMT+08.00.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhA6LI2YEH_NCvrO1bPM0ECGWuexo0eoK3q_PK7wzbHnZThQo1RdbsTTaUxM7UPmwHL44VXu3tDqRkG9Mp5Svswb35SyBQDr_xnywKCF23PKjjNwtu1u7R55OyOyID6aDH8j06cGvDW6o3/s1600/%E7%94%BB%E9%9D%A2%E5%85%B1%E6%9C%89%E3%83%92%E3%82%9A%E3%82%AF%E3%83%81%E3%83%A3+2012%E5%B9%B411%E6%9C%885%E6%97%A5+22.30.44+GMT+08.00.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
LXDE環境で使うGPIOコントローラです、ボタンを押すだけでGPIOをオン／オフするが可能です。LEDやモーターをテストに便利かなと思います。実際に使う様子：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/15m4-KmMlJM?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
これはPython+Tkinterで開発したプログラム、&amp;nbsp;Raspbianや他のdistributionでそのまま使えると思います（rootで、忘れずに）。&lt;br /&gt;
&lt;br /&gt;
Source code: &lt;a href=&quot;https://s3.amazonaws.com/HZ-Studio/rpi_gpio_gui.py.zip&quot;&gt;rip_gpio_gui.py.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/4942346359748311098/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/11/rasepberry-pi-gpio.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/4942346359748311098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/4942346359748311098'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/11/rasepberry-pi-gpio.html' title='[Rasepberry Pi] GPIOコントロール用のサンプルコードを作ってみた'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhA6LI2YEH_NCvrO1bPM0ECGWuexo0eoK3q_PK7wzbHnZThQo1RdbsTTaUxM7UPmwHL44VXu3tDqRkG9Mp5Svswb35SyBQDr_xnywKCF23PKjjNwtu1u7R55OyOyID6aDH8j06cGvDW6o3/s72-c/%E7%94%BB%E9%9D%A2%E5%85%B1%E6%9C%89%E3%83%92%E3%82%9A%E3%82%AF%E3%83%81%E3%83%A3+2012%E5%B9%B411%E6%9C%885%E6%97%A5+22.30.44+GMT+08.00.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-8683639223685255841</id><published>2012-11-04T00:00:00.003+08:00</published><updated>2012-11-04T00:00:52.896+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry PiのGPIOテストコントロール用スクリプト(Python)</title><content type='html'>更新が遅れてしまった。&lt;br /&gt;
&lt;br /&gt;
今回はRaspberry PiのGPIOテストコントロール用スクリプトを作ろうと思います。&lt;br /&gt;
ここは全部のGPIOがコントロールできるコードじゃない。GPIO21,22,23,24,25だけコントロールできるの部分です、全部はるのもちょっと長過ぎるという原因もありますし。もっときれいなコードがあるはずと思います（Pythonは得意じゃないから、、）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使い方は簡単、rootで起動します。例えばGPIO 25をオンにしたい場合、そのまま25を入力してください。オフにしたい場合、もう一度25を入力したらオフです。CTRL+Cを押すと中止です。&lt;br /&gt;
&lt;br /&gt;
GUIバージョンを作ろうか...&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
import RPi.GPIO as GPIO&lt;br /&gt;import time&lt;br /&gt;GPIO.setmode( GPIO.BCM )&lt;br /&gt;GPIO.setup(21, GPIO.OUT)&lt;br /&gt;GPIO.setup(22, GPIO.OUT)&lt;br /&gt;GPIO.setup(23, GPIO.OUT)&lt;br /&gt;GPIO.setup(24, GPIO.OUT)&lt;br /&gt;GPIO.setup(25, GPIO.OUT)&lt;br /&gt;io21=0&lt;br /&gt;io22=0&lt;br /&gt;io23=0&lt;br /&gt;io24=0&lt;br /&gt;io25=0&lt;br /&gt;my_input = &#39;25&#39;&lt;br /&gt;while 1:&lt;br /&gt;&amp;nbsp; my_input = raw_input(&quot;(Last input: %s):\n&quot; % my_input) or my_input&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; if my_input==&quot;25&quot;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if io25==0:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(25, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io25=1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(25, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io25=0&lt;br /&gt;&amp;nbsp; if my_input==&quot;24&quot;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if io24==0:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(24, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io24=1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(24, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io24=0&lt;br /&gt;&amp;nbsp; if my_input==&quot;23&quot;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if io23==0:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(23, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io23=1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(23, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io23=0&lt;br /&gt;&amp;nbsp; if my_input==&quot;22&quot;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if io22==0:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(22, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io22=1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(22, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io22=0&lt;br /&gt;&amp;nbsp; if my_input==&quot;21&quot;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if io21==0:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(21, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io21=1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GPIO.output(21, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; io21=0&lt;/blockquote&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/8683639223685255841/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/11/raspberry-pigpiopython.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/8683639223685255841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/8683639223685255841'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/11/raspberry-pigpiopython.html' title='Raspberry PiのGPIOテストコントロール用スクリプト(Python)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-7013207743536577163</id><published>2012-10-29T22:14:00.000+08:00</published><updated>2012-10-30T06:51:57.744+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry PiのGPIOを遊んでみた</title><content type='html'>&lt;br /&gt;
GPIOを遊んでみたいが、半田はわたしには難しいです。&lt;br /&gt;
ネットで資料を調べてみた。3.5&quot;FDDケーブルにはこういう使い方もあるか。早速改造してみた。これは完成品です、地味だけど。&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJI02YylP_pWlyWpxqvRzPY-M8qkPmugXUy4_WNfJSkFeuQQ65UpB0WxTu4zmwMfgoiU09Yk04AOrta1cD3AQfnk7WRjE-rX2xBcOfJ69QmXIOU9s-OMYBcFcgTDKp7oiKytZuA0IzjJr/s1600/DSC_0009.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJI02YylP_pWlyWpxqvRzPY-M8qkPmugXUy4_WNfJSkFeuQQ65UpB0WxTu4zmwMfgoiU09Yk04AOrta1cD3AQfnk7WRjE-rX2xBcOfJ69QmXIOU9s-OMYBcFcgTDKp7oiKytZuA0IzjJr/s320/DSC_0009.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqFYOJHVRN7HRx7FdyyPUN4NX2ZEiF8peuJBCe11Rwz1GsFcKTDCRwVfIfJQjtdpJfhgofm-mZTOVtowOUgLSjVpOs5P8pCM5134JDCbSLQ_SYoxSAhLxoASc-kkJqQomaUlcuvRnMi-tJ/s1600/DSC_0003.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqFYOJHVRN7HRx7FdyyPUN4NX2ZEiF8peuJBCe11Rwz1GsFcKTDCRwVfIfJQjtdpJfhgofm-mZTOVtowOUgLSjVpOs5P8pCM5134JDCbSLQ_SYoxSAhLxoASc-kkJqQomaUlcuvRnMi-tJ/s320/DSC_0003.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjTmhyVbZTD9TtqQf64G_vFV6AxgV0fwhemtReHto4X8w1P-DKpYMRDjvvo8b2j__96U6DBKLEDQxsm3z8Evh5ONsIx0PFEuYZvIt1Q_XMmEOgNT-E82VSMI7NhtrbPSHVv_sqFzAVkWqx/s1600/DSC_0002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjTmhyVbZTD9TtqQf64G_vFV6AxgV0fwhemtReHto4X8w1P-DKpYMRDjvvo8b2j__96U6DBKLEDQxsm3z8Evh5ONsIx0PFEuYZvIt1Q_XMmEOgNT-E82VSMI7NhtrbPSHVv_sqFzAVkWqx/s320/DSC_0002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
右の4x2ピンは使わないので、テープをはいておく。あと気をつければならない部分があります：FDDケーブルを使うとき、TopとButtomは反対です。つまりㄝ上からみると、Pin1の位置は実はPin2、Pin25はPin26です。ここは一番間違いしやすいところだと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhENfpILH-Itwl7I-L4lkJxi-VXkk50SkaqoKpPW8Ol3bwhBm403gai3oTaAjUhnnjcSGu8l9n9Gw_ooO82snRqYJPP94XS-P6xOJJLFnKdsrvCSKNnszNLQnU2yRriaMD5tZ2pVK7E12pg/s1600/DSC_0003.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhENfpILH-Itwl7I-L4lkJxi-VXkk50SkaqoKpPW8Ol3bwhBm403gai3oTaAjUhnnjcSGu8l9n9Gw_ooO82snRqYJPP94XS-P6xOJJLFnKdsrvCSKNnszNLQnU2yRriaMD5tZ2pVK7E12pg/s320/DSC_0003.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
早速LEDを点滅させてみます。今回は三つLEDを使います。GPIO4,17,24使います。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV48LNdIqcyeSQp2gaSQLfZ6_yoK2oix32i1rPwyB1HJEYBCcsjrRgCMred60kPFX-OF3n-Sxjd__PrZmi_O3_qFYBU4zttjYL62A__3aaiX5wOSN9wjgTvC2vsJi8aXcdmb2Zci-oPCgE/s1600/DSC_0007.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV48LNdIqcyeSQp2gaSQLfZ6_yoK2oix32i1rPwyB1HJEYBCcsjrRgCMred60kPFX-OF3n-Sxjd__PrZmi_O3_qFYBU4zttjYL62A__3aaiX5wOSN9wjgTvC2vsJi8aXcdmb2Zci-oPCgE/s320/DSC_0007.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
以下、前の図白文字で表示します：&lt;br /&gt;
LED 1 : &amp;nbsp; (+) GPIO4, &amp;nbsp; &amp;nbsp; &amp;nbsp;7 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(-)GND, &amp;nbsp; ６&lt;br /&gt;
LED 2 : &amp;nbsp; (+) GPIO17, &amp;nbsp; &amp;nbsp;9 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(-)GND, &amp;nbsp; &amp;nbsp;11&lt;br /&gt;
LED 3 : &amp;nbsp; (+) GPIO24, &amp;nbsp; &amp;nbsp;18 &amp;nbsp; &amp;nbsp; &amp;nbsp;(-)GND, &amp;nbsp; &amp;nbsp;20&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
次はpythonの部分、コードは以下通りです：&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
import RPi.GPIO as GPIO&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
GPIO.setmode( GPIO.BCM )&lt;br /&gt;
GPIO.setup(4, GPIO.OUT)&lt;br /&gt;
GPIO.setup(17, GPIO.OUT)&lt;br /&gt;
GPIO.setup(24, GPIO.OUT)&lt;br /&gt;
&lt;br /&gt;
while 1 :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(4, True)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(17, False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(24,False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; time.sleep(0.33)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(4,False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(17, True)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(24,False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; time.sleep(0.33)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(4, False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(17, False)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; GPIO.output(24, True)&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
結果：&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/ow33kGopZw4?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/7013207743536577163/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/10/raspberry-pigpio.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7013207743536577163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7013207743536577163'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/10/raspberry-pigpio.html' title='Raspberry PiのGPIOを遊んでみた'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJI02YylP_pWlyWpxqvRzPY-M8qkPmugXUy4_WNfJSkFeuQQ65UpB0WxTu4zmwMfgoiU09Yk04AOrta1cD3AQfnk7WRjE-rX2xBcOfJ69QmXIOU9s-OMYBcFcgTDKp7oiKytZuA0IzjJr/s72-c/DSC_0009.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-5051953313076469367</id><published>2012-10-28T22:00:00.000+08:00</published><updated>2012-10-29T04:31:10.587+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GPIO"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><title type='text'>Raspberry Pi GPIO テスト</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/69zm4vfwWNM?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
やっと動きました。詳しくは明日に&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/5051953313076469367/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/10/raspberry-pi-gpio.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/5051953313076469367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/5051953313076469367'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/10/raspberry-pi-gpio.html' title='Raspberry Pi GPIO テスト'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587066066933189486.post-7111187425885214040</id><published>2012-10-26T00:34:00.001+08:00</published><updated>2012-10-26T00:36:33.305+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>[Android] XMLとAsyncTaskと動けないnotifyDataSetChanged</title><content type='html'>Android開発し始まった。Objective-Cに慣れたわたしには、ちょっと難しい、Javaは多分１０年も触らなかった。&lt;br /&gt;
&lt;br /&gt;
一日中どうやってXMLファイルを読み込み、ListViewに表示するかにチャレンジしてた。&lt;br /&gt;
&lt;br /&gt;
とにかく書いておこう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
問題一：ネットでXMLファイルをロードしようとしたが、android.os.NetworkOnMainThreadExceptionというエラーが出てしまった。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
解決方法はいろいろありそう：一つはStrictMode.ThreadPolicyでの設定すること、でも調べてみた結果、あまりいいアイデアではなさそうだ。&lt;br /&gt;
&lt;br /&gt;
代わりにAsyncTaskを使う。そうしたらXMLを解析する作業は全部AsyncTaskに済む。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
問題二：ListViewをnotifyDataSetChangedで更新しようとしたが、エラーが出てしまう。&lt;br /&gt;
結局、Runnableを使いました。なんとなく動けた。&lt;br /&gt;
&lt;br /&gt;
最後のコードはこの感じ、XMLファイルはAsyncTaskで読み込んで、終わったらRunnableでListViewを更新する：&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;public class App extends Activity {&lt;br /&gt; &lt;br /&gt;    private ArrayList&amp;lt;String&amp;gt; items;&lt;br /&gt; &lt;br /&gt; private ListView klist;&lt;br /&gt; &lt;br /&gt; private ArrayAdapter&amp;lt;String&amp;gt; adapter;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt; &lt;br /&gt; super.onCreate(savedInstanceState);&lt;br /&gt; setContentView(R.layout.appLayout);&lt;br /&gt; klist=(ListView)findViewById(R.id.klist);&lt;br /&gt; items = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;&lt;br /&gt;     adapter = new ArrayAdapter&amp;lt;String&amp;gt;(this, android.R.layout.simple_expandable_list_item_1, items);&lt;br /&gt; &lt;br /&gt; klist.setAdapter(adapter);&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp; &amp;nbsp; DownloadFileAsync d = new DownloadFileAsync();&lt;br /&gt;&amp;nbsp; &amp;nbsp; d.execute(&quot;http://....&quot;);&lt;br /&gt;&amp;nbsp; } catch (Exception e) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; System.out.println(&quot;XML Pasing Excpetion = &quot; + e);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;    void refreshListView() {&lt;br /&gt; &amp;nbsp; adapter.notifyDataSetChanged();&lt;br /&gt; &amp;nbsp; klist.invalidateViews();&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; class DownloadFileAsync extends AsyncTask&amp;lt;String, String, String&amp;gt; {&lt;br /&gt;Document doc;&lt;br /&gt; &lt;br /&gt;     @Override&lt;br /&gt;protected void onPreExecute() {&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.onPreExecute();&lt;br /&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;@Override&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;     protected String doInBackground(String... aurl) {&lt;br /&gt;     try {&lt;br /&gt;             URL url = new URL(aurl[0]);&lt;br /&gt; &lt;br /&gt;     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();&lt;br /&gt;     DocumentBuilder db = dbf.newDocumentBuilder();&lt;br /&gt;     doc= db.parse(new InputSource(url.openStream()));&lt;br /&gt;     doc.getDocumentElement().normalize();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     NodeList nodeList = doc.getElementsByTagName(&quot;bookdata&quot;);&lt;br /&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;name = new String[nodeList.getLength()];&lt;br /&gt;for (int i = 0; i &amp;lt; nodeList.getLength(); i++) {&lt;br /&gt;Node node = nodeList.item(i);&lt;br /&gt;&lt;br /&gt;     Element fstElmnt = (Element) node;&lt;br /&gt;NodeList nameList = fstElmnt.getElementsByTagName(&quot;title&quot;);&lt;br /&gt; &lt;br /&gt;     Element nameElement = (Element) nameList.item(0);&lt;br /&gt;nameList = nameElement.getChildNodes();&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;items.add(((Node) nameList.item(0)).getNodeValue());&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;     Runnable run = new Runnable(){&lt;br /&gt; &amp;nbsp; public void run(){&lt;br /&gt; &amp;nbsp; &amp;nbsp; refreshListView();&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;};&lt;br /&gt;runOnUiThread(run);&lt;/span&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;} catch (Exception e) {&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; System.out.println(&quot;Excpetion = &quot; + e);&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;     }&lt;br /&gt; &lt;br /&gt;return null;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt; &lt;br /&gt;     protected void onProgressUpdate(String... progress) {&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;     @Override&lt;br /&gt;protected void onPostExecute(String unused) {}&lt;br /&gt;} //end class&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;DownloadFileAsync&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt; &lt;br /&gt;}&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;&lt;/blockquote&gt;
雑々ですみません。&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ezzep.blogspot.com/feeds/7111187425885214040/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://ezzep.blogspot.com/2012/10/android-xmlasynctasknotifydatasetchanged.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7111187425885214040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587066066933189486/posts/default/7111187425885214040'/><link rel='alternate' type='text/html' href='http://ezzep.blogspot.com/2012/10/android-xmlasynctasknotifydatasetchanged.html' title='[Android] XMLとAsyncTaskと動けないnotifyDataSetChanged'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>