<?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>まごころせいじつ堂 - Arduino</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/10039689.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/9620242.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/9535745.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/9287209.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/9050505.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8922747.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8810421.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8755419.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8518954.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8490806.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8490164.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8367232.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8360845.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8322943.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/hardyboy/archives/8227534.html" />
 </rdf:Seq>
</items>
</channel>

<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/10039689.html">
<title>PASOPIA ROMPAC1リーダをGG for Arduinoを使って書く</title>
<link>http://blog.livedoor.jp/hardyboy/archives/10039689.html</link>
<description>　東芝のPASOPIAはカセット形式で言語カートリッジが提供されている。これを読み取るためにArduino MEGA 2650用のシールドを作ったのだが、読み取ったデータをシリアルコンソール経由でコマンドを入力しダンプしたりするなどの操作をする部分が面倒で放置していた。　あれか...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2022-05-27T20:35:00+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[<div>　東芝のPASOPIAはカセット形式で言語カートリッジが提供されている。これを読み取るためにArduino MEGA 2650用のシールドを作ったのだが、読み取ったデータをシリアルコンソール経由でコマンドを入力しダンプしたりするなどの操作をする部分が面倒で放置していた。</div><div>　あれから数ヶ月。最近、<a  title="" target="_blank" href="https://twitter.com/mkogax">@mkogax</a>さんの<a  title="" target="_blank" href="https://www.arduino.cc/reference/en/libraries/gg/">GG for Arduino</a>ライブラリを知りこれは便利そうだと早速使ってみた。<br /></div><br /><div>ハード側の説明：<br /></div><br /><div>ROMPAC1のピン配置は→ 　<a  title="" target="_blank" href="http://blog.livedoor.jp/hardyboy/archives/9605723.html">PASOPIA/PASOPIA7のROMPAC1</a></div><br /><div>PASOPIARW基板　回路図</div><div><a  target="_blank" title="PASOPIARW-sch" href="https://livedoor.blogimg.jp/hardyboy/imgs/7/5/758b2f1d.png"><img  class="pict" alt="PASOPIARW-sch" src="https://livedoor.blogimg.jp/hardyboy/imgs/7/5/758b2f1d-s.png" width="480" hspace="5" height="534" border="0"></a><br /></div><br /><div>レイアウト</div><div><a  target="_blank" title="PASOPIARW-pcb" href="https://livedoor.blogimg.jp/hardyboy/imgs/f/a/fa06724d.png"><img  class="pict" alt="PASOPIARW-pcb" src="https://livedoor.blogimg.jp/hardyboy/imgs/f/a/fa06724d-s.png" width="480" hspace="5" height="274" border="0"></a><br /></div><br /><div>　回路は大したことなくてジャンプワイヤーでもできるレベル。でもジャンプワイヤーでやったらうまくいかなかったので基板つくったの。<br /></div><div><a  target="_blank" title="2022-05-27 19.38.58" href="https://livedoor.blogimg.jp/hardyboy/imgs/c/d/cd3fc8d9.jpg"><img  class="pict" alt="2022-05-27 19.38.58" src="https://livedoor.blogimg.jp/hardyboy/imgs/c/d/cd3fc8d9-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /><br /></div><div>　GG for Arduinoを使ったPASOPIAPAC1R.inoのスケッチはこちら。</div><div><a  title="" target="_blank" href="https://gist.github.com/houmei/c69b02b7ac12992709111d89f84ca937">https://gist.github.com/houmei/c69b02b7ac12992709111d89f84ca937</a><br /></div><br /><div>使い方。公式ライブラリに登録してあるので、Arduino IDEのライブラリマネージャから トピック:コミュニケーションを指定して"GG"で検索。インストールする。<br /></div><div><a  target="_blank" title="GG" href="https://livedoor.blogimg.jp/hardyboy/imgs/c/b/cbc0f91e.png"><img  class="pict" alt="GG" src="https://livedoor.blogimg.jp/hardyboy/imgs/c/b/cbc0f91e-s.png" width="480" hspace="5" height="270" border="0"></a><br /><br /></div><div>以下はPASOPIAPAC1R.inoから引用しつつ説明。</div><br /><i>gg_con_baud = <span  class="pl-c1">9600</span>;</i><div><i>
        </i><table  data-tagsearch-path="PASOPIAPAC1R.ino" data-tagsearch-lang="C++" data-paste-markdown-skip="" data-tab-size="8" class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file"><tbody><tr><td  class="blob-code blob-code-inner js-file-line" id="file-pasopiapac1r-ino-LC49">  <i><span  class="pl-c1">gg_start</span>(<span  class="pl-s"><span  class="pl-pds">"</span><span  class="pl-cce">\n</span>*** PASOPIA ROMPAC1 READER ***<span  class="pl-cce">\n</span><span  class="pl-pds">"</span></span>);    <span  class="pl-c"><span  class="pl-c">//</span> Start processing GG for Arduino</span></i></td>
        </tr>
        <tr>
          </tr></tbody></table><i> </i><table  data-tagsearch-path="PASOPIAPAC1R.ino" data-tagsearch-lang="C++" data-paste-markdown-skip="" data-tab-size="8" class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file"><tbody><tr><td  class="blob-code blob-code-inner js-file-line" id="file-pasopiapac1r-ino-LC48"><br /></td>
        </tr><tr>
          </tr></tbody></table></div><div>gg_start("タイトル");で使用開始。デフォルトでの通信速度は115200bpsだが、gg_con_baud変数を事前に変えておくと速度を変更できる。</div><br /><div><i><span  class="pl-c1">gg_con_CmdInit</span>();</i></div><br /><div>デフォルトで内部のメモリダンプ用のコマンドが組み込まれているが、今回使わないのでまっさらにする。</div><br /><div><i><span  class="pl-c1">GG_CON_CMDADD</span>(PAC1_help, <span  class="pl-s"><span  class="pl-pds">"</span>h<span  class="pl-pds">"</span></span>, <span  class="pl-s"><span  class="pl-pds">"</span><span  class="pl-pds">"</span></span>, <span  class="pl-s"><span  class="pl-pds">"</span>PASOPIA-PAC1 help<span  class="pl-pds">"</span></span> );</i></div><div><div><i><span  class="pl-c1">GG_CON_CMDADD</span>(PAC1_help, <span  class="pl-s"><span  class="pl-pds">"</span>?<span  class="pl-pds">"</span></span>, <span  class="pl-s"><span  class="pl-pds">"</span><span  class="pl-pds">"</span></span>, <span  class="pl-s"><span  class="pl-pds">"</span>PASOPIA-PAC1 help<span  class="pl-pds">"</span></span> );</i></div><br /></div><div>組み込んであったhelpコマンドも消えるので自前で設定。GG_CON_CMDADD()でコンソールから指示できるコマンドを定義できる。</div><div>第１引数：コマンドで呼び出される関数</div><div>第２引数：コマンド名</div><div>第３引数：コマンドの引数の説明</div><div>第４引数：コマンドの使用方法説明</div><br />void PAC1_help(int argc, char **argv) {
<div><pre>  gg_con_CmdHelpAll();
</pre><pre>}<br /></pre></div><br /><div><div>ここで呼び出される関数は引数をargc,argvで渡すことができる。unixコマンドを自分で書いて追加するような感じ。</div><br /></div><div><pre>  gg_printf("%04X\n",PAC1_addr);</pre></div><br /><div>　とても便利なのが書式指定が使えるgg_printf()。このライブラリを知る前は自前でこんな感じにしてた。<a  title="" target="_blank" href="http://blog.livedoor.jp/hardyboy/archives/9620242.html">http://blog.livedoor.jp/hardyboy/archives/9620242.html</a></div><div><pre>void sprinthex(unsigned long int x, int dg) {
  if (dg&gt;=8) if (x&lt;0x10000000) Serial.print("0");
  if (dg&gt;=7) if (x&lt;0x1000000) Serial.print("0");
  if (dg&gt;=6) if (x&lt;0x100000) Serial.print("0");
  if (dg&gt;=5) if (x&lt;0x10000) Serial.print("0");
  if (dg&gt;=4) if (x&lt;0x1000) Serial.print("0");
  if (dg&gt;=3) if (x&lt;0x100) Serial.print("0");
  if (dg&gt;=2) if (x&lt;0x10) Serial.print("0");
  Serial.print(x,HEX);
}<br /></pre></div><div>圧倒的に楽。</div><br /><div><pre>    if (isDigit(argv[1][0])) st = gg_asc2int(argv[1]);<br /></pre></div><div>gg_asc2int()で引数を数値に変換できる。このとき、"0x1000+256"のような式も評価してくれる。</div><br /><div><pre>    if (gg_GetC()==PAC1_BREAK) return;<br /><br />  if (hexflag) while(gg_GetC()&lt;0);</pre></div><br /><div>　コマンド内でキー入力を見て、長いダンプリスト表示を中断させることもできる。また、PASOPIAPAC1RではIntel HEX形式でのダンプに対応しているがteratermのログに保存するときにプロンプトまで記録したくないので、ダンプ終了後のキー入力待ちも実現している。<br /></div><br /><div>　その他、GGにはミニFIFOバッファや日付変換、Arduinoの任意の端子を使ってトリガを出力する機能がある。ロガー用途などにも便利に使えそう。<br /></div><br /><div>　ということでGG for Arduinoはシリアルコンソールから対話的に操作する用途に有用です。<br /></div><br /><br /><br /><div><div  class="amazon Default"><div  class="pictBox" align="left"><a  target="_blank" href="https://www.amazon.co.jp/dp/B07TMLTF26?psc=1&amp;tag=keisanki-22&amp;th=1&amp;linkCode=osi"><img  class="pict" style="margin-right:10px" alt="gg* (ジジ) tsumiki 積み木セット 木製 積み木 音 おもちゃ 知育玩具 ( 1歳 / 2歳 / 3歳 ) 男の子 女の子 誕生日 プレゼント" src="https://m.media-amazon.com/images/I/41NfLEHmiIS._SL160_.jpg" hspace="5" border="0" align="left"></a></div><div  class="itemTitle"><a  target="_blank" href="https://www.amazon.co.jp/dp/B07TMLTF26?psc=1&amp;tag=keisanki-22&amp;th=1&amp;linkCode=osi">gg* (ジジ) tsumiki 積み木セット 木製 積み木 音 おもちゃ 知育玩具 ( 1歳 / 2歳 / 3歳 ) 男の子 女の子 誕生日 プレゼント</a></div><div  class="itemSubTxt">kukkia</div></div><br  style="clear:left" clear="left"><br /></div>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/9620242.html">
<title>Arduino MEGA直結ROMリーダーのトラブル</title>
<link>http://blog.livedoor.jp/hardyboy/archives/9620242.html</link>
<description>※追記　27512(64Kバイト)まで対応のソフトができました → readROM27512.ino Intel HEX対応　ROMライタTL866CSでは読めないマスクROM(TMM2364P)があったので、Arduino MEGA用のアダプタを作った。秋月電子の片面D基板、ピンヘッダははみ出るので少しけずっている。　Vcc-GND...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2020-06-07T04:13:47+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[<div>※追記　27512(64Kバイト)まで対応のソフトができました → <a  target="_blank" href="https://gist.github.com/houmei/7ce0aef4632cebb38876423c84b843cb">readROM27512.ino</a> Intel HEX対応<br /></div><br /><br /><div>　ROMライタTL866CSでは読めないマスクROM(TMM2364P)があったので、Arduino MEGA用のアダプタを作った。秋月電子の片面D基板、ピンヘッダははみ出るので少しけずっている。<br /></div><div><a  href="https://livedoor.blogimg.jp/hardyboy/imgs/5/e/5e9f3a28.jpg" title="IMGP3589" target="_blank"><img  src="https://livedoor.blogimg.jp/hardyboy/imgs/5/e/5e9f3a28-s.jpg" alt="IMGP3589" class="pict" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div>　Vcc-GND間に3.3μFの電解コンデンサと0.1μFのセラミックコンデンサ。<br /></div><div><a  href="https://livedoor.blogimg.jp/hardyboy/imgs/b/9/b9df62e2.jpg" title="IMGP3590" target="_blank"><img  src="https://livedoor.blogimg.jp/hardyboy/imgs/b/9/b9df62e2-s.jpg" alt="IMGP3590" class="pict" width="480" hspace="5" height="360" border="0"></a><br /><br /></div><br /><div>　ROMの端子とArduino MEGAのピン番号の対応は以下のとおり。27512の場合はROM(1)がA15、ROM(27)がA14、ROM(26)がA13。</div><div>あとpin52にタクトスイッチを繋いでGNDに落としている。これはPROMダンプ開始用。</div><div><a  href="https://www.cs.ou.edu/~fagg/classes/general/atmel/ArduinoMega.pdf" target="_blank">Arduino MEGA pinout diagram</a>(pdf)<br /></div><div><img  src="https://livedoor.blogimg.jp/hardyboy/imgs/1/e/1ee10c6a.png" alt="readROM" class="pict" width="404" hspace="5" height="639" border="0"><br /><br /></div><br /><div>　さて、こんな単純な配線なのにArduinoスケッチを書いて読み込んでみるとデータが化ける。なぜだ。<br /></div><div><a  href="https://livedoor.blogimg.jp/hardyboy/imgs/1/7/17e71bc9.jpg" title="IMGP3588" target="_blank"><img  src="https://livedoor.blogimg.jp/hardyboy/imgs/1/7/17e71bc9-s.jpg" alt="IMGP3588" class="pict" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div>データの読み込みが不安定な時点で以前の経験を思い出すべきだった。</div><div><a  href="http://blog.livedoor.jp/hardyboy/archives/9446044.html" target="_blank">PROMで*PGMをオープンにしていると読めないことがある</a></div><div>ここでやるべきだったのはアドレスと制御線の見直し、ソフトでの初期化だった。<br /></div><br /><br /><div>　解決までの顛末は以下のスレッドにある。<br /></div><div><blockquote  class="twitter-tweet"><a  href="http://twitter.com/houmei" target="_blank"><span  class="avatar"><img  src="http://pbs.twimg.com/profile_images/1112623837617635328/LjXlJFeB_normal.jpg"></span><span  class="fn">ほうめい　マイコンで遊んでばっかりで</span><span  class="nickname">@houmei</span></a><p>とても単純なつくりなんだがTL866CSで読んだ値と微妙に異なるのはなんでだ <a  href="https://t.co/xhrrgp22OA" target="_blank">https://t.co/xhrrgp22OA</a></p><a  href="http://twitter.com/houmei/status/1268885793805750273" target="_blank">2020/06/05 21:42:02</a></blockquote><br />
　さて、解決までには間違った道をどんどん進んでいっているのだが以下に整理しておく。</div><br /><div>・ハードウェアの絞り込み</div><div>PROMの2764/マスクROMのTMM2364P/W27C512で読み込み時のデータ化けが発生する。W27C512に特定のパターンを書き込んだものを調査対象とする。</div><br /><div>・Arduino MEGA 2560のバリエーションによるものかどうか</div><div>互換品を3つ持っていたのでそれぞれで確認。どれも同様に発生するのでArduino MEGA個別についてまわる問題ではない。1枚を選んで調査対象とする。</div><br /><div>・類似例の調査</div><div>どこかのだれかが同じようなことをしていないか検索。あった。</div><div><a  href="https://danceswithferrets.org/geekblog/?p=315" target="_blank">Reading a Parallel ROM with an Arduino</a>(The Oddbloke geek Blog)<br /></div><div>これによるとほぼ同等のハードウェア構成で成功している。ブレッドボード上にPROMを載せてジャンパ線でArduino MEGAに繋いでいるので電気的にはより条件が悪いはずだが動いている。</div><br /><div>・土台の確認</div><div>上記、The Oddbloke geek Blogのコードをこちらのボード向けにピンアサインを変更し、ダンプを5回実行して結果を比較。5回とも問題なし。</div><br /><div>ここまででソフトウェアの違いに問題点が隠されているとわかった。前後してデータ化けの発生率が変わるようなコードの変更（主に時間的なタイミング）をいじっては観測を繰り返している。挿入するディレイによって化け方の頻度が変わるなど、ハードウェアのピンが浮いているような指摘を受けている。</div><br /><div>・知恵を借りる</div><div>デバッグの状況は適時tweetしていた。こまめに書くことで気付くこともあるし、識者からのツッコミもある。このあたりで泥沼にハマっていたら@mkogaxさんよりコードの初期化漏れの指摘が。</div><div>PROMのA15についてArduino MEGAからの出力設定はされていても値が設定されていなかった。この状態で確認したらA15はオープンだった。修正し、ダンプを10回とって比較したら全部OK。</div><br /><div>以下は23行目に初期化の抜けがあるコード。<br /></div><div><a  href="https://gist.github.com/houmei/526371f9e76a9313210b80b3060fd2eb" target="_blank">https://gist.github.com/houmei/526371f9e76a9313210b80b3060fd2eb</a></div><br /><br /><div>　ということで思考の過程を整理してみました。動物が沼にはまってもがいている様子がわかると思います。突っ込んでくれた皆さんどうもありがとうございました。</div><br /><div>　ちゃんとしたPROM読みのコードは次回。</div><br /><br /><br /><div><div  class="amazon Default"><div  class="pictBox" align="left"><a  href="https://www.amazon.co.jp/dp/B01COV7KRS?psc=1&amp;tag=lvdrfree-22&amp;th=1&amp;linkCode=osi" target="_blank"><img  src="https://m.media-amazon.com/images/I/51FWaTNgEwL._SL160_.jpg" alt="KEYESTUDIO Mega 2560 R3 ATMEGA2560 マイコン 開発ボード + USBケーブル キット for Arduino アルディーノ アルドゥイーノ アルデュイーノ メガ 互換" style="margin-right:10px" class="pict" hspace="5" border="0" align="left"></a></div><div  class="itemTitle"><a  href="https://www.amazon.co.jp/dp/B01COV7KRS?psc=1&amp;tag=lvdrfree-22&amp;th=1&amp;linkCode=osi" target="_blank">KEYESTUDIO Mega 2560 R3 ATMEGA2560 マイコン 開発ボード + USBケーブル キット for Arduino アルディーノ アルドゥイーノ アルデュイーノ メガ 互換</a></div><div  class="itemSubTxt">keyes</div></div><br  style="clear:left" clear="left"><br /></div><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/9535745.html">
<title>Arduino MEGA用ブレッドボードシールド</title>
<link>http://blog.livedoor.jp/hardyboy/archives/9535745.html</link>
<description>　はんだ付け不要のかんたんな工作です。　ブレッドボードの片側の電源ラインを外すとArduino MEGAサイズにぴったりだったのでピンソケットを側面に接着してブレッドボードシールドを作りました。　ブレッドボードは出っ張り部分をカッターナイフで削り、ピンソケットをセメ...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2019-12-16T22:34:11+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[<div>　はんだ付け不要のかんたんな工作です。</div><br /><div>　ブレッドボードの片側の電源ラインを外すとArduino MEGAサイズにぴったりだったのでピンソケットを側面に接着してブレッドボードシールドを作りました。</div><br /><div>　ブレッドボードは出っ張り部分をカッターナイフで削り、ピンソケットをセメダインスーパーXなどで接着。ピンソケットは10Px1、8Px5。それだけ。</div><br /><div><a  target="_blank" title="2019BB1" href="https://livedoor.blogimg.jp/hardyboy/imgs/f/1/f1ce68b7.jpg"><img  class="pict" alt="2019BB1" src="https://livedoor.blogimg.jp/hardyboy/imgs/f/1/f1ce68b7-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div><a  target="_blank" title="2019BB2" href="https://livedoor.blogimg.jp/hardyboy/imgs/2/7/27daf183.jpg"><img  class="pict" alt="2019BB2" src="https://livedoor.blogimg.jp/hardyboy/imgs/2/7/27daf183-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /><br /></div><div><a  target="_blank" title="2019BB3" href="https://livedoor.blogimg.jp/hardyboy/imgs/4/b/4b5e908d.jpg"><img  class="pict" alt="2019BB3" src="https://livedoor.blogimg.jp/hardyboy/imgs/4/b/4b5e908d-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div><div  class="amazon Default"><div  class="pictBox" align="left"><a  target="_blank" href="https://www.amazon.co.jp/KEYESTUDIO-NA-3%E5%80%8B400%E7%A9%B4%E3%82%BF%E3%82%A4%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E7%84%A1%E3%81%AF%E3%82%93%E3%81%A0%E3%83%96%E3%83%AC%E3%83%83%E3%83%89%E3%83%9C%E3%83%BC%E3%83%89%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%9C%E3%83%BC%E3%83%89-for-Arduino/dp/B07DVKFP9J?SubscriptionId=AKIAIM37F4M6SCT5W23Q&amp;tag=keisanki-22&amp;linkCode=xm2&amp;camp=2025&amp;creative=165953&amp;creativeASIN=B07DVKFP9J"><img  class="pict" style="margin-right:10px" alt="KEYESTUDIO 3個400穴タイポイント無はんだブレッドボードプロトタイプボード for Arduino" src="https://images-fe.ssl-images-amazon.com/images/I/410Aj0-29tL._SL160_.jpg" hspace="5" border="0" align="left"></a></div><div  class="itemTitle"><a  target="_blank" href="https://www.amazon.co.jp/KEYESTUDIO-NA-3%E5%80%8B400%E7%A9%B4%E3%82%BF%E3%82%A4%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E7%84%A1%E3%81%AF%E3%82%93%E3%81%A0%E3%83%96%E3%83%AC%E3%83%83%E3%83%89%E3%83%9C%E3%83%BC%E3%83%89%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%9C%E3%83%BC%E3%83%89-for-Arduino/dp/B07DVKFP9J?SubscriptionId=AKIAIM37F4M6SCT5W23Q&amp;amp;tag=keisanki-22&amp;amp;linkCode=xm2&amp;amp;camp=2025&amp;amp;creative=165953&amp;amp;creativeASIN=B07DVKFP9J">KEYESTUDIO 3個400穴タイポイント無はんだブレッドボードプロトタイプボード for Arduino [エレクトロニクス]</a></div><div  class="itemSubTxt">keyes</div></div><br  style="clear:left" clear="left"></div><br /><div><div  class="amazon Default"><div  class="pictBox" align="left"><a  href="https://www.amazon.co.jp/%E3%82%BB%E3%83%A1%E3%83%80%E3%82%A4%E3%83%B3-%E8%B6%85%E5%A4%9A%E7%94%A8%E9%80%94%E6%8E%A5%E7%9D%80%E5%89%A4-%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BCX%E3%82%AF%E3%83%AA%E3%82%A2-AX-043-P20ml/dp/B00777S7FO?SubscriptionId=AKIAIM37F4M6SCT5W23Q&amp;tag=keisanki-22&amp;linkCode=xm2&amp;camp=2025&amp;creative=165953&amp;creativeASIN=B00777S7FO" target="_blank"><img  src="https://images-fe.ssl-images-amazon.com/images/I/51LQW%2BmuZWL._SL160_.jpg" alt="セメダイン 超多用途接着剤 スーパーXクリア スリム AX-043 P20ml" style="margin-right:10px" class="pict" hspace="5" border="0" align="left"></a></div><div  class="itemTitle"><a  href="https://www.amazon.co.jp/%E3%82%BB%E3%83%A1%E3%83%80%E3%82%A4%E3%83%B3-%E8%B6%85%E5%A4%9A%E7%94%A8%E9%80%94%E6%8E%A5%E7%9D%80%E5%89%A4-%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BCX%E3%82%AF%E3%83%AA%E3%82%A2-AX-043-P20ml/dp/B00777S7FO?SubscriptionId=AKIAIM37F4M6SCT5W23Q&amp;amp;tag=keisanki-22&amp;amp;linkCode=xm2&amp;amp;camp=2025&amp;amp;creative=165953&amp;amp;creativeASIN=B00777S7FO" target="_blank">セメダイン 超多用途接着剤 スーパーXクリア スリム AX-043 P20ml [おもちゃ＆ホビー]</a></div><div  class="itemSubTxt">セメダイン(Cemedine)</div></div><br  style="clear:left" clear="left"><br /></div><br /><br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/9287209.html">
<title>秋月のLCD用ケースにぴったりはまる7セグLED</title>
<link>http://blog.livedoor.jp/hardyboy/archives/9287209.html</link>
<description>　秋月電子で扱っているプラスチックケースSW-125S(LCD)にぴったりはまる4桁の7セグメントLEDがある。　いやそれだけなんですがこの7セグLEDについては過去調べたことがあって、ひとまわり小さい7セグLEDとピン配置が同じなのです。　で、このLEDを使用している@morecat_lab...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2018-12-17T02:56:05+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[<div>　秋月電子で扱っている<a  target="_blank" href="http://akizukidenshi.com/catalog/g/gP-09834/">プラスチックケースSW-125S(LCD)</a>にぴったりはまる<a  target="_blank" href="https://www.sparkfun.com/products/11405">4桁の7セグメントLED</a>がある。</div><br /><div>　いやそれだけなんですがこの7セグLEDについては過去調べたことがあって、ひとまわり小さい7セグLEDとピン配置が同じなのです。</div><br /><div><a  target="_blank" title="7segment" href="http://livedoor.blogimg.jp/hardyboy/imgs/6/e/6e3cc92a.png"><img  class="pict" alt="7segment" src="http://livedoor.blogimg.jp/hardyboy/imgs/6/e/6e3cc92a-s.png" width="480" hspace="5" height="360" border="0"></a><br /></div><div>　で、このLEDを使用している@morecat_labさんの7segduinoというのがあって、ほぼそのままで差し替えることが可能です。</div><br /><div><a  target="_blank" href="https://www.switch-science.com/catalog/745/">7segduino</a>(スイッチサイエンス)</div><br /><div>　キットを組み立てた後で7セグLEDの端子をこのように曲げてはんだ付けし、ケースにはめてエポキシ系接着剤で固定。<br /></div><div><a  target="_blank" title="2018-7seg1" href="http://livedoor.blogimg.jp/hardyboy/imgs/9/b/9bf8b533.jpg"><img  class="pict" alt="2018-7seg1" src="http://livedoor.blogimg.jp/hardyboy/imgs/9/b/9bf8b533-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div>　シリアル通信には<a  target="_blank" href="https://www.switch-science.com/catalog/2782/">FTDI USBシリアル変換アダプター Rev.2</a>(スイッチサイエンス)を使用。接続すると以下の様に表示。一定間隔で表示が左方向に流れます。</div><div><a  target="_blank" title="2018-7seg2" href="http://livedoor.blogimg.jp/hardyboy/imgs/2/b/2b508e10.jpg"><img  class="pict" alt="2018-7seg2" src="http://livedoor.blogimg.jp/hardyboy/imgs/2/b/2b508e10-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div>　これはキット付属の7セグメントLEDがアノードコモンにたいし差し替えた大型のLEDがカソードコモンのため。そこでライブラリの一部をカソードコモン用に書き換えます。</div><br /><div>動作確認：Windows10(64bit),Arduino1.8.8<br /></div><br /><div>以下のページからSSegライブラリをダウンロードしArduinoのライブラリに追加。<br /></div><div><a  target="_blank" href="http://morecatlab.akiba.coocan.jp/lab/index.php/aruino/7segduino/">7segduino（セブンセグ・デュイーノ）</a><br /></div><div>SSegフォルダ内のSseg.cppについて、</div><div>_kcommon = 0 ;</div><div>を</div><div>_kcommon = 1 ;</div><div>に書き換え(三ヶ所)。</div><div>examplesにあるcount_7seg.pdeで動作確認。</div><div><a  target="_blank" title="2018-7seg3" href="http://livedoor.blogimg.jp/hardyboy/imgs/8/a/8af14d11.jpg"><img  class="pict" alt="2018-7seg3" src="http://livedoor.blogimg.jp/hardyboy/imgs/8/a/8af14d11-s.jpg" width="480" hspace="5" height="360" border="0"></a><br /></div><br /><div>　カウントアップしていきます。いい感じですね。USB電力計で簡単に確認したところ、電流は0.04~0.07Aでした。</div><br /><div>　次はこれになんか組み込みます。<br /></div><br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/9050505.html">
<title>4ICs Z80ボード(1) ATMega32LのArduinoブートローダ書き込み</title>
<link>http://blog.livedoor.jp/hardyboy/archives/9050505.html</link>
<description>　もあ(@morecat_lab)さんに4ICs Z80ボードを譲っていただきました。ありがとうございます。手持ちの部品があったのでとりあえずすべて実装。10cm×10cmのサイズ。　このボードは40pinのAVRがすべてを制御してZ80を動かすしくみなので、AVR ATmega32Lにソフトウェアを書き込...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2018-01-18T00:45:19+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　もあ(<a  target="_blank" href="https://twitter.com/morecat_lab/status/948521670062452736">@morecat_lab</a>)さんに<a  target="_blank" href="https://hackaday.io/project/19000-a-4-4ics-z80-homemade-computer-on-breadboard">4ICs Z80ボード</a>を譲っていただきました。ありがとうございます。<br /><br />手持ちの部品があったのでとりあえずすべて実装。10cm×10cmのサイズ。<br /><a  target="_blank" title="2018-ATMEGA32-ALL" href="http://livedoor.blogimg.jp/hardyboy/imgs/b/b/bba9c128.jpg"><img  class="pict" alt="2018-ATMEGA32-ALL" src="http://livedoor.blogimg.jp/hardyboy/imgs/b/b/bba9c128-s.jpg" hspace="5" height="360" border="0" width="480"></a><br /><br />　このボードは40pinのAVRがすべてを制御してZ80を動かすしくみなので、AVR ATmega32Lにソフトウェアを書き込んでやらないといけません。まずはArduinoのブートローダーから。<br /><br />　AVRISPmkIIで書き込めるようにICSP端子を空きエリアに用意。<br /><a  target="_blank" title="2018-ATMEGA32-ISP-CONN" href="http://livedoor.blogimg.jp/hardyboy/imgs/f/3/f314f74c.jpg"><img  class="pict" alt="2018-ATMEGA32-ISP-CONN" src="http://livedoor.blogimg.jp/hardyboy/imgs/f/3/f314f74c-s.jpg" hspace="5" height="360" border="0" width="480"></a><br /><br />　ATMega32Lの pin6 - MOSI , pin7-MISO , pin8 - SCK , pin9 - *RESET<br /><a  target="_blank" title="2018-ATMEGA32-ISP-CONN2" href="http://livedoor.blogimg.jp/hardyboy/imgs/c/0/c0ecad96.jpg"><img  class="pict" alt="2018-ATMEGA32-ISP-CONN2" src="http://livedoor.blogimg.jp/hardyboy/imgs/c/0/c0ecad96-s.jpg" hspace="5" height="360" border="0" width="480"></a><br /><br />参考：<br /><a  target="_blank" href="http://www.instructables.com/id/ATmega-DIP40-in-Arduino-IDE-164/">ATmega DIP40 in Arduino IDE 1.6.4</a><br /><a  target="_blank" href="http://www.instructables.com/id/Burning-Arduino-Bootloader-to-Atmega-32A-PU-Using-/">Burning Arduino Bootloader to Atmega 32A-PU Using Arduino As ISP</a><br /><br />ハードは以上。次はソフト。Windows10からAVRISPmkIIを使うには若干の手順が必要らしい。<br /><a  href="https://qiita.com/yoshihiroo/items/70357cfc3a266f1970be" target="_blank">windows10でAVRISP MKIIを使う方法</a> @yoshihiroo<br /><br />　まず<a  href="http://labs.nevion.com/support/tools/Atmel/driver-atmel-bundle-7.0.888.exe" target="_blank">ドライバ</a>をインストールし、AVRISPmkIIをPCに接続。次に<a  href="https://ja.osdn.net/projects/sfnet_libusb-win32/releases/" target="_blank">libusb-win32-devel-filter-1.2.6.0.exe</a>をインストールする。ここでデバイス一覧が出るのでAVRISPmkIIの箇所を選択して完了する。<br />libusb-win32というのはどうも署名などをうまくバイパスするような仕組みみたい。<br /><br />　以上の方法はどうしてもAVRISPmkIIを使いたい時の方法で、Arduino UNOが手持ちにあれば Arduino as ISP で書き込んだほうが楽。<br /><br />　さて書き込み器の準備はできたので、Arduino IDEに40pin AVRのライブラリを設定する。ライブラリは複数あったのだが以下のMightyCoreを使ってみた。<br /><a  href="https://elementztechblog.wordpress.com/2016/10/28/mightycore-an-arduino-core-for-the-atmega16-atmega32-atmega324-and-more/" target="_blank">MightyCore : An Arduino core for the ATmega16, ATmega32, ATmega324 and more…</a><br /><br />　Windows10上でArduino IDE 1.8.4を起動し、[ファイル]→[環境設定]をクリック、追加のボードマネージャのURL欄に<br /><code><a  href="https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json" rel="nofollow">https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json</a><br />を書いて[OK]で終了。<br />　次に[ツール]→[ボード]→「ボードマネージャ…」をクリック。ここからMightyCore by MCUdude バージョン1.0.8をクリックしてインストールする。<br />　インストール後</code><code><code>[ツール]→[ボード]をクリックするとMightyCore以下にATmega1284など40ピンのAVRが追加されている。ATmega32をクリックしてボード"ATmega32"を選択すれば、次に</code></code><code><code>[ツール]→[ボード]をクリックしたときに項目が追加されている。この4ICs Z80ボードには水晶発振子がないので Clock 8MHz Internalを選択。<br /><br />　以上で準備ができたので[ツール]→[ブートローダを書き込む]をクリック。これでATmega32LがArduinoになった。なお実際の書き込み前にZ80やSRAMは誤動作を防ぐため外しておきます。<br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/d/a/da0f2c35.jpg" title="2018-ATMEGA32-ISP-Write" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/d/a/da0f2c35-s.jpg" alt="2018-ATMEGA32-ISP-Write" class="pict" hspace="5" height="360" border="0" width="480"></a><br /><br /><br />　動作確認のため、基板上のシリアルポートにUSB-シリアル変換器を接続して"Blink"のスケッチをシリアルポート経由で書き込んでみる。基板上のD0 LEDが点滅すればOK。<br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/2/e/2ebc856d.jpg" title="2018-ATMEGA32-ISP-OK" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/2/e/2ebc856d-s.jpg" alt="2018-ATMEGA32-ISP-OK" class="pict" hspace="5" height="360" border="0" width="480"></a><br /><br /><br />　ここまでが準備でした。<br />　なお40pin AVRのライブラリやClock 8MHz Internalの設定は今後変わるかもしれませんがまずは動作確認ということで　つづく。</code></code>]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8922747.html">
<title>ArduinoでGPSから時刻データを取得する</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8922747.html</link>
<description>　Amazonで安いGPSモジュールがあったのでArduinoに接続して時刻データを読んでみた。
Rasbee GY-NEO6MV2 Flight コントローラー NEO-6M APM 2.5 GPSモジュール Arduino用 1個 [並行輸入品]Rasbee  売り上げランキング : 1072653Amazonで詳しく見る by G-Tools
　このGPSモジ...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2017-08-19T01:21:50+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　Amazonで安いGPSモジュールがあったのでArduinoに接続して時刻データを読んでみた。<br /><br />
<table  cellpadding="5" border="0"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B01LQGUY34/keisanki-22/" target="_top"><img  src="https://images-fe.ssl-images-amazon.com/images/I/41vu%2BA1VG4L._SL160_.jpg" alt="Rasbee GY-NEO6MV2 Flight コントローラー NEO-6M APM 2.5 GPSモジュール Arduino用 1個 [並行輸入品]" border="0"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B01LQGUY34/keisanki-22/" target="_top">Rasbee GY-NEO6MV2 Flight コントローラー NEO-6M APM 2.5 GPSモジュール Arduino用 1個 [並行輸入品]</a><br /><br />Rasbee  <br />売り上げランキング : 1072653<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B01LQGUY34/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>
<br />　このGPSモジュール、基板上にはGY-GPS6MV2と書いてある。主要なモジュールはblox NEO-6M、コイン電池とEEPROM、GPSアンテナ用コネクタが付いている。電源は3.3V、シリアル9600bpsで通信。衛星からの電波を安定して受信しているときは青色LEDが点滅する。<br /><br />データシート：<br /><a  href="https://www.u-blox.com/sites/default/files/products/documents/NEO-6_DataSheet_(GPS.G6-HW-09005).pdf" target="_blank">NEO-6 u-blox 6 GPS Modules</a>(PDF)<br /><a  href="https://www.u-blox.com/sites/default/files/products/documents/LEA-NEO-MAX-6_HIM_(UBX-14054794).pdf" target="_blank">Hardware Inegration Manual</a>(PDF)<br /><a  target="_blank" href="http://www.waveshare.com/w/upload/a/a9/U-blox-6-Receiver-Description-Including-Protocol-Specification.pdf">u-blox 6 Receiver Description Including Protocol Specification</a>(PDF)<br /><br />　NEO-6Mはシリアル接続の他にUSBでパソコンに直結できるらしいのだがこのモジュールにはそれらしき引き出しパターンなどはない。時刻取得程度だと特に設定もなく、モジュールのRXとマイコンのTXは接続しなくてもよさそう。<br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/c/9/c98dd640.jpg" title="2017GPS1" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/c/9/c98dd640-s.jpg" alt="2017GPS1" class="pict" width="480" border="0" hspace="5" height="360"></a><br /><br /><br />作例：<br /><a  href="http://www.ayomaonline.com/iot/gy-gps6mv2-neo6mv2-neo-6m-gps-module-with-arduino-usb-ttl/" target="_blank">GY-GPS6MV2 – NEO6MV2 (Neo 6M) GPS Module with Arduino / USB TTL</a><br />(WEBSITE AND BLOG OF AYOMA WIJETHUNGA)<br /><a  href="http://woosan900rr.hatenablog.com/entry/2016/09/18/140259" target="_blank">GY-GPS6MV2をArduinoでテスト</a>(woosan900rrの日記)<br /><br />　マイコンはArduino Leonardo互換のSeeeduino Liteを使用した。5V/3.3Vの切り替えができて便利。モジュールとの接続は電源を3.3V、GND、モジュールのTXとArduinoのRX(D0)を接続する。<br /><br />　さて、GPSからのデータはNMEAフォーマットというカンマで区切られたテキストデータで取得できる。<br /><a  href="http://www2.nc-toyama.ac.jp/~mkawai/lecture/radionav/nmea0183.html" target="_blank">NMEA 0183 フォーマット</a><br />このうち、GGAメッセージ(第1フィールドが$GPGGA)の行の第2フィールドが時刻データ(UTC)である。第14フィールドは補正時間らしいのだが今回は無視した。チエックサムも無視している。<br /><br />スケッチはこちら：<br /><a  href="https://gist.github.com/houmei/8fbc1e223611258204b071745722b071" target="_blank">https://gist.github.com/houmei/8fbc1e223611258204b071745722b071</a><br />
<script src="https://gist.github.com/houmei/8fbc1e223611258204b071745722b071.js"></script>
<br /><br />　ちょっとがんばってSerial.readStringUntil('\n')を使ってみた。一文字ずつ受信して処理するのは大変なのでStringクラスで全部やった。ついでに今後のためにString.toInt()で整数に変換して時刻もJSTに補正した。<br />こちらが参考になった：<a  href="http://ch.nicovideo.jp/yugata/blomaga/ar1177727" target="_blank">【prog】Arduino・シリアルで文字列受信するには</a>(ゆうがたの特にコレと言って)<br /><br />　今後は座標やその他の情報が取得できるようカンマ区切りでデータを読み取るようにしたい。以下はそのためのメモ。<br /><a  href="http://robotastics.wpblog.jp/%E6%8A%80%E8%A1%93%E6%83%85%E5%A0%B1/arduino/%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87%E5%AD%97%E3%81%A7%E5%88%86%E5%89%B2%E3%81%99%E3%82%8Bsplit%E9%96%A2%E6%95%B0/" target="_blank">文字列を区切り文字で分割するsplit()関数　for Arduino</a>(山形大学工学部ロボタスティクス)<br /><a  href="https://auxin01.wordpress.com/2013/04/08/arduino_and_pc_6/" target="_blank">Arduinoにつないだセンサからの値をパソコンで記録する(6)</a>(Ukkari blog)<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/B071WJJ6MN/keisanki-22/"><img  alt="Seeeduino Lite" src="https://images-fe.ssl-images-amazon.com/images/I/518a2K3NUeL._SL160_.jpg" border="0"></a></td><td  valign="top"><span><a  target="_top" href="http://www.amazon.co.jp/exec/obidos/ASIN/B071WJJ6MN/keisanki-22/">Seeeduino Lite</a><br /><br />Seeed Studio  <br />売り上げランキング : <br /><br /><a  target="_top" href="http://www.amazon.co.jp/exec/obidos/ASIN/B071WJJ6MN/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>

<br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8810421.html">
<title>アナログ入力１本でマトリックスキーを扱う</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8810421.html</link>
<description>　アナログ入力によるロータリーエンコーダの読み出しとちょっと関係あり。今回はマトリックスキーを扱ってみた。　12Key マトリクスキーボード JK-42-2(共立エレショップ)　のような3×4のテンキー、中はマトリックス配線になっている。スイッチが個別に扱えれば抵抗分圧式...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2017-04-11T01:16:03+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　<a  target="_blank" href="http://blog.livedoor.jp/hardyboy/archives/8447309.html">アナログ入力によるロータリーエンコーダの読み出し</a>とちょっと関係あり。今回はマトリックスキーを扱ってみた。<br /><br />　<a  target="_blank" href="http://eleshop.jp/shop/g/gDC512F/">12Key マトリクスキーボード JK-42-2</a>(共立エレショップ)　のような3×4のテンキー、中はマトリックス配線になっている。スイッチが個別に扱えれば抵抗分圧式で可能だが、解体して配線し直すわけにもいかない。<br />抵抗分圧式の例：<a  target="_blank" href="https://synapse.kyoto/hard/keypad/page001.html">I/Oピン一つで読み取れるキーパッドの製作</a>(しなぷすのハード製作記)<br /><br />　ではどうしようか。横方向で分圧したあと、縦方向でさらにその範囲内で分圧すればよさそうだ。<br /><br /><a  target="_blank" title="ankey_2017-04-11 00_37_52" href="http://livedoor.blogimg.jp/hardyboy/imgs/d/f/dfdb152b.jpg"><img  class="pict" alt="ankey_2017-04-11 00_37_52" src="http://livedoor.blogimg.jp/hardyboy/imgs/d/f/dfdb152b-s.jpg" width="480" border="0" hspace="5" height="640"></a><br /><br />　実際はこんな感じで配線。<br /><a  target="_blank" title="ankey_2017-04-11 00_39_34" href="http://livedoor.blogimg.jp/hardyboy/imgs/d/3/d3418617.jpg"><img  class="pict" alt="ankey_2017-04-11 00_39_34" src="http://livedoor.blogimg.jp/hardyboy/imgs/d/3/d3418617-s.jpg" width="480" border="0" hspace="5" height="640"></a><br /><br />　Arduinoのスケッチはこんな感じ。雑なコードですまん。<br /><a  target="_blank" href="https://gist.github.com/houmei/7c42c60a56e6f63c08467aaa3296722b">https://gist.github.com/houmei/7c42c60a56e6f63c08467aaa3296722b</a><br /><br />　同時押しすると別のキーになってしまうことがある。（追記：ADC入力値の範囲を絞ることで若干改善）うまく抵抗値を選ばないといけないかも。計算したExcelのシートをどっかになくしてしまった。<br /><br /><a  target="_blank" title="2017ankey1" href="http://livedoor.blogimg.jp/hardyboy/imgs/3/e/3eff98a8.jpg"><img  class="pict" alt="2017ankey1" src="http://livedoor.blogimg.jp/hardyboy/imgs/3/e/3eff98a8-s.jpg" width="480" border="0" hspace="5" height="360"></a><br /><br /><a  target="_blank" title="2017ankey2" href="http://livedoor.blogimg.jp/hardyboy/imgs/4/f/4f418001.jpg"><img  class="pict" alt="2017ankey2" src="http://livedoor.blogimg.jp/hardyboy/imgs/4/f/4f418001-s.jpg" width="480" border="0" hspace="5" height="360"></a><br /><br /><a  target="_blank" title="2017ankey3" href="http://livedoor.blogimg.jp/hardyboy/imgs/b/e/bef93537.jpg"><img  class="pict" alt="2017ankey3" src="http://livedoor.blogimg.jp/hardyboy/imgs/b/e/bef93537-s.jpg" width="480" border="0" hspace="5" height="360"></a><br /><br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8755419.html">
<title>Arduino: prog_char はなくなった</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8755419.html</link>
<description>　あるソースをArduino IDE 1.8.1でコンパイルしたらエラーがでた。フラッシュメモリ上に定数を置くprog_charが使えなくなったとのこと。prog_char error IDE 1.6.4prog_char A[] PROGMEM = &quot;... をconst char A[] PROGMEM = &quot;... に書き換え。</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2017-02-22T23:57:10+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　あるソースをArduino IDE 1.8.1でコンパイルしたらエラーがでた。フラッシュメモリ上に定数を置くprog_charが使えなくなったとのこと。<br /><br /><a  target="_blank" href="https://forum.arduino.cc/index.php?topic=333682.0">prog_char error IDE 1.6.4</a><br /><br />prog_char A[] PROGMEM = "... を<br />const char A[] PROGMEM = "... に書き換え。<br /><br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8518954.html">
<title>GY-302モジュールを使った簡単な照度計</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8518954.html</link>
<description>　GY-302というモジュールを入手した。これにはロームのAmbient Light Sensor BH1750FVIで照度を測定しI2Cで読み出せる。　照度計に関しては秋月電子から入手できる浜松ホトニクスのS9705を使ってなんとかしようと思っていたが、タイマ関連の設定をもっと厳密にする必要があ...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2016-07-16T01:43:36+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　GY-302というモジュールを入手した。これにはロームの<span  class="pl-c">Ambient Light Sensor BH1750FVIで照度を測定しI2Cで読み出せる。<br /><br />　照度計に関しては秋月電子から入手できる浜松ホトニクスのS9705を使ってなんとかしようと思っていたが、タイマ関連の設定をもっと厳密にする必要があって手を出せないでいた。<br /><a  href="http://blog.livedoor.jp/hardyboy/archives/8227534.html" target="_blank">S9705照度計をスケッチのみで/Arduino 1.6.6のシリアルプロッタ</a><br /><br />Arduino用のライブラリFlexTimer2では不正確な場合があり、以下の記事が参考になる。<br /><a  href="http://radiopench.blog96.fc2.com/blog-entry-652.html" target="_blank">FlexiTimer2の挙動の調査（Arduino)</a>(ラジオペンチ)<br /><br />　さて、GY-302モジュールならI2Cで読み取るだけということなので、簡単にできそうである。精度もセンサのばらつきにのみ左右される。ということでAmazon経由で購入。<br /><br /></span>
<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B011IGZD7E/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/41iPc7q7UhL._SL160_.jpg" alt="GY-302 BH1750 光照度照明モジュール [並行輸入品]" border="0"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B011IGZD7E/keisanki-22/" target="_top">GY-302 BH1750 光照度照明モジュール [並行輸入品]</a><br /><br />Phishine  <br />売り上げランキング : 27339<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B011IGZD7E/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><br />　BH1740FVI資料。Typ 3.0V動作、I2C。<br /><a  href="http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf" target="_blank">http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf</a><br /><br />　GY-302モジュール資料。Vcc 5V入力をLDOで3.3Vに変換しBH1740FVIの電源にしている。SCL/SDAはプルアップ付き。I2Cのアドレスを設定するADDRはプルダウンされている。<br /><a  href="http://www.nyplatform.com/index.php?route=product/product&amp;product_id=674" target="_blank">BH1750 BH1750FVI Digital Light intensity Sensor Module For AVR Arduino 3V 5V</a><br /><br />　ライブラリと作例も見つかった。ほぼそのまま使用する。<br /><a  href="https://cmosgr.wordpress.com/2013/09/02/bh1750fvi-gy-302-light-sensor-module/" target="_blank">bh1750fvi (GY-302) Light Sensor Module</a>(Simple Arduino Skeches)<br /><br />　GY-302モジュールをそのままArduinoの端子に差し込んでみた。SCLをA5、SDAをA4になるようにさしてVccとGNDは無理やりワイヤで接続、ADDRはA3にささるのでピンの設定でGNDに落とした。<br /><br />　スケッチはこちら。<br /><a  href="https://gist.github.com/houmei/60255efe8029ca7a79e51a9c698a34ab" target="_blank">https://gist.github.com/houmei/60255efe8029ca7a79e51a9c698a34ab</a><br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/c/e/ce06c83e.jpg" title="2016-GY302" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/c/e/ce06c83e-s.jpg" alt="2016-GY302" class="pict" height="360" hspace="5" border="0" width="480"></a><br /><br />　MacOSX10.10.5 / Arduino IDE 1.0.6にBH1750ライブラリを置く。ターゲットはDuemilanove w/ATmega328互換の<a  href="http://www.elecrow.com/wiki/index.php?title=Crowduino_v1.1" target="_blank">Crowduino</a>。秋月電子で扱っている<a  href="http://akizukidenshi.com/catalog/g/gM-05906/" target="_blank">デジタル照度計　ＬＸ－１０１０Ｂ</a>とだいたい同じ照度を表示することを確認。<br />　BH1750ライブラリ自体はArduino固有の操作をやっているわけではなく単にI2Cの送受信なので他のマイコンに持っていくのも簡単そう。<br /><br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8490806.html">
<title>Arduinoで開発できるDigispark</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8490806.html</link>
<description>　USB I/Fを持っていないはずのATTiny85をUSB経由で開発できるDigisparkという小型マイコンボードを試してみた。開発元：Digistump　Digistump wiki　ファームウェアmicronucleusはソフトウェアでUSBデバイスを実現するV-USBを組み込んでいる。https://github.com/micronucle...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2016-06-27T06:36:13+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　USB I/Fを持っていないはずのATTiny85をUSB経由で開発できるDigisparkという小型マイコンボードを試してみた。<br /><br />開発元：<a  href="http://digistump.com/" target="_blank">Digistump</a>　<a  href="https://digistump.com/wiki/start" target="_blank">Digistump wiki</a><br /><br />　ファームウェアmicronucleusはソフトウェアでUSBデバイスを実現するV-USBを組み込んでいる。<br /><a  href="https://github.com/micronucleus/micronucleus" target="_blank">https://github.com/micronucleus/micronucleus</a><br /><a  href="https://www.obdev.at/products/vusb/index.html" target="_blank">V-USB</a><br /><br /><a  href="http://shokai.org/blog/archives/8665" target="_blank">895円の超小型Ardunoクローン DigiSparkを買った</a>(橋本商会)<br /><a  href="https://syamoji.wordpress.com/2014/04/29/digispark%E3%82%92%E8%B2%B7%E3%81%A3%E3%81%A6%E5%8B%95%E3%81%8B%E3%81%99%E3%81%BE%E3%81%A7/" target="_blank">Digisparkを買って動かすまで</a>(syamojigzag)<br /><a  href="http://qiita.com/erukiti/items/74a848489ec102841b66" target="_blank">安価なUSB直挿しマイコンDigisparkのススメ</a>(Qiita)<br /><a  href="http://nuneno.cocolog-nifty.com/blog/2014/12/digispark-d14d.html" target="_blank">Digisparkを試してみました</a>(猫にコ・ン・バ・ン・ワ)<br /><a  href="http://www.elefine.jp/digispark/index.html" target="_blank">Digisparkの使い方</a>(ELEFINE)<br /><br />MacOSX 10.10.5 / Arduino IDE 1.6.9でやってみた。<br />メニューのArduinoから[Preferences...]を選択、追加のボードマネージャのURL欄に<br />http://digistump.com/package_digistump_index.json<br />を入れてOKを押す。<br />次にメニューのツールから[ボード:" xxx"]→[ボードマネージャ...]からDigistump AVR Boardsを探しインストールする。これらはArduinoにボードを追加する手順と同じ。<br /><br />プログラムの転送はいったんMacからDigistumpを外した状態で[マイコンボードに書き込む]を実行し、60秒以内にDigistumpをUSBポートに接続する。<br /><br />以下のプログラムはポート2に接続した焦電センサモジュールに感があるとLEDが点灯する。<br /><a  href="https://gist.github.com/houmei/117544cfdc5a11e7163f9f2babdd8533" target="_blank">https://gist.github.com/houmei/117544cfdc5a11e7163f9f2babdd8533</a><br /><br />※訂正　ポート2です　写真は間違い<br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/e/4/e428e7cc.jpg" title="2016digispark-pir" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/e/4/e428e7cc-s.jpg" alt="2016digispark-pir" class="pict" height="360" hspace="5" border="0" width="480"></a><br /><br />　簡単にできた。USB-HIDなどの使用方法はインストールしたら追加されるスケッチの例を見ろ、とWikiに書いてあった。ATMega32U4(Arduino Leonardoなど)では大げさな、１ボタンで動作するキーボードなどに良さそう。<br /><br />　以下の本、Kindleで買ってみたけど「Arduinoをはじめよう」のような内容でした。<br /><br />
<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B015JH39T2/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/41i-9a-gXEL._SL160_.jpg" alt="Digispark USB Development Workshop (English Edition)" border="0"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B015JH39T2/keisanki-22/" target="_top">Digispark USB Development Workshop (English Edition)</a><br />Agus Kurniawan <br /><br />PE Press  2015-09-17<br />売り上げランキング : <br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B015JH39T2/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>
<br />
<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B0154PL3QA/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/41jY92wQCLL._SL160_.jpg" alt="HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]" border="0"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B0154PL3QA/keisanki-22/" target="_top">HiLetgo Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード [並行輸入品]</a><br /><br />HiLetgo  <br />売り上げランキング : 90325<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B0154PL3QA/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>
<br />
<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B01FVT7YIU/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/513y7iAxVPL._SL160_.jpg" alt="Rasbee オリジナル Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード Arduino 1個 [並行輸入品]" border="0"></a></td><td  valign="top"><span><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B01FVT7YIU/keisanki-22/" target="_top">Rasbee オリジナル Digispark Kickstarter ATTINY85 Arduino Micro USB 開発ボード Arduino 1個 [並行輸入品]</a><br /><br />Rasbee  <br />売り上げランキング : 55601<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/B01FVT7YIU/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>

