<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
>
<channel rdf:about="http://blog.livedoor.jp/hardyboy/">
<title>まごころせいじつ堂 - TFT</title>
<link>http://blog.livedoor.jp/hardyboy/</link>
<description>浜町庄金　研究開発
　マイコンで遊んでばっかりで

</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.livedoor.com/?v=2.0" />
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/7290842.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/7282771.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/7270159.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/7267647.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/6282999.html" />
 </rdf:Seq>
</items>
</channel>

<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/7290842.html">
<title>86Duino＋SainSmartの1.8&quot;TFT</title>
<link>http://blog.livedoor.jp/hardyboy/archives/7290842.html</link>
<description>　前回調べた86DuinoのICSP端子(と呼ぶのは正確ではないと思うが)、Digital I/Oとして使うには以下の番号を指定するとよい。


　さて、ここを使ってAdafruit 1.8&quot; TFT Shieldと同じTFT、ST7735Rを使っているSainSmartのモジュールを使ってみる。Amazonで買えて1590円と安価...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2014-05-29T00:23:05+09:00</dc:date>
<dc:subject>TFT</dc:subject>
<content:encoded><![CDATA[　前回調べた86DuinoのICSP端子(と呼ぶのは正確ではないと思うが)、Digital I/Oとして使うには以下の番号を指定するとよい。<br />
<a  href="http://livedoor.blogimg.jp/hardyboy/imgs/3/3/33003896.png" title="86DuinoICSP" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/3/3/33003896-s.png" width="480" height="360" border="0" alt="86DuinoICSP" hspace="5" class="pict" align="left"></a>
<br  clear="all">
　さて、ここを使ってAdafruit 1.8" TFT Shieldと同じTFT、ST7735Rを使っているSainSmartのモジュールを使ってみる。Amazonで買えて1590円と安価。キャラクタ液晶の代わりとしてどうだろうか。<br /><br /><a  href="http://www.sainsmart.com/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html" target="_blank">SainSmart 1.8 ST7735R TFT LCD Module with MicroSD LED Backlight For Arduino Raspberry Pi<br /></a><br /><a  href="http://www.sainsmart.com/blog/ada/" target="_blank">Adafruit/SainSmart 1.8" TFT LCD display for Raspberry Pi</a><br /><br />　このモジュールはmicroSDカードとTFT部分のインターフェースが独立しているので別々のSPIで使用可能。<br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/4/b/4b58965c.jpg" title="201486duinoTFT1" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/4/b/4b58965c-s.jpg" width="480" height="360" border="0" alt="201486duinoTFT1" hspace="5" class="pict" align="left"></a>&nbsp;
<br  clear="all">
　さて、 TFTのCSをENC0_A(42)、RS/DCをENC0_B(43)、SDAをSPIDOに接続、あとはVcc/GND/SCLK/RESETを対応する場所に接続してハードウェアSPI制御にする。<br />スケッチは以下のとおり。<br /><a  target="_blank" href="https://gist.github.com/houmei/3c4cf9613f20c755b911">https://gist.github.com/houmei/3c4cf9613f20c755b911</a><br /><br />SPIクロックの指定は、86Duinoだと100MHz÷(2×設定値)となっている。実力ではn=2(25MHz)まで動作した。もし動かなければ以下の部分を書き換えて大きな数値にする。<br /><span  class="n" style="box-sizing: border-box; font-size: 12px; line-height: 16.799999237060547px; white-space: pre; color: rgb(51, 51, 51); font-family: Consolas, 'Liberation Mono', Courier, monospace;">SPI</span><span  class="p" style="box-sizing: border-box; font-size: 12px; line-height: 16.799999237060547px; white-space: pre; color: rgb(51, 51, 51); font-family: Consolas, 'Liberation Mono', Courier, monospace;">.</span><span  class="n" style="box-sizing: border-box; font-size: 12px; line-height: 16.799999237060547px; white-space: pre; color: rgb(51, 51, 51); font-family: Consolas, 'Liberation Mono', Courier, monospace;">setClockDivider</span><span  class="p" style="box-sizing: border-box; font-size: 12px; line-height: 16.799999237060547px; white-space: pre; color: rgb(51, 51, 51); font-family: Consolas, 'Liberation Mono', Courier, monospace;">(</span><span  class="mi" style="box-sizing: border-box; font-size: 12px; line-height: 16.799999237060547px; white-space: pre; color: rgb(0, 153, 153); font-family: Consolas, 'Liberation Mono', Courier, monospace;">2</span><span  class="p" style="box-sizing: border-box; font-size: 12px; line-height: 16.799999237060547px; white-space: pre; color: rgb(51, 51, 51); font-family: Consolas, 'Liberation Mono', Courier, monospace;">);<br /></span>&nbsp;<br /><a  target="_blank" title="201486duinoTFT2" href="http://livedoor.blogimg.jp/hardyboy/imgs/0/6/0634b9bd.jpg"><img  align="left" class="pict" hspace="5" alt="201486duinoTFT2" border="0" height="360" width="480" src="http://livedoor.blogimg.jp/hardyboy/imgs/0/6/0634b9bd-s.jpg"></a>&nbsp;
<br  clear="all">
　動作状態でICSP端子のVcc-GND間を測定したら4.46Vだった。<br /><br /><br />
<table  cellpadding="5" border="0"><tbody><tr><td  valign="top"><a  target="_top" href="http://www.amazon.co.jp/exec/obidos/ASIN/B008HWTVQ2/keisanki-22/"><img  alt="サインスマート（SainSmart） 1.8" border="0" src="http://ecx.images-amazon.com/images/I/51lsOhT32eL._SL160_.jpg"></a></td><td  valign="top"><span><a  target="_top" href="http://www.amazon.co.jp/exec/obidos/ASIN/B008HWTVQ2/keisanki-22/">サインスマート（SainSmart） 1.8" TFT カラー　LCD ディスプレイ モジュール SPI インタフェース　&amp;　MicroSD　付き　for Arduino UNO MEGA R3</a><br /><br />サインスマート（SainSmart）  <br />売り上げランキング : 18506<br /><br /><a  target="_top" href="http://www.amazon.co.jp/exec/obidos/ASIN/B008HWTVQ2/keisanki-22/">Amazonで詳しく見る</a></span><span> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/7282771.html">
<title>Adafruit 1.8&quot; TFT Shield用ゲタ</title>
<link>http://blog.livedoor.jp/hardyboy/archives/7282771.html</link>
<description>　Adafruitの1.8&quot; TFT Shield、SPI関係の信号線をICSP端子からではなくArduino UNOのD13、D11から取っているのでそのままではArduino LeonardoやDueで動かない。そこで端子を変換するゲタを作った。
(1)Arduinoのバニラシールドは、ICSP端子の部分が使えるものを選ぶ。秋月電...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2014-05-24T00:44:59+09:00</dc:date>
<dc:subject>TFT</dc:subject>
<content:encoded><![CDATA[　Adafruitの1.8" TFT Shield、SPI関係の信号線をICSP端子からではなくArduino UNOのD13、D11から取っているのでそのままではArduino LeonardoやDueで動かない。そこで端子を変換するゲタを作った。<br /><br /><a  target="_blank" title="2014tftshield1" href="http://livedoor.blogimg.jp/hardyboy/imgs/a/2/a298b3eb.jpg"><img  align="left" class="pict" hspace="5" alt="2014tftshield1" border="0" height="360" width="480" src="http://livedoor.blogimg.jp/hardyboy/imgs/a/2/a298b3eb-s.jpg"></a><br  clear="all">
<br /><br />(1)Arduinoのバニラシールドは、ICSP端子の部分が使えるものを選ぶ。秋月電子扱いのものは該当部分に穴がない。<br />(2)ピンヘッダのうち、D13(SCLK)、D11(MOSI)、D10(CS)はピンを曲げて下のシールドに刺さらないようにする。<br />(3)バニラシールド上のD13をICSP端子のSCLK、D11をMOSIに接続。D10はD9にハンダ付け。<br />※D10はD9とICSP端子の横にジャンパで接続が切り替えられるようにしているが、これは86DuinoのハードウェアCSに繋ごうと思ったため。<br />※手抜きでメッキ線の空中配線しています。<br /><br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/d/f/df15e2ee.jpg" title="2014tftshield2" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/d/f/df15e2ee-s.jpg" width="480" height="360" border="0" alt="2014tftshield2" hspace="5" class="pict" align="left"></a><br  clear="all">
<br /><br />　このようにArduino DueでハードウェアによるSPIで動作。Arduino DueはSPI.setClockDivider()の指定が数値で、SPI.setClockDivider(2);とすると動作クロック÷2＝42MHzとなる。しかし、Adafruit 1.8" Shieldのレベルコンバータの仕様で10MHzが上限とあった。動作クロックは観測していない。<br /><br /><a  target="_blank" href="http://21stdigitalhome.blogspot.jp/2013/02/arduino-due-hardware-spi.html">Arduino Due Hardware SPI</a>&nbsp;(The 21st Century Digital Home)<br /><br />　なお、Arduino Leonardo、86Duinoでの動作も確認できた。<br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/6/c/6ca8273f.jpg" title="2014tft86duino" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/6/c/6ca8273f-s.jpg" width="480" height="360" border="0" alt="2014tft86duino" hspace="5" class="pict" align="left"></a><br  clear="all">
<br /><div><br /><br /></div>

<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5YU9C/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/51FkvgepwZL._SL160_.jpg" border="0" alt="Arduino用バニラシールド基板ver.2(黒)"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5YU9C/keisanki-22/" target="_top">Arduino用バニラシールド基板ver.2(黒)</a><br /><br />スイッチサイエンス  <br />売り上げランキング : 204199<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5YU9C/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>

<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5VPAE/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/51F9GOqFYzL._SL160_.jpg" border="0" alt="Arduino用バニラシールド基板ver.2(赤)"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5VPAE/keisanki-22/" target="_top">Arduino用バニラシールド基板ver.2(赤)</a><br /><br />スイッチサイエンス  <br />売り上げランキング : 298693<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5VPAE/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>

<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5XP7U/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/512Xqpj9vFL._SL160_.jpg" border="0" alt="Arduino用バニラシールド基板ver.2(緑)"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5XP7U/keisanki-22/" target="_top">Arduino用バニラシールド基板ver.2(緑)</a><br /><br />スイッチサイエンス  <br />売り上げランキング : 349393<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT5XP7U/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>

<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT4YGHE/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/51m0in4jYgL._SL160_.jpg" border="0" alt="Arduino用バニラシールド基板ver.2(青)"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT4YGHE/keisanki-22/" target="_top">Arduino用バニラシールド基板ver.2(青)</a><br /><br />スイッチサイエンス  <br />売り上げランキング : 125733<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B00BT4YGHE/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>

<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B009ANYI92/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/61KuQlx8wDL._SL160_.jpg" border="0" alt="Arduino用バニラシールド基板ver.2(白)"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B009ANYI92/keisanki-22/" target="_top">Arduino用バニラシールド基板ver.2(白)</a><br /><br />スイッチサイエンス  <br />売り上げランキング : 134964<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B009ANYI92/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/7270159.html">
<title>メモ：Arduino TFTライブラリの調査 →解決 SDカードのせい</title>
<link>http://blog.livedoor.jp/hardyboy/archives/7270159.html</link>
<description>　Adafruit 1.8&quot; TFTシールドがハングしてしまう問題、解決した。microSDカードのせいだった。　いよいよ波形観測しないといかんかな〜と思ってて気付いた。μSDカードが繋がってる。μSDカードを外してテストしたらハングアップしない。試しにSanDiskのμSDカードを挿したら...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2014-05-16T02:51:57+09:00</dc:date>
<dc:subject>TFT</dc:subject>
<content:encoded><![CDATA[　Adafruit 1.8" TFTシールドがハングしてしまう問題、解決した。microSDカードのせいだった。<br /><br />　いよいよ波形観測しないといかんかな〜と思ってて気付いた。μSDカードが繋がってる。<br />μSDカードを外してテストしたらハングアップしない。試しにSanDiskのμSDカードを挿したら<strike>問題なく動いている</strike>一時間程度でハング。ノーブランドのμSDカードが悪さしていたようだ。ちょっと気づくの遅かったですね。（その後、SDカードなしで12HランOK）<br />となると、SDカードからイメージを転送して表示するものはこのトラブルが発生する可能性がある。注意。<br /><br />　あと、調査中色々検索してわかったことだが、3.3V-5VレベルシフタのCD4050、動作上限が10MHzなのであまり高いSPIクロックだと動かないということだった(Arduino UNOでは問題ない)。3.3V系でよければバイパスしてしまうという方法がある。<br /><br /><a  target="_blank" title="2014tft1" href="http://livedoor.blogimg.jp/hardyboy/imgs/f/6/f66a827f.jpg"><img  align="left" class="pict" hspace="5" alt="2014tft1" border="0" height="360" width="480" src="http://livedoor.blogimg.jp/hardyboy/imgs/f/6/f66a827f-s.jpg"></a><br  clear="all">
<br /><br /><br /><br /><br />　以下は記録として残しておく。<br />


<br />ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー<br /><br />　Arduino IDE 1.0.5から提供されたTFTライブラリだが、ランダムに線を引くのを繰り返していると画面がおかしくなり、真っ白になる。<br /><br /><a  target="_blank" title="2014softTFThang" href="http://livedoor.blogimg.jp/hardyboy/imgs/3/d/3dd0562a.jpg"><img  align="left" class="pict" hspace="5" alt="2014softTFThang" border="0" height="360" width="480" src="http://livedoor.blogimg.jp/hardyboy/imgs/3/d/3dd0562a-s.jpg"></a><br /><br  clear="all">

<br />
&nbsp;<br /><br />Arduino IDE 1.5.6-r2 + Arduino Due / &nbsp;Arduino Leonardo (TFT.h/TFT.cppにソフトSPIのパッチ)→発生<br />Arduino IDE 1.0.5 + Arduino UNO (ハードSPI)→発生<br /><br />　これから、IDEやマイコンボードの違いは関係なく、TFTライブラリ〜TFTモジュールの問題と考えられる。<br /><br />　まだ原因は分からないが再現性を高めてみた。Arduino IDE 1.0.5+Arduino UNOで調査。<br />　約1分で上記写真のようになるスケッチ。<br /><a  href="https://gist.github.com/houmei/5dc5fde18425b24e53d8" target="_blank">https://gist.github.com/houmei/5dc5fde18425b24e53d8</a><br /><br />　TFT.hとTFT.cppはutilityフォルダ以下にあるAdafruit_ST7735とAdafruit_GFXを呼び出している。以前はこれらのライブラリを直接使っていた。Adafruit_ST7735が直接TFT-LCDの制御を行っている。<br />　SPIのタイミングはどうか、とSPI.setClockDivider(SPI_CLOCK_DIV4);などと変えてみた。結果は発生する時間は伸びたが描画のコマンドを実施した回数は同じと思われた。また、線を引くコマンドの後にdelayを入れても時間が伸びるだけで現象は発生する。<br />　<br />　TFTのline()はAdafruit_GFX経由で水平ならAdafruit_ST7735のdrawFastVline()を、垂直ならdrawFastHline()を、斜めならばdrawPixel()で点を描画している。そこでdrawFastVline()を呼び出してさらに低レベルで表示を行うスケッチを書いた。<br /><a  href="https://gist.github.com/houmei/e3ed1cb2f2a630b6089e" target="_blank">https://gist.github.com/houmei/e3ed1cb2f2a630b6089e</a><br /><br />　drawFastVline()を8個並べたループを10000回。二周目の途中で表示が真っ白になる。プログラムの動作自体は進行しているのでTFTモジュールがコマンドを受け付けない状態になっているように思える。<br />なお、シリアルコンソールを開くとリセットがかかるが、これはUNOの仕様？<br />　drawFastVline()の回数をこれより減らすと発生する時間が伸びる。ループが5000回でも発生する時間が伸びる。発生時間は再現性があるので特定のタイミングによってTFTが反応しなくなるように思える。<br /><br />　今日はここまで。<br /><br /><a  href="http://arduino.cc/en/Reference/TFTLibrary" target="_blank">TFT LCD Library</a>(arduino.cc)<br /><a  href="http://www.adafruit.com/datasheets/ST7735R_V0.2.pdf" target="_blank">ST7735R datasheet</a>(PDF)<br /><a  href="https://github.com/adafruit/Adafruit-ST7735-Library" target="_blank">https://github.com/adafruit/Adafruit-ST7735-Library<br /></a><a  href="https://github.com/adafruit/Adafruit-GFX-Library" target="_blank">https://github.com/adafruit/Adafruit-GFX-Library</a><br /><br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/7267647.html">
<title>Adafruit 1.8&quot; TFT ShieldをLeonardoで使う(SoftSPI)</title>
<link>http://blog.livedoor.jp/hardyboy/archives/7267647.html</link>
<description>※サンプルスケッチをしばらく実行しているとハングします※→解決 microSDカードのせい http://blog.livedoor.jp/hardyboy/archives/7270159.html　TFTシールドの続き。Arduino UNOではそのまま動くがLeonardoでは動かない。シールドの端子がハードウェアSPIに決め打ちにな...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2014-05-15T00:29:48+09:00</dc:date>
<dc:subject>TFT</dc:subject>
<content:encoded><![CDATA[※サンプルスケッチをしばらく実行しているとハングします※<br />→解決 microSDカードのせい&nbsp;<a  target="_blank" href="http://blog.livedoor.jp/hardyboy/archives/7270159.html">http://blog.livedoor.jp/hardyboy/archives/7270159.html</a><br /><br />　TFTシールドの続き。Arduino UNOではそのまま動くがLeonardoでは動かない。シールドの端子がハードウェアSPIに決め打ちになっているせい。これをソフトウェアSPIでやった。<br /><br /><a  target="_blank" href="http://www.adafruit.com/products/802">Adafruit 1.8" 18-bit Color TFT Shield w/microSD and Joystick</a><br /><br /><span  style="font-size: 14px; line-height: 24.479999542236328px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">シールドでの端子は以下の様になっている。</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="word-break: break-all; font-size: 13px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">#define sclk 13</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="word-break: break-all; font-size: 13px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">#define mosi 11</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="word-break: break-all; font-size: 13px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">#define cs&nbsp;&nbsp; 10</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="word-break: break-all; font-size: 13px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">#define dc&nbsp;&nbsp; 8</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="word-break: break-all; font-size: 13px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">#define rst&nbsp; 0</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="word-break: break-all; font-size: 13px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">#define sd_cs 4</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><span  style="font-size: 14px; line-height: 24.479999542236328px; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;">ジョイスティックはアナログポートA3。</span><br  style="word-break: break-all; color: rgb(51, 51, 51); font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif; font-size: 14px; line-height: 24.479999542236328px;"><br /><br />さて、以下のように書くとエラーになってしまう。TFT.hとTFT.cppはAdafruit_ST7735.hを呼び出しているが、ソフトウェアSPIを呼び出す5引数の部分の記述がないから。<br /><blockquote>TFT screen = TFT(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);</blockquote>以下に差し替え用のTFT.hとTFT.cpp、画面に線を引くサンプルを作った。<br /><br /><a  target="_blank" href="https://gist.github.com/houmei/1ec877f60f20c9d45a6e">https://gist.github.com/houmei/1ec877f60f20c9d45a6e</a><br /><br />　ソフトによるSPIは遅そうなので描画時間を測定した。線１本を引く時間はこのような差があった。<br /><br />&nbsp;Arduino UNO / ハードウェアSPI 8.65ms<br />Arduino Leonardo / ソフトウェアSPI 39.5ms&nbsp;<br /><br /><a  target="_blank" title="2014SPIline" href="http://livedoor.blogimg.jp/hardyboy/imgs/0/3/0348101a.jpg"><img  align="left" class="pict" hspace="5" alt="2014SPIline" border="0" height="360" width="480" src="http://livedoor.blogimg.jp/hardyboy/imgs/0/3/0348101a-s.jpg"></a>&nbsp;
<br  clear="all">

<br />
追記：サンプルのスケッチ、Leonardo用はSerialコンソールを開いてないと先に進みません<br />ー以下解決ー<br />追記２：Arduino IDE1.5.6-r2にてMEGA2560互換機(Sinesmart)、Arduino DueはソフトSPIにて動作。<br />ただし両方共しばらく経つとハングする。（Leonardoも）<br /><br />　ハングするとこうなる。Arduino Leonardoで4分46秒後に発生。<br />　Arduino UNO / ハードウェアによるSPIでも約1分で発生し、再起動するような挙動。TFTライブラリ？<br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/3/d/3dd0562a.jpg" title="2014softTFThang" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/3/d/3dd0562a-s.jpg" width="480" height="360" border="0" alt="2014softTFThang" hspace="5" class="pict" align="left"></a><br />&nbsp;]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/6282999.html">
<title>Adafruit 1.8インチTFTシールド</title>
<link>http://blog.livedoor.jp/hardyboy/archives/6282999.html</link>
<description>スイッチサイエンスで扱っているAdafruit 1.8インチTFTシールドをとりあえず使ってみた。Adafruit 1.8インチTFTシールド(スイッチサイエンス)Adafruit 1.8&quot; 18-bit Color TFT Shield w/microSD and Joystick(Adafruit)　ST7735R 128×160ドット 18bit色のディスプレイ、おお...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2013-02-05T23:42:37+09:00</dc:date>
<dc:subject>TFT</dc:subject>
<content:encoded><![CDATA[スイッチサイエンスで扱っているAdafruit 1.8インチTFTシールドをとりあえず使ってみた。<br /><a  href="http://www.switch-science.com/products/detail.php?product_id=1137" target="_blank"><br />Adafruit 1.8インチTFTシールド</a>(スイッチサイエンス)<br /><br /><a  href="http://www.adafruit.com/products/802" target="_blank">Adafruit 1.8" 18-bit Color TFT Shield w/microSD and Joystick</a>(Adafruit)<br /><br />　ST7735R 128×160ドット 18bit色のディスプレイ、おおよそ33mm×40mmの大きさで、ウォークマンW用の液晶保護シートがぴったり貼れる。microSDカードスロット付き。上下左右と押しこむ操作のスティック付き。あと、バックライトを制御できそうなことが書いてあった(何もしないとON)。<br />　使用ピンはSPI接続でpin13,11,10,8。microSDカードを使う場合は加えて12と4。スティックはアナログ出力でA4。このシールドは3.3V/5V対応なのでGR-SAKURAに使えるかもしれん。<br /><br /><div>#define sclk &nbsp;13 &nbsp;</div><div>#define mosi &nbsp;11</div><div>#define sd_cs &nbsp;4</div><div>#define lcd_cs 10</div><div>#define dc &nbsp; &nbsp; 8</div><div>#define rst &nbsp; &nbsp;0 &nbsp;</div><br /><br />　ライブラリはAdafruit-ST7735-LibraryとAdafruit-GFX-Libraryが必要。Adafruit-GFX-Libraryは同社のOLEDでも使われている。<br /><br /><a  href="https://github.com/adafruit/Adafruit-ST7735-Library" target="_blank">https://github.com/adafruit/Adafruit-ST7735-Library</a><br /><br /><a  href="https://github.com/adafruit/Adafruit-GFX-Library" target="_blank">https://github.com/adafruit/Adafruit-GFX-Library</a><br /><br />　これらをgithubのzipでダウンロードするボタンを押して、Arduino IDEのライブラリに展開すればいいんだけどそのままのフォルダ名だと半角英数字以外使えんといったエラーメッセージが出るので、-masterは削除しハイフン(-)はアンダースコア(_)に変えた。<br /><br />　以下、ArduinoIDE1.0.3、MacOSX、Arduino UNO R3で確認。<br /><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/1/7/17776d8d.jpg" width="400" height="300" border="0" alt="2013tft1" hspace="5" class="pict"><br /><br />　サンプルでついてくるshieldtestを開いて実行。スティックを動かすと画面に向きを表示。押しこむとmicroSDカードにあるparrot.bmpを開いて表示するらしいのだが、手元にないので適当に用意する。サンプルのparott.bmpを適当にリネームし、用意した128x160サイズのBMP画像のファイル名に合わせる(実際には128x171サイズ)。この時ファイル名は8+3文字の制限があるみたい。シリアルには以下の様に出力され、画像が液晶画面に表示される。<br /><br /><div>Button read analog = 3.34</div><div>Button read analog = 3.34</div><div>Button read analog = 0.59</div><div>Button read analog = 0.59</div><div>Button read analog = 3.34</div><div>Button read analog = 3.34</div><div>Button read analog = 3.34</div><div>Button read analog = 1.05</div><div>Initializing SD card...</div><div>Loading image 'sakura.bmp'</div><div>File size: 65718</div><div>Image Offset: 54</div><div>Header size: 40</div><div>Bit Depth: 24</div><div>Image size: 128x171</div><div>Loaded in 1111 ms</div><br /><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/6/3/63e37227.jpg" width="400" height="300" border="0" alt="2013tft2" hspace="5" class="pict"><br /><br /><br />こんな感じです。<br />]]>
</content:encoded>
</item>

</rdf:RDF>
