tag:blogger.com,1999:blog-59053531137355776832024-02-21T01:47:22.276+09:00初心者だけど、一歩ずつ IOT 電子工作電圧と電流の関係もイマイチはっきり分からない初心者が、Arduinoを使った電子工作を一歩ずつ進めていく様子をブログで公開。Raspberry piやiPhoneアプリにも挑戦。目線は、楽しみながら。arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.comBlogger114125tag:blogger.com,1999:blog-5905353113735577683.post-19829494141181968682017-07-15T20:32:00.000+09:002017-08-02T07:23:08.616+09:00Raspberry Pi3 Model B ボード&ケースセット<span style="font-family: Arial, Helvetica, sans-serif;">カラフルなケースが、揃っています。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<table border="1" bordercolor="#FFFFFF">
<tr>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="https://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01CSFZ4JG&linkId=5c62c7023918dca4145d76ba7070e667&internal=1"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01CHJRAJA&linkId=eb29df05b4a464a46e637635d662d3ad"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01CHJRALS&linkId=87033aaf79f40b065869ec37eabc2992"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01CHJRAOK&linkId=c6b0251636b7f8dd95bca4f31e560ece"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01CHJRAMM&linkId=e723f0981739a9a28c94a0951d436770"></iframe>
</th>
</tr>
<tr>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01N8ZIJL8&linkId=6dfec681b9e300d4839c2bec6aa4ad24"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B00OJHF8WU&linkId=3096b20030b18b6c252c151c7a156124"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01LXM8NL4&linkId=c084a11c933937d936e6972d62455757"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01K1T0TH8&linkId=ccec5f8367adac68e83763f5b045764e"></iframe>
</th>
<th>
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-ama0002-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01DW5LUTO&linkId=bee14a5ef611a11b6197deb95556a9de"></iframe>
</th>
</tr>
</table>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-76424856672323181122017-07-09T13:18:00.003+09:002017-07-09T13:18:54.154+09:00久々、更新しましたほんとうに、久々の更新になってしまいました。<br />
Arduinoにハマって、このブログを立ち上げて、早数年。<br />
<br />
その後、様々な技術が身近になりました。IOTというキーワードを聞かない日はありません。<br />
<br />
Raspberry piにもWindows Coreがインストールできるようになったり、AWSやAzureが個人でも利用できる価格で提供されたりと、結構、楽しめそうな世の中になりました。<br />
<br />
自分もやって見たいと思ってもらえるような、そして、壁に当たった時の参考になるようなブログ記事を掲載していくので、よかったら、たまにのぞいて見てください。<br />
<br />
では。<br />
<div id="UMS_TOOLTIP" style="background-color: transparent; background-position: initial initial; background-repeat: initial initial; cursor: pointer; left: -100000px; position: absolute; top: -100000px; z-index: 2147483647;">
</div>
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-56197073709684982002015-11-17T08:15:00.001+09:002015-11-17T08:15:49.461+09:00デスクトップパソコンの液晶が真っ暗久々の投稿です。<div><br></div><div>使っているデスクトップパソコンの液晶がある日、突然、真っ暗に。昨夜までは普通に使えていたのに。</div><div><br></div><div>新しいのを購入しました。</div><div>ワイド画面で、デスクトップが広々して使いやすい。</div><div><br></div><div>壊れた液晶を、そのまま捨てるのも何なので、まずは分解。</div><div><br></div><div>直せる自信も、見込みも無くても、分解したくなるのは、分かる人には分かる本能^_^です。</div><div><br></div><div>BenQ製の液晶モニターです。</div><div>年代物です。</div><div><br></div><div>修理に挑戦してみようかと。</div><div><br></div><div>続きは、また後日。</div>arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-13698941753514759382014-04-12T09:02:00.000+09:002014-04-12T09:02:01.833+09:00スマホのアプリを作るブログをはじめましたこのブログとは別に、スマホのアプリを作るブログをはじめました。<br />
<br />
『Monacaでスマホアプリ開発(ゲームだって作れる)』<br />
<a href="http://make-monaca.blogspot.jp/">http://make-monaca.blogspot.jp/</a><br />
<br />
iPhoneやAndroid、Windows等のスマートフォンやモバイル環境で動くアプリの作り方を<br />
基本から一歩一歩、身につけられるブログにする予定です。<br />
<br />
スマホのアプリを作るって楽しそうだと思ったら、一度、遊びに来てください。<br />
<br />
『Monacaでスマホアプリ開発(ゲームだって作れる)』<br />
<a href="http://make-monaca.blogspot.jp/">http://make-monaca.blogspot.jp/</a><br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget --> arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-16903153164073318322014-01-27T08:58:00.001+09:002014-01-28T08:03:01.814+09:00Monacaでハイブリッドに開発iPhoneとandroidは、もちろんOSが違います。なので普通は別々に開発する必要があります。<div><br></div><div>それぞれの機種に対応したネイティブアプリを開発するなら、覚えることも、倍。開発環境も別々に用意だから倍。</div><div><br></div><div>倍は、辛い。</div><div><br></div><div>そこで、Monacaを使って、両方に対応できるアプリを作るのが、早道と判断しました。</div><div><br></div><div>そのぶん、できる事に制限があるかもしれないのは、このさい、目をつぶることに。</div><div><br></div><div>Monacaは、javascriptとhtml、cssで作るweb開発環境です。</div><div>初めての人に嬉しい無料のサービスです。</div><div><br></div><div>次回は、実際の使用感を。</div>arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-47591719681806888262014-01-27T08:28:00.001+09:002014-01-27T08:43:08.619+09:00スマホ アプリに挑戦します久々になってしまいましたが、新しい気持ちで再開します。<br>
アルディノとスマホの連携がテーマです。<br>
<br>
とはいうものの、スマホアプリは未経験。<br>
<br>
コツコツ、お勉強です。<br>
<br>
<br>
普段はiPhoneを使っていて、タブレットはandroidなので、<br>
両方に対応できると、楽なんですが…<br>
<br>
OSによって開発環境が、違う。<br>
結構、ハードルが高くなってしまいます。<br>
<br>
そこでmonacaを採用することにします。<br>
monacaって、??<br>
<br>
詳しくは、次回。<br>
<br>arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-18818587459226537702013-08-28T17:55:00.000+09:002013-08-28T17:55:00.226+09:00AndroidからArduinoへスケッチの書き込みMake: Japanに面白い記事が紹介します。<br />
<br />
<a href="http://makezine.jp/blog/2013/07/arduinodriod.html" target="_blank">ポケットに入るArduino開発環境</a><br />
<br />
USBホスト変換用のケーブル1本で、AndroidとArduinoを接続し、Arduinoへスケッチを書き込むことができるという記事です。パソコン不要です。<br />
<br />
<br />
Google Playからアプリ(<a href="https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinodroid&hl=ja" target="_blank">ArduinoDriod</a>)をAndroidスマフォにインストール後、ケーブルでArduinoと接続。<br />
Android上のIDEでスケッチを書き、Arduinoへ転送。<br />
<br />
すばらしいアプリです。 <br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-42281228399659811192013-05-18T17:55:00.000+09:002017-07-15T20:00:57.725+09:00[読書]フリー〈無料〉からお金を生みだす新戦略 最近読んだ本が面白かったので、ご紹介です。<br />
<br />
【フリー〈無料〉からお金を生みだす新戦略 】という本です。<br />
インターネットの世界だけでなく、ビジネスの場でも有名な 本なので、ご存知の方や既に読んだことがことがある方も多いかもしれません。<br />
<br />
<a name='more'></a><br />
正直に言うと、私はタイトルから勝手に、インターネットビジネスについて書かれた本で疑いの目で見ていました。<br />
<br />
この手の本は、その本を書いた方が利益を得るために、書かれているんではないか、つまり読んだ人が儲けたり得をするのではなく、読ませた(買わせた)著者が利益を得る構図と思える、どこにでもあるような内容が多いと思っています。<br />
<br />
それはそれで、ひとつのビジネスモデルではありますが。<br />
<br />
<br />
でも、この本は、内容がしっかりありました。<br />
<br />
Googleが<b>なぜ</b>、メールやストレージ、ブログ、さらには、MS Officeのようなアプリケーションまで無料で提供しているのか、出来るのか、明確に答えられますか?<br />
<br />
アプリケーションの開発、設備の拡張の費用は、タダではありませんよね。<br />
Googleの社員はお給料が無い、ボランティアってことはありません。<br />
<br />
でも、無料で提供することが出来ているんです。<br />
試用版でもないのに、なぜ、有料で提供しないのか、これって、もし、自分が社長なら同じようにするかと言うと、YESと言える人って、ほとんどいないと思います。<br />
<br />
IT業界にいる私も、当然、構築や設計、すべてが有料で仕事をしています。つまり、お客様から対価を頂いています。<br />
<br />
<b>このギャップは何なんだろう。</b><br />
<br />
<br />
この本を読んで、FREE(無料)を使うビジネスの考え方があることが分かりました。<br />
<br />
ちなみに、この本で言っている、FREE(無料)のビジネスは、おまけや試供品といったビジネスの仕方とは、明確に区別しています。<br />
また、要するに、広告収入を使っているのでしょ、という単純な話でもありません。 <br />
<br />
ビジネスの方法論、そのものです。<br />
作者の考察と理論付け、そして、実例をあげています。内容に厚みがあります。<br />
通勤中に読んだので、本の厚みもあり、カバンが重かったです・・・・<br />
<br />
<br />
<br />
<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="https://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4140814047" style="height: 240px; width: 120px;"></iframe>
<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='https://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
<br />
<br />
<br />
<div id="UMS_TOOLTIP" style="background-color: transparent; background-position: initial initial; background-repeat: initial initial; cursor: pointer; left: -100000px; position: absolute; top: -100000px; z-index: 2147483647;">
</div>
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-89746054834643170392013-05-08T17:55:00.000+09:002013-05-08T17:55:00.279+09:00Arduino統合開発環境『MariaMole』プロジェクト管理が充実した無料のArduino統合開発環境『MariaMole』。<br />
<br />
<br />
<a name='more'></a><br />
<br />
普段、使用しているArduinoIDEでは、物足りないプロジェクト管理ができる、Arduino統合開発環境が無料で利用できる <a href="http://dalpix.com/mariamole-download" target="_blank">MariaMole</a> 。<br />
<br />
ダウンロード <a href="http://dalpix.com/mariamole-download">http://dalpix.com/mariamole-download</a><br />
<br />
現在は、Windows版だけですが、 Linux and MacOS 版も今後リリースの予定とあります。<br />
<br />
ArduinoIDEだと、ちょっとだけ別なスケッチを見て、コピーしたいときにも、複数のウインドウを立ち上げる必要があったし、基本的にまとめるっていう発想は無かったので、統合開発環境だとスケッチを書く効率が上がりそうです。<br />
<br />
見た目も、格好良いです。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1G0hNuNeRmwmQ4n1ZOJQjQxFw-u5x8Qae7RecfD9CtvrAJGt5PBd6aohy6mglcPFZrKICgzDTwckFel29u_MegtRqqSQXvOmeKNx0VcxQG-dq3ZlvCv6yvXuQIOG00V6Je1R_cL-Dvps1/s1600/mariamole_screen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1G0hNuNeRmwmQ4n1ZOJQjQxFw-u5x8Qae7RecfD9CtvrAJGt5PBd6aohy6mglcPFZrKICgzDTwckFel29u_MegtRqqSQXvOmeKNx0VcxQG-dq3ZlvCv6yvXuQIOG00V6Je1R_cL-Dvps1/s1600/mariamole_screen.jpg" height="252" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-4956721197583979812013-05-01T17:55:00.000+09:002013-05-01T17:55:00.390+09:00UNOを使ってArduinoをブートローダーを書込Arduinoを自作したいと思ったことはありませんか。<br />
自分だけのオリジナルArduinoを自作したい思ったときの第一歩は、Arduinoのブートローダーの書込です。<br />
<br />
<a name='more'></a>自作のArduinoを作るためには、次のハードルをクリアする必要があります。<br />
<br />
1.AVRマイコンチップへのブートローダーの書き込み<br />
2.Arduino化した、AVRマイコンチップを動かすための回路基盤の作成<br />
3.ArduinoUNOと同様にするには、USBシリアル変換回路の作成<br />
<br />
3.のUSBシリアル変換回路は、必ずしも必要ではなく、スケッチを書き込んだAVRマイコンチップを基盤に乗せるのあれば不要です。<br />
<br />
<br />
<br />
今回取り上げるのは、1.のAVRマイコンチップへのブートローダーの書き込みです。<br />
<br />
電子部品を売っているお店で、ArduinoUNOに使われている<span class="wikiword">の同じAVRマイコンチップATmega328P-PUを購入してきても、Arduinoとしては使用できません。</span><br />
<span class="wikiword">なぜなら、ブートローダーといわれるソフトが入っていないからです。</span><br />
<span class="wikiword">ふだん、プログラムを書いているスケッチとは別物です。</span><br />
<br />
<span class="wikiword">ArduinoUNOは、AVRマイコンチップにArduinoのブートローダーが書き込まれていて、その上で動くスケッチがあって初めて、Arduinoになるんです。</span><br />
<br />
<span class="wikiword">ブートローダーの役割が分かったところで、どうやって、ブートローダーを書き込むかです。</span><br />
<span class="wikiword">手段は様々あるようですが、できれば、いろいろ購入せずに手持ちの部材で済ませたいです。</span><br />
<br />
<span class="wikiword">いちばん、お手軽なのは、手持ちのArduinoUNOを使う方法だと思います。</span><br />
<br />
<span class="wikiword">必要な材料は、以下のとおり。</span><br />
<span class="wikiword">・ArduinoUNO本体</span><br />
<span class="wikiword">・AVRマイコンチップ ATmega328P-PU (ArduinoUNOに使われているチップです)</span><br />
<span class="wikiword">・ブレッドボードとジャンプケーブル</span><br />
<span class="wikiword">・ブートローダーを書き込み用のファイル </span><br />
<span class="wikiword">・ArduinoIDEがインストールされているPC</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">実際に、WindowsPCでブートローダーを書き込んで実験してみたので、ブートローダーを書き込んでみたいという方は参考にしてください。</span><br />
<br />
<span class="wikiword">1.必要な材料をそろえましょう。</span><br />
<span class="wikiword"> AVRマイコンチップのATmega328には、いくつかの型番があります。</span><br />
<span class="wikiword"> 購入の際には表面の記載を必ず見て、ATmega328P-PUであることを確認しましょう。</span><br />
<span class="wikiword"> それ以外は、普段Arduinoを使ってスケッチを作っている方なら持っていると思います。</span><br />
<span class="wikiword"> 足りなかったら購入しましょう。</span><br />
<br />
<span class="wikiword">2.ブートローダーを書き込むためのファイルをダウンロードします。</span><br />
<span class="wikiword"> <a href="http://arduino.cc/forum/index.php/topic,28733.0.html">http://arduino.cc/forum/index.php/topic,28733.0.html</a></span><br />
<span class="wikiword"> 必要なファイルは、上のページにある、optifix.zip です。</span><br />
<br />
<span class="wikiword">3.ダウンロードしたZIPファイルを解凍して、ArduinoIDEがインストールされているフォルダへコピーします。</span><br />
<span class="wikiword"> </span><br />
<span class="wikiword"> 私の環境での例です。</span><br />
<span class="wikiword"> </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN0Cclpc6y1xCaG6h253gWgM8bwcgIgj_Y74S9o1ONIKv94tFH2sBvY-jL1JdlxBpRJ1xx-oiE9r-4IwH8VIWEdLwtxmLYoJB-YfdYdn_3F_a7SfnF4c054dKNvOIRyR9GsdfJJelwfRrW/s1600/folder.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN0Cclpc6y1xCaG6h253gWgM8bwcgIgj_Y74S9o1ONIKv94tFH2sBvY-jL1JdlxBpRJ1xx-oiE9r-4IwH8VIWEdLwtxmLYoJB-YfdYdn_3F_a7SfnF4c054dKNvOIRyR9GsdfJJelwfRrW/s1600/folder.png" height="149" width="320" /></a></div>
<br />
<br />
<span class="wikiword"> </span><br />
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword">コピーしたフォルダは、optifixフォルダです。</span><br />
<br />
<span class="wikiword">4.optiLoader.h ファイルだけ、内容を変更します。</span><br />
<span class="wikiword"> 解凍した、optifixフォルダ内には、2つのファイルがあります。</span><br />
<span class="wikiword"> optifix.pde と、 optiLoader.h です。</span><br />
<span class="wikiword"> optiLoader.hをメモ帳で開きます。</span><br />
<span class="wikiword"> 1行目の#include <WProgram.h> を #include <Arduino.h>へ変更し保存します。</span><br />
<br />
<span class="wikiword"> 5.ブートローダーを書き込むための配線をブレッドボードに組み上げます。</span><br />
<span class="wikiword"> <a href="http://arduino.cc/en/Tutorial/ArduinoISP">http://arduino.cc/en/Tutorial/ArduinoISP</a> から引用 </span><br />
<span class="wikiword"><br /></span>
<span class="wikiword"> 注意点は、</span><br />
<span class="wikiword"> AVRマイコンチップの向きを間違えないこと。</span><br />
<span class="wikiword"> この図だと、緑のケーブルでつないでいる左下が1番ピンです。</span><br />
<span class="wikiword"> チップの表面に丸ポチの目印があります。</span><br />
<span class="wikiword"> 赤のケーブルと黒のケーブルは電源とGNDなので、配線間違いでチップが破損します。</span><br />
<br />
<span class="wikiword"> もうひとつの注意点は、</span><br />
<span class="wikiword"> Arduino側の5Vピンに接続しているケーブルを、5V側で外しておくことです。</span><br />
<span class="wikiword"> こうすることで、ArduinoをUSBでPCへ接続した際に、AVRチップへの通電が</span><br />
<span class="wikiword"> されない状態にしておくことができます。チップへの通電タイミングが重要です。 </span><br />
<span class="wikiword"> </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcXw7rbEIgLy9SUdOeebXks0KIgbbO7TIxBklGfr4gKJ0hoCLw4JssiiK_ynHAXTKH_PQXUl2VKoo9WYPjwKhwoVfjOt0l6vGgkGjH0jXx9_L5uijNo_fYKl2RcDttvqnupvhjvLcyOe04/s1600/SimpleBreadboardAVR.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcXw7rbEIgLy9SUdOeebXks0KIgbbO7TIxBklGfr4gKJ0hoCLw4JssiiK_ynHAXTKH_PQXUl2VKoo9WYPjwKhwoVfjOt0l6vGgkGjH0jXx9_L5uijNo_fYKl2RcDttvqnupvhjvLcyOe04/s1600/SimpleBreadboardAVR.png" height="320" width="236" /></a></div>
<br />
<br />
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword"> </span><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span class="wikiword">6.念には念をいれて配線をチェックし、5V側の赤いケーブルが外れていることを確認します。</span><br />
<span class="wikiword"> 次に、ArduinoUNOとPCをUSBケーブルで接続します。</span><br />
<span class="wikiword"> ArduinoIDEを起動します。</span><br />
<br />
<span class="wikiword">7.シリアルモニターを開きます。</span><br />
<span class="wikiword"> 右下の通信速度を 19200bpsへ変更します。この変更をしないと、文字化けします。</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">8.optifixフォルダ内のoptifix.pdeを開きます。</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">9.開いたoptifix.pdeをArduinoへ転送します。普段と同じ操作です。</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">10.シリアルモニターを開きます。19200bpsになっていれば、次のように表示されているはずです。</span><br />
<span class="wikiword"><span class="wikiword">Bad value:0 は、AVRチップの通電がまだなので、ターゲットになるAVRチップが無いという意味なので心配要りません。</span> </span><br />
<span class="wikiword"><br /> OptiFix Bootstrap programmer.<br /> 2011 by Bill Westfield (WestfW)<br /><br /> Starting Program Mode [OK]<br /><br /> Reading signature: Bad value: 0<br /> (no target attached?)<br /><br /> Type 'G' or hit RESET for next chip</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">11..いよいよAVRチップへ通電します。5Vピンを接続します。</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">10.書き込みの操作します。シリアルモニターの指示通り、G を入力してArduinoへ送ります。</span><br />
<span class="wikiword"> この G は、実際に大文字で入力です。</span><br />
<span class="wikiword"></span><br />
<br />
<span class="wikiword">11.書き込みが開始されます。成功したときの画面ショットです。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN87sm6xgJVEJEBNOU1ip_wRAkAJecl1iCJ7IQuwGgQQnKKaWtVDkMTVd-CoIB719lVMNWHPpn6_vMvqw7E6_Xrj27qVaPZsRpfGNg5rpQzDFlkRv2oOAN9_1XybGRWSNP-6Oc_J3QJrUi/s1600/success.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN87sm6xgJVEJEBNOU1ip_wRAkAJecl1iCJ7IQuwGgQQnKKaWtVDkMTVd-CoIB719lVMNWHPpn6_vMvqw7E6_Xrj27qVaPZsRpfGNg5rpQzDFlkRv2oOAN9_1XybGRWSNP-6Oc_J3QJrUi/s1600/success.png" height="320" width="228" /></a></div>
<br />
<br />
<span class="wikiword"> </span><br />
<span class="wikiword"><br /></span>
<br />
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span class="wikiword">12.私の環境では、30秒もかからず、あっという間に完了します。</span><br />
<br />
<span class="wikiword">13.書き込まれた結果を確認するために、ArduinoをUSBとともに、いったん外します。</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword">14.AVRマイコンチップの通電も、ArduinoUNOの通電も無い状態を確認します。</span><br />
<br />
<span class="wikiword">15.書き込んだAVRマイコンチップと、ArduinoUNOに乗っているAVRマイコンチップを取替えっこします。</span><br />
<span class="wikiword"> ピンが曲がりやすいので、慎重に慎重に行いましょう。結構、硬くがっちり刺さっています。</span><br />
<span class="wikiword"> ArduinoUNOに、AVRマイコンチップを刺すときは、チップの向きに注意しましょう。</span><br />
<span class="wikiword"> 反対向きに刺すと、最悪、すべてが水の泡です。</span><br />
<br />
<span class="wikiword">16.取替えっこができたら、PCとArduinoUNO(チップは自作)を接続し、LED点滅のスケッチを転送してみましょう。[ファイル]-[スケッチの例]-[BASICS]-[BLINK]にあります。</span><br />
<br />
<span class="wikiword">17.ArduinoUNO上の13番LEDがチカチカしたら、大成功です。</span><br />
<span class="wikiword"><br /></span>
<span class="wikiword"><br /></span>
<span class="wikiword">今回、ArduinoUNOを壊してしまったらどうしようと、びくびくしながら作業しましたが、無事にできました。(@_-)v</span><br />
<br />
<br />
<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B009ALRR9M" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00076YM56" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hikimura38-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B009C03LC8" style="height: 240px; width: 120px;"></iframe>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-51563289054956885002013-04-22T17:55:00.000+09:002013-04-22T17:55:00.557+09:00Sleepと外部入力(タクトスイッチ)による復帰の仕方(その3)今回は、いよいよ、外部入力(タクトスイッチ)による復帰を完成させます。<br />
回路とスケッチを確認していきます。<br />
<br />
<a name='more'></a>回路図は以下のとおりです。<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN9OzR8C-XE5Sl_sEWrEth00ELA02V84sDqHH975nC6Rh5KrOTdwn5F6TA31QQ9T-SXOjP6-5abi7vOUuRT0EvHEXrqZ6wzsTVJ0xKgUuQNXXgBRSzxfRXmsYCtx95H9HmUl5Lr861gaUP/s1600/sleepANDWake.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN9OzR8C-XE5Sl_sEWrEth00ELA02V84sDqHH975nC6Rh5KrOTdwn5F6TA31QQ9T-SXOjP6-5abi7vOUuRT0EvHEXrqZ6wzsTVJ0xKgUuQNXXgBRSzxfRXmsYCtx95H9HmUl5Lr861gaUP/s1600/sleepANDWake.png" height="320" width="280" /></a></div>
赤い線は、<br />
Arduinoの5Vポート<br />
<br />
青い線は、<br />
Arduinoの2番ピン<br />
<br />
オレンジの線は、<br />
ArduinoのGND<br />
<br />
それぞれ接続します。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Arduinoの2番ピンは、割り込みID 0です。<br />
抵抗を入れているのは、大きい電流が流れるのを防止します。<br />
<br />
<br />
<br />
スケッチは、以下のとおりです。<br />
<br />
#include <avr/sleep.h><br />
#include <avr/interrupt.h><br />
<br />
int count=0;<br />
int ret=0;<br />
int pinNo=2;<br />
char val;<br />
<br />
void setup(){<br />
pinMode(2,INPUT);<br />
pinMode(13,OUTPUT);<br />
Serial.begin(9600);<br />
}<br />
void wakeup(){<br />
Serial.println("Wakeup!!");<br />
delay(100);<br />
}<br />
<br />
int sleepAndWakeup(int interruptNo){<br />
Serial.println("sleepAndWake Process start!!");<br />
delay(100);<br />
if(digitalRead(2)==LOW){<br />
Serial.println("PinNo.2 Low Level");<br />
delay(100);<br />
}else{<br />
Serial.println("PinNo2 High Level");<br />
delay(100);<br />
}<br />
Serial.println("sleep enable");<br />
delay(100);<br />
attachInterrupt(0,wakeup,FALLING);<br />
noInterrupts();<br />
set_sleep_mode(SLEEP_MODE_PWR_DOWN);<br />
sleep_enable();<br />
interrupts();<br />
sleep_cpu();<br />
sleep_disable();<br />
detachInterrupt(interruptNo);<br />
return 0;<br />
}<br />
<br />
void loop(){<br />
//Serial Output<br />
Serial.print(count);<br />
Serial.println(" sec");<br />
<br />
//LED Output<br />
if ((count % 2)==0){<br />
digitalWrite(13,HIGH);<br />
}else{<br />
digitalWrite(13,LOW);<br />
}<br />
<br />
count++;<br />
delay(1000);<br />
<br />
if (Serial.available()){<br />
val=Serial.read();<br />
if (val=='s'){<br />
Serial.println("Sleep mode start!!");<br />
delay(100);<br />
count=0;<br />
<br />
ret=sleepAndWakeup(pinNo);<br />
}<br />
<br />
}<br />
}<br />
<br />
長いので、パートに分けて、解説します。<br />
<br />
<i>#include <avr/sleep.h> </i><span style="color: #3d85c6;">この行と次の行でライブラリーを組み込んでいます。</span><br />
<i>#include <avr/interrupt.h> </i><span style="color: #3d85c6;"></span><i><br />int count=0; </i><span style="color: #3d85c6;">使用する変数を宣言しています。</span><i><br />int ret=0;<br />int pinNo=2;<br />char val;<br /><br />void setup(){ <br /> pinMode(2,INPUT); </i><span style="color: #3d85c6;">割り込みように使います。</span><i><br /> pinMode(13,OUTPUT); </i><span style="color: #3d85c6;">動作を概観から知るためです。</span><i><br /> Serial.begin(9600); </i><span style="color: #3d85c6;">シリアル通信を使うためです。</span><br />
<i>}</i><br />
<br />
<br />
<br />
ここからが今回のポイントです。休止と復帰の処理です。<br />
<br />
<br />
<i>void wakeup(){ </i><span style="color: #3d85c6;">復帰後の処理として呼び出されます。</span><i><br /> Serial.println("Wakeup!!");<br /> delay(100);<br />}<br /><br />int sleepAndWakeup(int interruptNo){ </i><span style="color: #3d85c6;">休止の処理です。</span><br />
<i> Serial.println("sleepAndWake Process start!!");<br /> delay(100);<br /> if(digitalRead(2)==LOW){ </i><span style="color: #3d85c6;">確認のため2番ピンの入力レベルを表示</span><i> Serial.println("PinNo.2 Low Level"); </i><span style="color: #3d85c6;">HIGHが正解です。</span><br />
<i> delay(100);<br /> }else{<br /> Serial.println("PinNo2 High Level");<br /> delay(100);<br /> }<br /> Serial.println("sleep enable");<br /> delay(100);<br /> attachInterrupt(0,wakeup,FALLING); </i><span style="color: #3d85c6;">0は割り込みIDを示しています。</span><i><br /> noInterrupts(); </i><span style="color: #3d85c6;">割り込みを無効にして休止を実行します。</span><i><br /> set_sleep_mode(SLEEP_MODE_PWR_DOWN); </i><span style="color: #3d85c6;">休止モードを指定します。</span><i><br /> sleep_enable(); </i><span style="color: #3d85c6;">休止処理を実行します。</span><i><br /> interrupts(); </i><span style="color: #3d85c6;">割り込みを有効にして復帰を待ちます。</span><i><br /> sleep_cpu(); </i><span style="color: #3d85c6;">CPUも休止します。</span><i> <br /> sleep_disable(); </i><span style="color: #3d85c6;">タクトスイッチが押されLOWレベルになる復帰開始</span><i><br /> detachInterrupt(interruptNo); </i><span style="color: #3d85c6;">割り込み処理を解除します。</span><br />
<i> return 0;<br />}</i><br />
<br />
<br />
<br />
休止と復帰を呼び出すLOOPの処理です。<br />
<br />
<i>void loop(){<br /> //Serial Output<br /> Serial.print(count); </i><span style="color: #3d85c6;">秒数を表示します。</span><i><br /> Serial.println(" sec");<br /> <br /> //LED Output </i><span style="color: #3d85c6;">LEDの点滅を処理します。</span><br />
<i> if ((count % 2)==0){<br /> digitalWrite(13,HIGH);<br /> }else{<br /> digitalWrite(13,LOW);<br /> }<br /> <br /> count++;<br /> delay(1000);<br /> <br /> if (Serial.available()){ <br /> val=Serial.read(); <br /> if (val=='s'){ </i><span style="color: #3d85c6;">sキーがシリアル通信で入力されたら、休止開始です。</span><br />
<i> Serial.println("Sleep mode start!!");<br /> delay(100);<br /> count=0;<br /> <br /> ret=sleepAndWakeup(pinNo); </i><span style="color: #3d85c6;">今回作成した休止の処理を呼び出します。</span><i><br /> }<br /> <br /> }<br />}</i> <br />
<br />
<br />
実行結果です。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4IZSnxcIa67SGMj8clriNCS2XzQ2_1YY2rMfi1IDaJjY1sScf3fsUt_gcF_HUX62xmuXenVxwdSprU-2gTbz97mMyse1BbQt7065QJuZvsrE3eNXGRTvTxPeGtK6RfWkznpmLnIzcNHa4/s1600/sleepresult.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4IZSnxcIa67SGMj8clriNCS2XzQ2_1YY2rMfi1IDaJjY1sScf3fsUt_gcF_HUX62xmuXenVxwdSprU-2gTbz97mMyse1BbQt7065QJuZvsrE3eNXGRTvTxPeGtK6RfWkznpmLnIzcNHa4/s1600/sleepresult.PNG" height="300" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
5秒後にsキーを送信し、しばらくしてから、ブレッドボード上にタクトスイッチを<br />
押して、復帰させています。<br />
<br />
実験成功です。<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-19202559185082552412013-04-14T17:55:00.000+09:002013-04-18T20:06:22.293+09:00Sleepと外部入力(タクトスイッチ)による復帰の仕方(その2)前回に引き続き、Sleepと外部入力による復帰の実装方法を考えます。<br />
<br />
今回のゴールは、シリアルコンソールからの指示でArduinoを休止させるです。<br />
<br />
標準でArduinoIDEに組み込まれている sleep.h ライブラリからスタートします。<br />
<br />
<a name='more'></a><br />
私の環境だと、ライブラリ本体のファイルは下記のパスにありました。<br />
C:\TOOL\arduino-1.0.3\hardware\tools\avr\avr\include\avr\sleep.h<br />
<br />
マニュアルは、以下のパスにありました。<br />
C:\TOOL\arduino-1.0.3\hardware\tools\avr\doc\avr-libc\avr-libc-user-manual\group__avr__sleep.html<br />
<br />
<br />
例として、次のように記載されています。<br />
<br />
#include <avr/sleep.h> ・・・この文はSleep関連の関数を使うために必要です。<br />
...<br />
set_sleep_mode(<mode>); ・・・Sleepモードを指定します。<br />
sleep_mode(); ・・・Sleepモードに入ります。<br />
<br />
と、ここで set_sleep_mode(<mode>); で引数になるmodeでは何を指定するかが知りたいです。<br />
これは、前回の表にあった、SleepModeです。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9251JA1hkt2rrp5fimn7nkR9AyMAdsR60T8lRaAConz1ajBuMLMPkREqMFznJpaIzdbxfPJkoWzkHyD9kyhAFitb_e6L4GAWtiO0WW1PP8SQdkoeVtm0jmLZFYlc5kqHrpbhT4kmyTgPd/s1600/sleepmode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9251JA1hkt2rrp5fimn7nkR9AyMAdsR60T8lRaAConz1ajBuMLMPkREqMFznJpaIzdbxfPJkoWzkHyD9kyhAFitb_e6L4GAWtiO0WW1PP8SQdkoeVtm0jmLZFYlc5kqHrpbhT4kmyTgPd/s1600/sleepmode.png" height="187" width="320" /></a></div>
<pre><b><code>Sleep mode と スケッチ内での指定値</code></b></pre>
<pre><code> idle ... SLEEP_MODE_IDLE
ADC ... SLEEP_MODE_ADC
</code><code>Power-down ... SLEEP_MODE_PWR_DOWN</code>
<code> Power-save ... SLEEP_MODE_PWR_SAVE
Standby ... SLEEP_MODE_STANDBY
</code></pre>
<pre><code>
</code></pre>
<pre><code>Power-Downを使いたいので、SLEEP_MODE_PWR_DOWN と書きます。</code></pre>
<pre><code> </code></pre>
<pre><code></code></pre>
<pre><code></code></pre>
<pre><b><code>休止モードの動作確認</code></b></pre>
<pre><code> シリアル接続でPC側から"s"を送信したらSleepモードに入ります。</code></pre>
<pre><code> 休止モードに入ったかどうかを外から分かるように、</code></pre>
<pre><code> 13番PinのLEDを点滅させます。</code></pre>
<pre><code> </code></pre>
<pre><code> </code></pre>
<pre><code>スケッチは、次のようになります。</code></pre>
<pre><code>
</code></pre>
<code><b>スケッチ</b><br />#include <avr/sleep.h><br /><br />int count=0;<br />char val;<br /><br />void setup(){<br /> set_sleep_mode(SLEEP_MODE_PWR_DOWN);<br /> pinMode(13,OUTPUT);<br /> Serial.begin(9600);<br />}<br /><br />void loop(){<br /> //Serial Output<br /> Serial.print(count);<br /> Serial.println(" sec");<br /> <br /> //LED Output<br /> if ((count % 2)==0){<br /> digitalWrite(13,HIGH);<br /> }else{<br /> digitalWrite(13,LOW);<br /> }<br /> <br /> count++;<br /> delay(1000);<br /> <br /> if (Serial.available()){<br /> val=Serial.read();<br /> if (val=='s'){<br /> Serial.println("Sleep mode start!!");<br /> delay(100);<br /> count=0;<br /> <br /> sleep_mode(); <br /> }<br /> <br /> }<br />}</code><br />
<br />
<b><code>スケッチの解説 << setup ブロック>></code></b><br />
<span style="color: #666666;"><i><code> </code><code>#include <avr/sleep.h><br /><br />int count=0;<br />char val;<br /><br />void setup(){<br /> set_sleep_mode(SLEEP_MODE_PWR_DOWN);<br /> pinMode(13,OUTPUT);<br /> Serial.begin(9600);<br />}</code></i></span><br />
<code><br /></code>
<br />
<i><code> </code><code><span style="color: #3d85c6;">#include <avr/sleep.h></span> </code></i><code>..... ライブラリを使うことを宣言。</code><br />
<code> お約束事項です。</code><br />
<br />
<i><code> <span style="color: #3d85c6;">set_sleep_mode(SLEEP_MODE_PWR_DOWN);</span> </code></i><code> </code><br />
<code> ..... スリープモード(休止モード)を決めます</code><br />
<code> 今回は、Power-Downモードです。 </code><br />
<code><br /></code>
<code><i><code> <span style="color: #3d85c6;">pinMode(13,OUTPUT);</span> </code></i><code>..... 動作確認用に13番ピンを出力指定。</code></code><br />
<code><i><code> <span style="color: #3d85c6;">Serial.begin(9600);</span> </code></i><code>..... シリアル接続ができるようにします。</code> </code><br />
<br />
<br />
<br />
<b><code>スケッチの解説 << loop ブロック>></code></b><br />
<br />
<i><code><code>void loop(){<br /> //Serial Output<br /> Serial.print(count);<br /> Serial.println(" sec");<br /> <br /> //LED Output<br /> if ((count % 2)==0){<br /> digitalWrite(13,HIGH);<br /> }else{<br /> digitalWrite(13,LOW);<br /> }<br /> </code></code></i><br />
<br />
<i><code><code><span style="color: #3d85c6;"><i><code><code>//Serial Output </code></code></i></span></code></code></i><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... シリアル出力へカウントアップ表示</span></code></code></span></code></code><br />
<code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code><i><code><code><span style="color: #3d85c6;"><i><code><code> Serial.print(count);<br /> Serial.println(" sec");</code></code></i></span> </code></code></i><br />
<i><code><code></code></code></i><br />
<i><code><code><i><code><code> <span style="color: #3d85c6;">//LED Output</span></code></code></i></code></code></i><i><code><code><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></i></code></code></i><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... ボード上(13番)のLEDを点滅させます。</span></code></code></span></code></code></span></code></code></code></code><br />
<i><code><code><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code> if ((count % 2)==0){ </span></code></code></i></code></code></i><code><code><code><code></code></code></code></code><code><code><code><code><span style="color: #3d85c6;"><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... 2で割った余りを使って </span></code></code></span></code></code></span></code></code></code></code></span></code></code></code></code><i><code><code><i><code><code><span style="color: #3d85c6;"> digitalWrite(13,HIGH); </span></code></code></i></code></code></i><code><code><code><code><span style="color: #3d85c6;"><code><code><code><code><span style="color: #3d85c6;"><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> 奇数と偶数で処理を分岐</span></code></code></span></code></code></span></code></code></code></code></span></code></code></code></code></span></code></code></code></code><br />
<i><code><code><i><code><code><span style="color: #3d85c6;"><code><code><code><code><span style="color: #3d85c6;"><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></span></code></code></code></code> }else{<br /> digitalWrite(13,LOW);<br /> }</span> </code></code></i></code></code></i><br />
<br />
<br />
<i><code><code><i><code><code> </code></code></i> count++;<br /> delay(1000);<br /> </code></code></i><br />
<i><code><code> </code></code></i><span style="color: #3d85c6;"><i><code><code> count++; </code></code></i><code><code></code></code></span><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... count変数を1増加させます。</span></code></code></span></code></code></span></code></code></code></code></code></code><i><code><code> </code></code></i></span><br />
<span style="color: #3d85c6;"><i><code><code> delay(1000); </code></code></i><code><code></code></code></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code> </code></code><code><code></code></code></span><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... 1000ミリ秒待ちます。つまり1秒待ちます。</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code><i><code><code> </code></code></i></span><br />
<br />
<i><code><code><br /> if (Serial.available()){<br /> val=Serial.read();<br /> if (val=='s'){<br /> Serial.println("Sleep mode start!!");<br /> delay(100);<br /> count=0;<br /> <br /> sleep_mode(); <br /> }<br /> }</code></code></i><br />
<i><code><code><br /></code></code></i>
<span style="color: #3d85c6;"><i><code><code> if (Serial.available()){ </code></code></i><code><code></code></code></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... シリアル通信の受信をチェック</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code><i><code><code> </code></code></i></span><br />
<span style="color: #3d85c6;"><i><code><code> val=Serial.read(); </code></code></i></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... 受信したんだから、val変数へ保存</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span><br />
<span style="color: #3d85c6;"><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span> if (val=='s'){ </code></code></i><code><code></code></code></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... val変数の内容が"s"かをチェック</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span><br />
<span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code><i><code><code> Serial.println("Sleep mode start!!"); </code></code></i></span><span style="color: #3d85c6;"><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></i></span><br />
<span style="color: #3d85c6;"><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... "s"だったので、スリープ開始!! と表示</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span><br />
<span style="color: #3d85c6;"><i><code><code> delay(100); </code></code></i></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... PC側へ表示の処理が届くのをチョッと待つ。</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span><br />
<span style="color: #3d85c6;"><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span> count=0; </code></code></i><code><code></code></code></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... count変数を0に初期化。休止するから</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span><br />
<span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> 不要だけど、きちんとしておきたいので。</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code><i><code><code> <br /> sleep_mode(); </code></code></i></span><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;">..... ここで、スリープモード開始</span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span></code></code></span><br />
<span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"></span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span></code></code><i><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><code><code><code><code><span style="color: #3d85c6;"><code><code><span style="color: #3d85c6;"><code><code><span style="color: black;"> </span></code></code></span></code></code></span></code></code></code></code></code></code></span></code></code></span></code></code></span></code></code></span> }<br /> }</code></code></i></span><br />
<i><code><code><br /></code></code></i>
<code><br /></code>
<br />
<br />
<code><b>接続図</b></code><br />
<code>いわゆるシリアル接続だけの直結です。あえて、絵にするまでも無かったですが。(笑) </code><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie0pGQ0SL__3nXSDThCDznzPatQa2OvT_h13Kzlouw6O9cIFEWo0zIFJaEM7iMvukrpE0i1JpKqiJ4DFKY4QLjSQ-5adMbrz8zcUYTtjWr3hKK-R9AsG97eer7Y-f7-SRag54YYRm8Zyo8/s1600/arduino.pc_powerdown.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie0pGQ0SL__3nXSDThCDznzPatQa2OvT_h13Kzlouw6O9cIFEWo0zIFJaEM7iMvukrpE0i1JpKqiJ4DFKY4QLjSQ-5adMbrz8zcUYTtjWr3hKK-R9AsG97eer7Y-f7-SRag54YYRm8Zyo8/s1600/arduino.pc_powerdown.png" height="98" width="200" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>実験</b><br />
実際に、動かしたときのシリアルモニターの表示です。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizgu5CMYUH6ls4Ety4Zq24NTr3CleNR36HHdqe9z3lc-7zizNaJq9yK0eBQzL4zDRntingpcicsc_13Mx6KWofre4GAc6mwPi9xUoTfn9w4aZNryOEVa1jq7-vg8CKn7g0dm8ffC1mUbgW/s1600/sleep21.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizgu5CMYUH6ls4Ety4Zq24NTr3CleNR36HHdqe9z3lc-7zizNaJq9yK0eBQzL4zDRntingpcicsc_13Mx6KWofre4GAc6mwPi9xUoTfn9w4aZNryOEVa1jq7-vg8CKn7g0dm8ffC1mUbgW/s1600/sleep21.png" height="267" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
0 secから、1秒毎に、カウントアップされ表示されます。 <br />
8sec が表示されたあたりで、PCから s を送信しました。<br />
<br />
ボード上のLEDも一秒毎にチカチカしていましたが、それも止まります。 <br />
<br />
実験、成功です。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<pre><code>
</code></pre>
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-7152122422947023832013-04-10T17:55:00.000+09:002013-04-17T22:41:32.500+09:00要注意 Arduino Uno破壊してしまう回路ショッキングなタイトルですが、大切なArduino Unoを守るためにとても参考になりました。<br />
<br />
基本的なことから丁寧に記載されています。<br />
<br />
<a name='more'></a><br /><br />
これだけはなるな ! Arduino Unoを破壊する10の回路 <br />
<a href="http://arduino-japan.com/article/31">http://arduino-japan.com/article/31</a><br />
<br />
いろいろ、回路を試しているときに、つい。この、"つい"で、大きな後悔に。<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-57626674711708959972013-03-22T17:55:00.000+09:002013-04-18T20:06:02.832+09:00Sleepと外部入力(タクトスイッチ)による復帰の仕方(その1)今回はArduinoの消費電力を軽減するために、Sleep(休止)と外部入力による復帰の仕方です。<br />
<br />
センサー入力がない間は、消費電力を抑えるために、ArduinoをSleepさせておきたい。<br />
でも、ずっとSleepでは意味がないので、復帰もできる。簡単に言えば省エネですね。<br />
<br />
<a name='more'></a>まずは、Sleepについてです。<br />
Arduinoに使用されているATMEGA328Pのデータシートの 『Power management and sleep modes』を見ると、いくつかのSleepモードが選択できることがわかります。また、復帰方法についても、それぞれ異なっていることがわかります。<br />
<br />
<a href="http://www.atmel.com/Images/doc8161.pdf">http://www.atmel.com/Images/doc8161.pdf</a> 39ページあたりです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfTEx-xBpHOg8VU8V1BTAKCl4s7VXyyaDdtynV0kEpQz6ip1gMMwznRBxt1GK9EP3pXVE-vbMD1Iq0EP5_tMpqajrNqV_UAHfMtx0IAZBFoZgShM80cXUOlE4K5lxk8qkA-sgDedyYkgZf/s1600/sleepmode.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfTEx-xBpHOg8VU8V1BTAKCl4s7VXyyaDdtynV0kEpQz6ip1gMMwznRBxt1GK9EP3pXVE-vbMD1Iq0EP5_tMpqajrNqV_UAHfMtx0IAZBFoZgShM80cXUOlE4K5lxk8qkA-sgDedyYkgZf/s1600/sleepmode.png" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
今回はPower-downモードを使いたいと思います。理由は一番消費電力が少なさそうだからです。</div>
<div class="separator" style="clear: both; text-align: left;">
そして、 Wake-up sourcesの列を見ると、INT1,INT0 and pin change と記載されているので外部入力によってWake-up(復帰)できそうなことがわかります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
PCでも休止モードとして聞き覚えのある、アイドルやスタンバイ、パワーセーブモードも選択できることがわかります。でも、今回使うのではパワーダウンモードです。</div>
<div class="separator" style="clear: both; text-align: left;">
復帰方法には、タイマーも使えることがわかります。それ以外は、わからないので割愛です。</div>
<br />
機能があることは分かったので、次はどう実装するかです。<br />
<br />
<br />
Gooleで検索すると、ライブラリーが公開されていますが、ブラックボックス化しないで自分で理解したいと思い、さらに調べてみます。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-10879969609932601762013-03-09T17:55:00.000+09:002013-03-10T08:01:17.908+09:00最近の円安トレンドが気になり最近の円安トレンドが気になり、FXをはじめてみました。<br />
<br />
世の中は本当に劇的に変化します。<br />
<br />
昨年末からの円安トレンドはすごいです。<br />
このトレンドに乗り遅れるのは、もったいないのでFXをはじめました。<br />
<br />
FXを取り扱っている会社の比較 比較ページも作ってみました。<br />
興味があれば、右のFX会社比較をどうぞ。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-32086886320644346182013-01-27T17:55:00.000+09:002013-01-27T17:55:00.676+09:00レンタルサーバーを探してみました現在は、Bloggerを使用していますが、ちょっと不便を感じることがあります。<br />
制約とも言えますが。無料だし、レスポンスも悪くないのでワガママは言えないんですが。<br />
<br />
Bloggerは悪く無いですよ(フォローしてみたり)<br />
<br />
自分が借りるつもりで、レンタルサーバーを探してみました。<br />
<br />
<a name='more'></a>Googleで、レンタルサーバーというキーワードで検索すると、膨大な数がヒットします。<br />
企業が借りるような、月々数万円、数十万円というものありますが、そんなハイスペックなものは必要ありません。 <br />
<br />
あんまり小規模な感じがするところと、不親切な説明のところは、あとあと苦労するのが、目に見えているので却下します。<br />
<br />
会員登録しないとサービス内容が不明なところも同じく却下です。無料でも個人情報を入力は気が進みません。<br />
<br />
『国内最大級の個人向けレンタルサーバー』というキーワードが気になり、<br />
<a href="http://px.a8.net/svt/ejp?a8mat=25H1X2+C4ER76+348+5YZ76" target="_blank">レンタルサーバー!ロリポップ!</a><img alt="" border="0" height="1" src="http://www13.a8.net/0.gif?a8mat=25H1X2+C4ER76+348+5YZ76" width="1" /> を見てみました。<br />
<br />
名前は前から知っていましたが、何より、お手軽な価格で、キチンと使いたい機能は揃っている印象です。個人向けレンタルサーバーの大手というだけあります。<br />
『WordPressやMovableTypeの簡単インストール』とあるし、『WEBメーラー』や『ショッピングカート』も使えるとあります。<br />
<br />
値段表は、以下のとおりです。(初期費用が別途、約1,500円くらいです)<br />
<br />
・「コロリポプラン」…105円/月 5GB<br />
・「ロリポプラン」…263円~/月 30GB<br />
・「チカッパプラン」…525円~/月 60GB<br />
<br />
支払い方法も、銀行・郵便局、クレジットカード以外にコンビニも使えるのは便利です。<br />
<br />
ここなら、お金出しても良いと思います。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-18261927677155367642013-01-01T17:55:00.000+09:002013-01-01T17:55:00.222+09:00ArdinoでDHCPを試してみるあけましておめでとうございます。 <br />
今年も、初心者だけど、一歩ずつArduinoをよろしくお願いいたします。<br />
<br />
今回は、Arduino+Ethernetシールドを使って、DHCP機能を試してみます。<br />
<br />
<a name='more'></a><br />
下記のような配置でDHCP機能を試します。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRf_5O4Y4sOdm9dsr6TySg2EkDd-qYXaM2cHy_k9qrCoOOJM5ca4wBVd756RZ8_tDJrZ5J-ITIXSrzdtgUybSynYcgtAmm5c1dAmfnWRw62TvNhubyWElX1AAItH0kpSg1GBIZOjrWX8sd/s1600/LAN_DHCP.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRf_5O4Y4sOdm9dsr6TySg2EkDd-qYXaM2cHy_k9qrCoOOJM5ca4wBVd756RZ8_tDJrZ5J-ITIXSrzdtgUybSynYcgtAmm5c1dAmfnWRw62TvNhubyWElX1AAItH0kpSg1GBIZOjrWX8sd/s320/LAN_DHCP.png" width="320" /></a></div>
<br />
ArduinoではDHCPクライアントを動かし、ネットワーク機器からDHCP機能を使って、IPを貰い受けます。<br />
<br />
そもそも、DHCPって何?<br />
<br />
前回、Ethernetシールドを使った際に、シールドへIPアドレスを指定しました。<br />
サーバとして使う場合には、IPを指定したほうが使い安いですね。ブラウザのURLのところに入力するのにアドレスが決まっていなかったら困ります。 <br />
<br />
DHCP機能とは、DHCPクライアントがDHCPサーバに対して、IPを頂戴って、要求すると、DHCPサーバが自分の持っているIPアドレスの中から、誰にも使わせていないIPを、これをどうぞって、渡される機能です。DHCPクライアントは、渡されたIPを自分のIPとして設定し使います。<br />
<br />
どのPCがどのIPを使っているかは、DHCPサーバが管理してくれるので、PCやArduino側としては、使っていないIPを頂戴というだけなので、楽ちんです。<br />
<br />
もちろん、その時その時の空き状況によるので、毎回同じIPになるとは限りません。<br />
<br />
※パソコンを起動し、そのあとArduinoを起動するという順番で、全部で2台しか無い、上の絵では、<br />
いつも同じIPですね(笑)<br />
<br />
<br />
arduinoのスケッチです。サンプルを使用します。<br />
<br />
<br />
#include <SPI.h><br />
#include <Ethernet.h><br />
<br />
// Enter a MAC address for your controller below.<br />
// Newer Ethernet shields have a MAC address printed on a sticker on the shield<br />
<span style="color: red;"><b>byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x99, 0x80 };</b></span><br />
<br />
// Initialize the Ethernet client library<br />
// with the IP address and port of the server <br />
// that you want to connect to (port 80 is default for HTTP):<br />
EthernetClient client;<br />
<br />
void setup() {<br />
// Open serial communications and wait for port to open:<br />
Serial.begin(9600);<br />
// this check is only needed on the Leonardo:<br />
while (!Serial) {<br />
; // wait for serial port to connect. Needed for Leonardo only<br />
}<br />
<br />
// start the Ethernet connection:<br />
if (Ethernet.begin(mac) == 0) {<br />
Serial.println("Failed to configure Ethernet using DHCP");<br />
// no point in carrying on, so do nothing forevermore:<br />
for(;;)<br />
;<br />
}<br />
// print your local IP address:<br />
Serial.print("My IP address: ");<br />
for (byte thisByte = 0; thisByte < 4; thisByte++) {<br />
// print the value of each byte of the IP address:<br />
Serial.print(Ethernet.localIP()[thisByte], DEC);<br />
Serial.print("."); <br />
}<br />
Serial.println();<br />
}<br />
<br />
void loop() {<br />
<br />
}<br />
<br />
<b><span style="color: red;">赤字</span></b>の部分は、macアドレスなので、自分のシールドに書いてある数値へ変更が必要です。<br />
<br />
DHCP機能によりIPを取得しているのは、<br />
<br />
Ethernet.begin(mac)<br />
<br />
の部分です。<br />
DHCP接続が成功したときは1(int)、失敗時は0 として、返り値があります。<br />
<br />
実際に、スケッチを試してみると、難なく成功です。<br />
PCからのpingへも反応し、バッチリでした。<br />
<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com4tag:blogger.com,1999:blog-5905353113735577683.post-710574236316922442012-12-31T17:55:00.000+09:002013-01-01T08:11:35.555+09:00Arduino IDEでエラー発生Arduinoで、いつものように実験していると、Arduino IDEでエラーが発生。<br />
<br />
コンパイルが終わって、Arduino本体へ 書き込みが終わる寸前です。<br />
エラーメッセージは、次のように。<br />
<br />
<span style="color: orange;"><b>avrdude: stk500_getsync(): not in sync: resp=0x30</b></span><br />
<br />
<br />
<a name='more'></a>エラーの文字列をそのまま、検索してみました。<br />
『avrdude: stk500_getsync(): not in sync: resp=0x30』<br />
<br />
<br />
リセットボタンを押すと良いとか、(もちろん、試してみました)<br />
<br />
ArduinoIDEの再起動を行うと良いとか、(そういうこともあるかと思い、試しました)<br />
<br />
故障として交換を頼んだとか、(えっ、これって、機械的に壊れたの)<br />
<br />
<br />
<br />
<br />
試してみたけど(交換以外)、現象が変わらないので、このエラーを無視しようかと、<br />
現実逃避してみたものの<br />
<br />
<br />
<br />
Arduinoへの書き込みが出来ていない事実には、変わりはなく・・・<br />
<br />
<br />
ふと、ArduinoIDEの画面に書いてある、Comポートの番号が気になりました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQc3HmZLRWAq1_YXALS_GBw3z_ub1dHdxQFAQkPqnh7aSx5nDe607FbtWww-rPb3AMYlefq-Gln8KNP019ZGNrZDQh75rAsgiyKYsZuq-Dp5JTYh87OxV7lm6wq70E4ND_11bGIrlalaKz/s1600/comport3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQc3HmZLRWAq1_YXALS_GBw3z_ub1dHdxQFAQkPqnh7aSx5nDe607FbtWww-rPb3AMYlefq-Gln8KNP019ZGNrZDQh75rAsgiyKYsZuq-Dp5JTYh87OxV7lm6wq70E4ND_11bGIrlalaKz/s1600/comport3.png" /></a></div>
<br />
<br />
<br />
<br />
この数値は、ArduinoIDEがArduino本体と通信するときのポート番号です。<br />
<br />
Windowsが認識しているポート番号を見てみました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFw8VloTzdcyPAoQauVF0GsM0mfeR2gpl48yRVCOFP32Ihwmx_lBVoNkiPMq6ZrUDAUA7KKut8xGa0dFWkFFB_rFKPbhFRbDxi1BNa96qeRIxh5ciFpmo-1x_ml3BdadAE8z0hvYPY9iIJ/s1600/device.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFw8VloTzdcyPAoQauVF0GsM0mfeR2gpl48yRVCOFP32Ihwmx_lBVoNkiPMq6ZrUDAUA7KKut8xGa0dFWkFFB_rFKPbhFRbDxi1BNa96qeRIxh5ciFpmo-1x_ml3BdadAE8z0hvYPY9iIJ/s1600/device.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
COM11です。<br />
<br />
つまり、WindowsOSは、Com11と認識しているのに、ArduinoIDEは、ありもしない、Com3ポートへ向かって書き込み処理をしていることになります。<br />
<br />
さっそく、ArduinoIDEのツールメニューから、シリアル・ポート番号をCOM11へ変更しました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEIEsXcfKLv2IP5iWQ6UIilBIpRgRI87Pbyo4QhpJB9bWjZl2Bx_vCU9qNEBLJXOHM0YAOb-wMYSSxSRGm5Ci8qLszpCE2tG6PRSmrmNDHHJqhyphenhyphenmMqYqO_ZAGO1WfLLU2yv_376ZQLJn8w/s1600/comport11.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEIEsXcfKLv2IP5iWQ6UIilBIpRgRI87Pbyo4QhpJB9bWjZl2Bx_vCU9qNEBLJXOHM0YAOb-wMYSSxSRGm5Ci8qLszpCE2tG6PRSmrmNDHHJqhyphenhyphenmMqYqO_ZAGO1WfLLU2yv_376ZQLJn8w/s1600/comport11.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
もういちど、書き込みを行なってみます。<br />
<br />
エラー無しです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCpGd8S_3vTFMgP8dJECZiMLWjTn35lk6dN6I29_yY-bjGFK_ZgTcg_fb9el_z_Is6UBPjGGy_Rp2pm7j-cOhE6CUr09qY3kzzTypnQN7cbSerD5lg-QQMQiZAWdWI429nTK_8L4EG-IE/s1600/ok.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMCpGd8S_3vTFMgP8dJECZiMLWjTn35lk6dN6I29_yY-bjGFK_ZgTcg_fb9el_z_Is6UBPjGGy_Rp2pm7j-cOhE6CUr09qY3kzzTypnQN7cbSerD5lg-QQMQiZAWdWI429nTK_8L4EG-IE/s400/ok.png" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
回復しました。同じエラーが出て困っている方の参考になると幸いです。<br />
<br />
<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com2tag:blogger.com,1999:blog-5905353113735577683.post-40662701582501339782012-12-29T17:55:00.000+09:002012-12-30T07:39:52.637+09:00Processing ControlP5 Sliderコントロール使い方 その3Processingで使用するライブラリ、ControlP5のSliderコントロールの使い方を2回行いましたが、どちらも横方向に調整できるものでした、今回は、縦方向にに調整できるようにしてみます。<br />
<br />
<a name='more'></a>まずは、実行例を見てみます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7GIR81cASQQWWNEJxQYzrgdZi-MR4SLdSflr5FFdIeXNAgIkQwQefEgXgKoEbBmXtbcHrBuymnX9LsSyyaBnOBlmLg25Orq4AmgrRinWLbF2klQRx9EMmNSzxs9osFfXv3GEL4VB8_a8Y/s1600/slider2-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7GIR81cASQQWWNEJxQYzrgdZi-MR4SLdSflr5FFdIeXNAgIkQwQefEgXgKoEbBmXtbcHrBuymnX9LsSyyaBnOBlmLg25Orq4AmgrRinWLbF2klQRx9EMmNSzxs9osFfXv3GEL4VB8_a8Y/s320/slider2-1.png" width="294" /></a></div>
<br />
このように縦長のコントロールとしてSliderコントロールを配置するには、コントロールのsetSizeプロパティーを指定します。<br />
<br />
スケッチ例です。<br />
import controlP5.*;<br />
<br />
ControlP5 cp5;<br />
//int myColor = color(0,0,0);<br />
int sliderValue = 100;<br />
<br />
void setup() {<br />
<b><span style="color: blue;">size(300,300);</span></b><br />
noStroke();<br />
cp5 = new ControlP5(this);<br />
cp5.addSlider("sliderValue")<br />
.setPosition(100,50)<br />
.setRange(0,255)<br />
.setNumberOfTickMarks(5)<br />
<b><span style="color: blue;">.setSize(100,200)</span></b><br />
;<br />
}<br />
<br />
void draw() {<br />
background(sliderValue);<br />
<br />
fill(sliderValue);<br />
rect(0,0,300,200);<br />
}<br />
<br />
前回のSliderコントロールのサンプルスケッチと違うのは、青字の2箇所です。<br />
画面サイズについては、コントロールを縦長に配置する都合で、300ピクセル×300ピクセルに変更しました。<br />
<br />
そして、コントロールを縦長にするために設定したのが、<br />
.setSize(100,200) の部分です。<br />
<br />
横方向に100ピクセル、縦方向に200ピクセルで指定しました。<br />
ControlP5では、setSizeで指定した縦方向の数値が大きいと縦長に、横方向の数値が大きいと横長に表示されます。<br />
<br />
これで、Sliderコントロールは完全マスターです。<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-66494143576866073582012-12-27T17:55:00.000+09:002012-12-29T11:47:22.237+09:00Arduino イーサネットシールド R3を試してみる前回に引き続き、今回はArduino イーサネットシールド R3を実際に試してみます。<br />
ArduinoをWebサーバにしてみようと思います。<br />
<br />
<a name='more'></a>LANの配線図は、前回と同様です。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9LhT8yOWZ0TT3CJlu_8AUWYjrVFpmDbwLcp7nteSoTKzvktnx1xcseQB0tqfwkFPYH3E1sZB9v2v9hAG_LPU8MqOy3yUtLT5J4vmt2M8SsDwvCau7QooGkYBdXTXkxkfEIIw7y7IhO45-/s1600/LAN.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9LhT8yOWZ0TT3CJlu_8AUWYjrVFpmDbwLcp7nteSoTKzvktnx1xcseQB0tqfwkFPYH3E1sZB9v2v9hAG_LPU8MqOy3yUtLT5J4vmt2M8SsDwvCau7QooGkYBdXTXkxkfEIIw7y7IhO45-/s320/LAN.png" width="320" /></a></div>
ArduinoをWEBサーバにするスケッチは、サンプルが用意されているので、それを使います。2箇所変更する必要があります。<br />
<br />
まず、WEBサーバにするサンプルのスケッチは、ArduinoのIDEを起動し、[ファイル]-[スケッチ例]-[Ethernet]-[WebServer]を選択すると、まるっと、コピーされます。<br />
<br />
【 Webサーバ用スケッチ】<br />
#include <SPI.h><br />
#include <Ethernet.h><br />
<br />
// Enter a MAC address and IP address for your controller below.<br />
// The IP address will be dependent on your local network:<br />
byte mac[] = { <br />
<span style="color: blue;"><b>0x90, 0xA2, 0xDA, 0x0D, 0x99, 0x79 };</b></span><br />
IPAddress ip(<span style="color: blue;"><b>192,168,20,100</b></span>);<br />
<br />
// Initialize the Ethernet server library<br />
// with the IP address and port you want to use <br />
// (port 80 is default for HTTP):<br />
EthernetServer server(80);<br />
<br />
void setup() {<br />
// Open serial communications and wait for port to open:<br />
Serial.begin(9600);<br />
while (!Serial) {<br />
; // wait for serial port to connect. Needed for Leonardo only<br />
}<br />
<br />
<br />
以下続く・・・<br />
<br />
長いので省きましたが、上のスケッチの青字の部分を、自分の環境にあわせて書き換える必要があります。<br />
<br />
<b>1.macアドレスの変更</b><br />
byte mac[] = { <br />
<span style="color: blue;"><b>0x90, 0xA2, 0xDA, 0x0D, 0x99, 0x79 };</b></span><br />
<br />
<span style="color: blue;"><span style="color: black;">この値は<span style="color: blue;">、<span style="color: black;">実は、イーサネットシールドの裏側にシールが貼ってあり、その値を入れる必要があります。グサッと刺すときにメモするのを忘れたので、私は、一度、外してメモしました。</span></span></span></span><br />
<br />
macアドレスって、何?<br />
LANのボード(ネットワークボード)を区別するための、IDです。原則、世の中に出回っているネットワークボードのIDは全部異なるIDが付与されています。<br />
<br />
もし、お使いのパソコンがWindowsだったら、コマンドラインから、ipconfig /all と入力してみて下さい。Physical Address という表記で、パソコン に搭載されているネットワークボードのmacアドレスが表示されているはずです。<br />
<br />
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: black;"><b>2.IPアドレスの変更</b></span> </span></span></span></span></span></span><br />
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"> </span></span></span></span></span></span><span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;">IPAddress ip(<span style="color: blue;"><b>192,168,20,100</b></span>);</span></span></span></span></span></span><br />
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><br /></span></span></span></span></span></span>
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: black;">今回は、パソコンのIPアドレスが192.168.20.2なので、Arduinoには、192.168.20.100を設定しました。</span></span></span></span></span></span></span><br />
<br />
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: black;">IPアドレスって何?</span></span></span></span></span></span></span><br />
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: black;">macアドレスは物理的な識別をする為のIDに対して、パソコンを識別するためのIDがIPアドレスです。パソコンが使っているIPアドレスを知りたい時には、Windowsだったら、コマンドラインからipconfig で表示されます。</span></span></span></span></span></span></span><br />
<br />
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: black;">同じLANの中で、同じ IPアドレスは使えません。なぜって、どっちがどっちか、区別できなくなってしまうから。だから、最後(一番右端の数字)が異なるようにして下さい。(←激しく、ざっくりした説明 )</span></span></span></span></span></span></span><br />
<br />
ネットワークの知識なので、わからなかったら飛ばしても良いと思いますが、<br />
キチンと書くと、同じLANと言う為には、ネットワークアドレスが同じであるということになります。<br />
ネットワークアドレスは、サブネットマスクによって区別される、ネットワーク部分が同じであることでする。<br />
192.168.20.2 というIPアドレスで、サブネットマスクは255.255.255.0 とすると、<br />
ネットワーク 部分は、192.168.20.0<br />
ホスト部分は、2 です。<br />
<br />
なので、Arduinoに指定するIPアドレスは、同じネットワーク・アドレスを持ち、異なるホスト部分である必要から、192.168.20.100にしました。ちなみに、ホスト部分に 0 と255は使えません。1から254までにしてください。<br />
外にパソコンやルータを使っているならば、それらのIPアドレス と重複してもダメです。<br />
<br />
<br />
<br />
結局のところ、macアドレスとIPアドレスを変更したスケッチをArduinoへ転送します。<br />
<br />
転送が完了したら、いよいよテストです。<br />
<br />
まずは、疎通確認から行います。<br />
コマンドラインからpingコマンドで疎通確認をします。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaXsxM8DMm2YqiIinqSRxzAKfGZ_J5yZExDZS9C2bepE4iSnKYvfTHvYHI3h5d1qJTm3boqkbVZYsh_p3asuscih1bdLg3W6FqqDndDNxGFG7vNgWHjHyk4FnJZpmCEPkwTJpTP_21Sz0m/s1600/ping.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaXsxM8DMm2YqiIinqSRxzAKfGZ_J5yZExDZS9C2bepE4iSnKYvfTHvYHI3h5d1qJTm3boqkbVZYsh_p3asuscih1bdLg3W6FqqDndDNxGFG7vNgWHjHyk4FnJZpmCEPkwTJpTP_21Sz0m/s320/ping.png" width="320" /></a></div>
<span style="color: blue;"><span style="color: black;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"><span style="color: blue;"> </span> </span></span></span></span></span></span></span></span></span></span></span> <br />
ReplyはパソコンからArduinoへping(ICMP)というパケットを投げた時にArduinoから返答し、それが届いたことを示しています。4回投げて、4回帰ってきたという結果です。<br />
良好です。<br />
<br />
次に、ブラウザから、Arduinoへアクセスしてみます。<br />
ブラウザのURL欄へ、http://192.168.20.100 と入力します。<br />
このURLは、もちろん、さきほどArduinoへ指定したIPアドレスと同じです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF-kdbH-O2DsA9QCedd_BROcGhSgL1xWeziaNLtxAbqgPdaJpZKMVH13uolbQUlEbs_i2B4KE64reQr0u8pGEliZAq9POnoO6uh2NtgUzzvd9gsxD9O4CFCSETE2Z3rNSfu8LHbEShdscg/s1600/brow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF-kdbH-O2DsA9QCedd_BROcGhSgL1xWeziaNLtxAbqgPdaJpZKMVH13uolbQUlEbs_i2B4KE64reQr0u8pGEliZAq9POnoO6uh2NtgUzzvd9gsxD9O4CFCSETE2Z3rNSfu8LHbEShdscg/s320/brow.png" width="320" /></a></div>
<br />
結果良好です。<br />
Arduinoに流したWebサーバのサンプルスケッチ では、analogピンの入力電圧を検出するスケッチだったので、上記のような表示がされています。でも、Arduinoのanalogピンに何も接続していないですね。なので、でたらめな数値が表示されています。<br />
試しに、analogピンとGNDを結線すると、0になります。<br />
<br />
Arduino ネットワークデビュー成功です。<br />
<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-11914069418433851592012-12-26T17:55:00.000+09:002012-12-30T07:40:14.502+09:00Arduino イーサネットシールド R3を購入しましたArduino イーサネットシールド R3 を購入しました。<br />
<br />
このシールドには、LANの接続だけでなく、マイクロSDメモリーが使えるスロットがついています。<br />
<br />
<a name='more'></a><br />
ちょっとお得な感じです。例えば、マイクロSDメモリーにセンサーで検出した値を保存しておき、パソコンにファイルとしてコピーなんていう使い方もできます。<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/B003YXPPD2/ref=as_li_ss_il?ie=UTF8&tag=hikimura38-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B003YXPPD2"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&Format=_SL160_&ASIN=B003YXPPD2&MarketPlace=JP&ID=AsinImage&WS=1&tag=hikimura38-22&ServiceVersion=20070822" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-22&l=as2&o=9&a=B003YXPPD2" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
なので、ついでにマイクロSDメモリも購入しました。SDHCは使えないという情報もあったので、2GBのマイクロSDメモリにしました。PCで使えるアダプター付きで300円弱でした。メモリって本当に安くなりました。<br />
<br />
家に帰って、早速接続しました。<br />
<br />
Arduinoの上から、グサッと イーサネットシールドを差し込みます。<br />
思ったよりもイーサネットシールドの足が長いです。<br />
<br />
別に難しいことはなく、文字通り刺すだけです。 <br />
<br />
LANケーブルを使って、ネットワークをつなぎます。PCとシールドを同じHUBにつなぐだけです。<br />
下の絵は、イーサネットシールドだけしかありませんが、実際には、Arduinoと合体させたイーサネットシールドをつないでいます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9LhT8yOWZ0TT3CJlu_8AUWYjrVFpmDbwLcp7nteSoTKzvktnx1xcseQB0tqfwkFPYH3E1sZB9v2v9hAG_LPU8MqOy3yUtLT5J4vmt2M8SsDwvCau7QooGkYBdXTXkxkfEIIw7y7IhO45-/s1600/LAN.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9LhT8yOWZ0TT3CJlu_8AUWYjrVFpmDbwLcp7nteSoTKzvktnx1xcseQB0tqfwkFPYH3E1sZB9v2v9hAG_LPU8MqOy3yUtLT5J4vmt2M8SsDwvCau7QooGkYBdXTXkxkfEIIw7y7IhO45-/s320/LAN.png" width="320" /></a></div>
<br />
<br />
次回は、実際に動かしてみたいと思います。<br />
<br />
<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-62781542806143292152012-12-24T17:55:00.000+09:002012-12-30T07:39:26.649+09:00Processing ControlP5 Sliderコントロール使い方 その2ControlP5のSilder(スライダ)コントロールの使い方の2回目です。<br />
<br />
今回は、目盛りのあるSlider コントロールの使い方をマスターします。<br />
<br />
<a name='more'></a><br /><br />
目盛りのあるSliderの外観です。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJXpC6Qm8bR0SIkKt-JCBye1ANCetMVmxry5JiaV-sZ_lDbaZlw2LsnNq9_7dhxzME39Br2TOmlv8RpwOdk4HllFJQeqLcNmTqmMvwEosl1Z37OPuiYDU6eQIxJVl406qNKfvDjNJiEcV/s1600/slider2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJXpC6Qm8bR0SIkKt-JCBye1ANCetMVmxry5JiaV-sZ_lDbaZlw2LsnNq9_7dhxzME39Br2TOmlv8RpwOdk4HllFJQeqLcNmTqmMvwEosl1Z37OPuiYDU6eQIxJVl406qNKfvDjNJiEcV/s1600/slider2.png" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
その1でマスターしたSliderと違うのは、目盛りがついていることです。<br />
大まかな数値で指定したい時に使えるコントロールです。<br />
<br />
スケッチのサンプルは以下のとおりです。<br />
<br />
import controlP5.*;<br />
<br />
ControlP5 cp5;<br />
int sliderValue = 100;<br />
<br />
void setup() {<br />
size(300,100);<br />
noStroke();<br />
cp5 = new ControlP5(this);<br />
cp5.addSlider("sliderValue")<br />
.setPosition(100,50)<br />
.setRange(0,255)<br />
.setNumberOfTickMarks(5)<br />
; <br />
}<br />
<br />
void draw() {<br />
background(sliderValue);<br />
}<br />
<br />
【解説】<br />
import controlP5.*; ・・・もう覚えましたね。ControlP5を使う時のお約束、ライブラリの宣言です。<br />
ControlP5 cp5; ・・・ ControlP5を格納するオブジェクト変数の宣言です。<br />
int sliderValue = 100; ・・・Sliderコントロールで使用する値を格納するための変数を宣言です。<br />
<br />
void setup() {<br />
size(300,100); ・・・Processingで使用する画面サイズを指定します。<br />
noStroke(); ・・・輪郭無しを指定します。<br />
cp5 = new ControlP5(this); ・・・cp5変数へControlP5と結びつけます。<br />
cp5.addSlider("sliverValue") ・・・この命令により、目盛り付きのスライダを追加します。<br />
.setPosition(100,50) ・・・コントロールを表示する位置を指定します。<br />
.setRange(0,255) ・・・値の範囲を指定します<br />
.setNumberOfTickMarks(5); ・・・目盛りの数です。5つの目盛りを入れます<br />
}<br />
<br />
void draw() {<br />
background(sliderValue); ・・・背景色をsliderValueの値により変化させています。<br />
コントロールを追加した際に使用したsliderValueにスライダが<br />
示している値が格納されています。<br />
}<br />
<br />
使い勝手良いので、是非、マスターして下さい。<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->
arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-59493784122361571412012-12-10T17:55:00.000+09:002012-12-10T17:55:00.161+09:00人工衛星をつくる『人工衛星をつくる』というタイトルの本を見つけました。<br />
<br />
<a name='more'></a>サブタイトルが、すごい。 『設計から打ち上げまで』。<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4274503712/ref=as_li_ss_il?ie=UTF8&camp=247&creative=7399&creativeASIN=4274503712&linkCode=as2&tag=hikimura38-22"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&ASIN=4274503712&Format=_SL110_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=hikimura38-22" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-22&l=as2&o=9&a=4274503712" style="border: none !important; margin: 0px !important;" width="1" /><br />
<br />
<br />
アマゾンのカスタマーレビューで、『内容もとてもわかりやすく実践的、そして値段も安い!小型衛星のみならず宇宙機開発に興味を持たれた方は必携の書でしょう。』とあります。<br />
<br />
興味をそそられます。<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4274503712/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4274503712&linkCode=as2&tag=hikimura38-22">人工衛星をつくる−設計から打ち上げまで−</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-22&l=as2&o=9&a=4274503712" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-4711358427359913762012-12-07T17:55:00.000+09:002012-12-07T17:55:00.045+09:00ツェッペリン カッコイイですカッコイイ腕時計を見つけました。ツェッペリンの腕時計です。<br />
<br />
<a name='more'></a><br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/B005TEUKZM/ref=as_li_ss_il?ie=UTF8&camp=247&creative=7399&creativeASIN=B005TEUKZM&linkCode=as2&tag=hikimura38-22"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&ASIN=B005TEUKZM&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=hikimura38-22" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-22&l=as2&o=9&a=B005TEUKZM" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
文句なく、カッコイイです。腕時計が大好きな私としては、この冬、欲しいです。<br />
腕時計としての存在感も十分すぎるほどあります。<br />
<br />
<br />
<br />arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0tag:blogger.com,1999:blog-5905353113735577683.post-85977275455231708592012-12-06T17:55:00.000+09:002012-12-06T17:55:00.612+09:00Processing ControlP5 Sliderコントロール使い方 その1今回は、ProcessingでのControlP5のライブラリーにある、Sliderコントロールの使い方を見ていきます。<br />
<br />
<a name='more'></a><br />
<br />
英語サイトにはいくつかサンプルがありますが、初心者には辛いので、基本的に使い方をマスターするために、ものすごくシンプルなスケッチを作って見ました。<br />
<br />
まずは、サンプルのスケッチをみてください。<br />
<br />
import controlP5.*;<br />
ControlP5 cp5;<br />
int myColor = color(0,0,0);<br />
int sliderValue = 100;<br />
<br />
void setup() {<br />
size(300,100);<br />
noStroke();<br />
cp5 = new ControlP5(this);<br />
cp5.addSlider("sliderValue")<br />
.setPosition(100,50)<br />
.setRange(0,255)<br />
;<br />
}<br />
<br />
void draw() {<br />
background(0,0,0);<br />
<br />
fill(sliderValue);<br />
rect(0,0,300,200);<br />
}<br />
<br />
【解説】<br />
import controlP5.*; ・・・controlP5ライブラリーを使うための宣言です<br />
ControlP5 cp5; ・・・まずは変数としてControlP5を宣言します。<br />
上の2行は、約束として、覚えましょう。<br />
<br />
int myColor = color(0,0,0);<br />
int sliderValue = 100;<br />
<br />
このふたつの変数は、のちほど使うので、それぞれ整数型の変数を宣言しています。<br />
<br />
<br />
void setup() {<br />
size(300,100); ・・・画面サイズの指定をする命令です。横300ピクセル、縦100ピクセルです。<br />
noStroke(); ・・・輪郭線を描かない命令です。<br />
cp5 = new ControlP5(this); ・・・インスタンスにするための命令です。約束です。<br />
cp5.addSlider("sliderValue") ・・・ここからが、Sliderコントロールを描くための命令です。<br />
.setPosition(100,50) ・・・Sliderコントロールの表示位置を指定しています。 <br />
setRange(0,255) ・・・・Sliderコントロールをスライドした時の値の範囲です。<br />
;<br />
}<br />
<br />
<br />
void draw() {<br />
background(0,0,0); ・・・背景を真っ黒に指定しています。<br />
fill(sliderValue); ・・・Sliderコントロールの値を色の指定としています。<br />
rect(0,0,300,200); ・・・指定した色で長方形を塗りつぶしています。<br />
}<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU2GweBFSPo5YdZXMuYBaOmRNxQgijbDTrR7Lc0-VuaIWUhDYJg3m_PRtepkDEaLXp7hr1jNSqxgDRD9OOsEr0wd_uEfR8p54uTQeJEf4dwCDTGPlJALglMWJUUbGJlmfZvr1epaQrVfOt/s1600/slider.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU2GweBFSPo5YdZXMuYBaOmRNxQgijbDTrR7Lc0-VuaIWUhDYJg3m_PRtepkDEaLXp7hr1jNSqxgDRD9OOsEr0wd_uEfR8p54uTQeJEf4dwCDTGPlJALglMWJUUbGJlmfZvr1epaQrVfOt/s1600/slider.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">実行例</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
スライダーをマウスで動かすと、塗りつぶす色が変わります。<br />
基本機能を理解すると使いやすい簡単なコントロールなので、是非、お試しください。<br />
<br />
<br />
<br />
<a href="http://www.amazon.co.jp/gp/product/4873115159/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4873115159&linkCode=as2&tag=hikimura38-ama0000-22">・Processingをはじめよう</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4873115159" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/477414715X/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=477414715X&linkCode=as2&tag=hikimura38-ama0000-22">・Processing アニメーション</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=477414715X" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<a href="http://www.amazon.co.jp/gp/product/4627849311/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4627849311&linkCode=as2&tag=hikimura38-ama0000-22">・楽しく学ぶコンピュテーショナルデザイン</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=hikimura38-ama0000-22&l=as2&o=9&a=4627849311" style="border: none !important; margin: 0px !important;" width="1" />
<br />
<br />
<br />
<br />
<div class="azlink-box" style="margin-bottom: 0px;">
<div class="azlink-image" style="float: left;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank"><img alt="Processingプログラミング入門―Javaベースのオープンソース統合開発環境" src="http://ecx.images-amazon.com/images/I/512GDMfzA5L._SL75_.jpg" style="border: none;" /></a></div>
<div class="azlink-info" style="float: left; line-height: 120%; margin-left: 15px;">
<div class="azlink-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" name="azlinklink" target="_blank">Processingプログラミング入門―Javaベースのオープンソース統合開発環境</a><br />
<div class="azlink-powered-date" style="font-family: verdana; font-size: 7pt; line-height: 120%; margin-top: 5px;">
posted at 2012.11.16</div>
</div>
<div class="azlink-detail">
田原 淳一郎<br />
カットシステム<br />
売り上げランキング: 292836</div>
<div class="azlink-review" style="margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="azlink-link" style="margin-top: 5px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832475/hikimura38-ama0005-22/ref=nosim/" target="_blank">Amazon.co.jp で詳細を見る</a></div>
</div>
<div class="azlink-footer" style="clear: left;">
</div>
</div>
<br />
<br />
<br />
<!-- X:S ZenBackWidget --><script type="text/javascript">document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//happy-arduino.blogspot.jp/&nsid=106691642303493455%3A%3A106691662436154667&rand="+Math.ceil((new Date()*1)*Math.random())+"' type='text/javascript'"+unescape("%3E%3C/script%3E"));</script><!-- X:E ZenBackWidget -->arudtechhttp://www.blogger.com/profile/08270128791472023310noreply@blogger.com0