<br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8490164.html">
<title>Arduinoでログを取るメモ</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8490164.html</link>
<description>　焦電センサモジュールの挙動があやしかったのでArduinoに繋いで終日ログを取ってみた。やり方としてはArduino UNOの入力3本に焦電センサモジュールの出力をつなぎ、それを表示。センサの状態は16進数1桁で表すので、4ピンまではパッと見ただけでわかる。これを1秒ごと繰り...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2016-06-26T02:45:58+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　焦電センサモジュールの挙動があやしかったのでArduinoに繋いで終日ログを取ってみた。<br />やり方としてはArduino UNOの入力3本に焦電センサモジュールの出力をつなぎ、それを表示。センサの状態は16進数1桁で表すので、4ピンまではパッと見ただけでわかる。これを1秒ごと繰り返す。<br />1秒ごとシリアルコンソールに出力すると1秒ごとに選択がクリアされるのでコピペで結果を持っていけない。そこで60秒ぶん内部で溜めてから1分を一行として出力する。<br /><br />ソースとログはこちら。<br /><a  href="https://gist.github.com/houmei/e2e3f5a1cc5b09992a8df9c8eb429de1" target="_blank">https://gist.github.com/houmei/e2e3f5a1cc5b09992a8df9c8eb429de1</a><br /><br />焦電センサモジュールだが、ちゃんとした電源端子を使わずに内部3.3Vの箇所に乾電池を繋いだのが悪かったみたいで、きちんと仕様通りにやったらなんの問題もなかった。<br /><br />

<table  border="0" cellpadding="5"><tr><td valign="top"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00L11K4RQ/keisanki-22/" target="_top"><img src="http://ecx.images-amazon.com/images/I/31oSMUHkYdL._SL160_.jpg" border="0" alt="SODIAL(R) モジュール焦電型赤外線検出器PIRモーション" /></a></td><td valign="top"><font size="-1"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00L11K4RQ/keisanki-22/" target="_top">SODIAL(R) モジュール焦電型赤外線検出器PIRモーション</a><br /><br />SODIAL(R)  <br />売り上げランキング : 37055<br /><br /><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00L11K4RQ/keisanki-22/" target="_top">Amazonで詳しく見る</a></font><font size="-2"> by <a href="http://www.goodpic.com/mt/aws/index.html" >G-Tools</a></font></td></tr></table>
<table  border="0" cellpadding="5"><tr><td valign="top"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B010RYGEGM/keisanki-22/" target="_top"><img src="http://ecx.images-amazon.com/images/I/41v2ZCYNdmL._SL160_.jpg" border="0" alt="HiLetgo 人センサーモジュール焦電赤外線 HC-SR501 [並行輸入品]" /></a></td><td valign="top"><font size="-1"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B010RYGEGM/keisanki-22/" target="_top">HiLetgo 人センサーモジュール焦電赤外線 HC-SR501 [並行輸入品]</a><br /><br />Phishine  <br />売り上げランキング : 24723<br /><br /><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B010RYGEGM/keisanki-22/" target="_top">Amazonで詳しく見る</a></font><font size="-2"> by <a href="http://www.goodpic.com/mt/aws/index.html" >G-Tools</a></font></td></tr></table>

<br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8367232.html">
<title>7セグメント用H68/TRフォントデータ</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8367232.html</link>
<description>　最近作っているのは7セグメントLEDを使った電卓シールドなのだが、せっかくなら16進数も扱いたいし、できればアルファベットも表示したい。　で、最近見かけたのはこのフォントデータ。7セグ・14セグフォント 「DSEG」(keshikan.net)　だが、私の知っているものとは少し違...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2016-02-19T02:57:32+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　最近作っているのは7セグメントLEDを使った電卓シールドなのだが、せっかくなら16進数も扱いたいし、できればアルファベットも表示したい。<br /><br />　で、最近見かけたのはこのフォントデータ。<br /><a  href="http://www.keshikan.net/fonts.html" target="_blank">7セグ・14セグフォント 「DSEG」</a>(keshikan.net)<br /><br />　だが、私の知っているものとは少し違う。こっちのほうです。<br /><a  href="http://www.st.rim.or.jp/~nkomatsu/evakit/H68TR.html" target="_blank">Hitachi H68/TR</a>(IC Collection)<br /><br />　H68/TRは電卓風のコンソールに7セグメントのEL管が入っていて無理やりアルファベットを表示していた記憶。では具体的にはどのような表示だったかというと、以下にありました。<br /><a  href="http://keikato.cocolog-nifty.com/blog/2012/11/auto-27.html" target="_blank">トイレのドアを修理　H68/TR落札したかったな</a>(今日を生きた証)<br />　こちらのマニュアルの写真を参考に、64文字分の7セグメント用データを作成。<br /><br />　データ部分は以下をご利用ください。<br /><a  href="https://gist.github.com/houmei/50bd6e7c56b60480f6e7" target="_blank">https://gist.github.com/houmei/50bd6e7c56b60480f6e7</a><br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/d/0/d0974b8a.png" title="2016h68trfont" target="_blank"></a><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/d/0/d0974b8a.png" title="2016h68trfont" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/d/0/d0974b8a-s.png" alt="2016h68trfont" class="pict" border="0" width="480" height="360" hspace="5"></a><br /><br />　ちょっとハマった所があって、配列の初期化のうち１要素がなぜか抜けるような動きをした。バックスラッシュの字体を定義するところを<br />&nbsp; 0x06, // B00000110, // \<br />としたら継続行とみなされ次の要素がコメントアウトされた。<br />&nbsp; 0x06, // B00000110, // "\"<br />でOK。<br /><a  href="http://d.hatena.ne.jp/ayokoyama/20100405/p3" target="_blank">C 言語の「//」コメントは、バックスラッシュで継続行になる!</a>(私の二次記憶)<br /><br /><br /><br />

<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/4789837270/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/5106TQDS98L._SL160_.jpg" alt="マイコンと表示器をつなぐ10の方法 (マイコン活用シリーズ)" border="0"></a></td><td  valign="top"><span  style=""><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/4789837270/keisanki-22/" target="_top">マイコンと表示器をつなぐ10の方法 (マイコン活用シリーズ)</a><br />後田 敏 中西 一雄 世古 伸治 長田 直之 <br /><br />CQ出版  2006-05<br />売り上げランキング : 607010<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/4789837270/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span  style=""> 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/8360845.html">
<title>Arduinoでスケッチのコンパイル時 undefined reference to `loop' などが出る場合の対処</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8360845.html</link>
<description>　特にライブラリを作りながらスケッチも書いている場合、Arduino IDEでスケッチをコンパイルするとundefined reference to `setup'　や　undefined reference to `loop' が出てエラーになることがある。どうやらスケッチをスケッチとして認識せずC++ソースとみなしてコンパ...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2016-02-13T08:11:28+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　特にライブラリを作りながらスケッチも書いている場合、Arduino IDEでスケッチをコンパイルすると<br />undefined reference to `setup'　や　undefined reference to `loop' が出てエラーになることがある。どうやらスケッチをスケッチとして認識せずC++ソースとみなしてコンパイルしているような動作。<br /><br />　以下は作業フォルダの例。<br /><br />BYODというフォルダ以下に<br />BYOD.ino (Arduino IDEスケッチ)<br />BYOD.cpp (作成中のライブラリ)<br />BYOD.h (同上)<br /><br />　このような構成のときにエラーがでる。スケッチのファイル名はフォルダ名と同じでなければならないので、次のようにリネームすると解決する。<br /><br />BYODtestというフォルダ以下に<br />BYODtest.ino (Arduino IDEスケッチ)<br />BYOD.cpp (作成中のライブラリ)<br />BYOD.h (同上)<br /><br />参考：<br /><a  href="http://wyoinnovation.blogspot.jp/2010/05/arduino-undefined-reference-to-loop.html" target="_blank">Arduino: undefined reference to `loop' </a><br /><br /><br /><br />
<table  border="0" cellpadding="5"><tbody><tr><td  valign="top"><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/487311733X/keisanki-22/" target="_top"><img  src="http://ecx.images-amazon.com/images/I/51dzI8JEhSL._SL160_.jpg" alt="Arduinoをはじめよう 第3版 (Make:PROJECTS)" border="0"></a></td><td  valign="top"><span  style=""><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/487311733X/keisanki-22/" target="_top">Arduinoをはじめよう 第3版 (Make:PROJECTS)</a><br />Massimo Banzi Michael Shiloh 船田 巧 <br /><br />オライリージャパン  2015-11-28<br />売り上げランキング : 723<br /><br /><a  href="http://www.amazon.co.jp/exec/obidos/ASIN/487311733X/keisanki-22/" target="_top">Amazonで詳しく見る</a></span><span  style=""> by <a  href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></span></td></tr></tbody></table>
<br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8322943.html">
<title>Arduinoボードの識別方法</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8322943.html</link>
<description>　ArduinoのUNOとLeonardoは性能的には似通っているが割り込みやタイマなど微妙に違う部分がある。それぞれのボードに対応したスケッチを分けずに書きたいなあと思っていた。　以下の方法でボードを識別することができる。Determine Arduino Board Model and Version Program...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2016-01-18T01:28:00+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[　ArduinoのUNOとLeonardoは性能的には似通っているが割り込みやタイマなど微妙に違う部分がある。それぞれのボードに対応したスケッチを分けずに書きたいなあと思っていた。<br /><br />　以下の方法でボードを識別することができる。<br /><a  href="http://tonygaitatzis.tumblr.com/post/134967126657/determine-arduino-board-model-and-version" target="_blank">Determine Arduino Board Model and Version Programmatically</a><br /><br />Arduino UNO系では：<br />#if defined(__AVR_ATmega328P__) <br /><br />Arduino Leonardo系では：<br />#if defined(__AVR_ATmega32U4__)<br /><br />で判断することができる。Arduino IDEの1.0.6 / 1.6.7 / 1.7.8 で動作確認した。<br />これらはスケッチ内だけではなく、よりマイコンの内部構成に依存した書き方が必要なライブラリ内でも利用できる。<br />]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/hardyboy/archives/8227534.html">
<title>S9705照度計をスケッチのみで/Arduino 1.6.6のシリアルプロッタ</title>
<link>http://blog.livedoor.jp/hardyboy/archives/8227534.html</link>
<description>※参考linkを追加　以前実験した、浜松ホトニクスのS9705による照度計。ライブラリに依存しているのでArduino Leonardoなどでは動かない。そこでPulseIn()を使ってスケッチだけで書き直した。S9705 照度ー周波数変換フォトICを使った照度計以下の部品を使った。照度・周波数...</description>
<dc:creator>hardyboy</dc:creator>
<dc:date>2015-11-14T06:28:05+09:00</dc:date>
<dc:subject>Arduino</dc:subject>
<content:encoded><![CDATA[※参考linkを追加<br /><br />　以前実験した、浜松ホトニクスのS9705による照度計。ライブラリに依存しているのでArduino Leonardoなどでは動かない。そこでPulseIn()を使ってスケッチだけで書き直した。<br /><br /><a  href="http://blog.livedoor.jp/hardyboy/archives/6543874.html" target="_blank">S9705 照度ー周波数変換フォトICを使った照度計</a><br /><br />以下の部品を使った。<br /><a  href="http://akizukidenshi.com/catalog/g/gI-02443/" target="_blank">照度・周波数変換フォトＩＣ　５５０ｎｍ　Ｓ９７０５（２個入）</a>(秋月電子)<br /><a  href="http://akizukidenshi.com/catalog/g/gP-06016/" target="_blank">１．２７ｍｍ８ピンＤＩＰ変換基板（５枚入）</a>(秋月電子)<br /><br /><br />S9705 接続： pin1(RST)=GND pin4(OUT)はArduinoのD5。あとは電源でpin2=GND,pin3=Vdd。<br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/0/c/0c2b47a0.jpg" title="2015FreqLx2photo" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/0/c/0c2b47a0-s.jpg" alt="2015FreqLx2photo" class="pict" height="360" hspace="5" border="0" width="480"></a><br /><br />スケッチは以下から：<br /><a  href="https://gist.github.com/houmei/4347458b6f17de207670" target="_blank">https://gist.github.com/houmei/4347458b6f17de207670</a><br /><br />これは単純にカウントするだけなので、精度を上げるためにはRST端子を制御してカウント開始をきちんと制御する等工夫が必要。<br /><br /><br />なおピン名をP1_5の様に変更するだけでMSP430 LaunchPad/Energia IDEでも動作した。<br /><br />さて、Arduino 1.6.6ではシリアル出力をグラフにするシリアルプロッタが追加された。<br /><a  href="http://makezine.jp/blog/2015/11/arduino-ide-1-6-6.html" target="_blank">Arduino IDEの新機能、シリアルプロッタが便利</a>(Make:)<br /><br />シリアル出力に数値のみを書き出すようにして、Arduino IDEのツールからSerial Plotterを選択する。<br /><br /><a  href="http://livedoor.blogimg.jp/hardyboy/imgs/9/b/9b6f7d50.jpg" title="2015SerialPlotter" target="_blank"><img  src="http://livedoor.blogimg.jp/hardyboy/imgs/9/b/9b6f7d50-s.jpg" alt="2015SerialPlotter" class="pict" height="378" hspace="5" border="0" width="480"></a><br /><br />　こんな感じ。縦軸は自動的に変化する。<br /><br />　今のところ単機能だけど、スペースなどで区切った数値で複数の折れ線が出たりしたら面白そうね。<br /><br />参考：<br /><a  href="http://www.circuitstoday.com/frequency-counter-using-arduino" target="_blank">Frequency counter using arduino</a>(Circuits Today)<br /><a  href="http://www.musashinodenpa.com/arduino/ref/index.php?f=0&amp;pos=2428" target="_blank">pulseIn(pin, value, timeout) </a>(Arduino日本語リファレンス)<br /><br /><br /><br />]]>
</content:encoded>
</item>

</rdf:RDF>
