<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Netduino</title><link>http://blogs.wankuma.com/wm/category/2305.aspx</link><description>Netduino</description><managingEditor>なか-chan@最愛のiMac</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>なか-chan@最愛のiMac</dc:creator><title>netduino plus 2で、ボタンを押したらLEDを光らせる</title><link>http://blogs.wankuma.com/wm/archive/2015/04/05/512421.aspx</link><pubDate>Sun, 05 Apr 2015 17:40:00 GMT</pubDate><guid>http://blogs.wankuma.com/wm/archive/2015/04/05/512421.aspx</guid><wfw:comment>http://blogs.wankuma.com/wm/comments/512421.aspx</wfw:comment><comments>http://blogs.wankuma.com/wm/archive/2015/04/05/512421.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/wm/comments/commentRss/512421.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/wm/services/trackbacks/512421.aspx</trackback:ping><description>&lt;p&gt;前回は、LEDが自動的にチカチカするだけでしたが、ボタンを押したら、LEDが光るようにします。&lt;br&gt;ちょうど初音さんも&lt;a href="http://www.buildinsider.net/small/netduino/02"&gt;同様の記事&lt;/a&gt;を書いているので、ちょっと違う方法で…&lt;/p&gt; &lt;p&gt;netduino公式ページの、&lt;a href="http://www.netduino.com/projects/"&gt;projectsというページ&lt;/a&gt;の一番最後に、光らせ方のビデオがあるので、こちらを参考にします。&lt;br&gt;ただし、解説は、古い netoduino 1 で行っているので、少々Pinの指定や値が違ったりするようです。&lt;/p&gt; &lt;p&gt;ちなみに、btn.OnInterrupt まで記入したところで、Tabキーを2回押すと、イベントハンドラが自動的に作成されます。&lt;br&gt;VisualStudio が使えて幸せなところですね。(^^)/ まるで、WPFやWindowsFormで、button1.Click += button1_Click;&lt;br&gt;とやっているかのように、同じ感覚でボタンクリックの処理が書けます。&lt;/p&gt; &lt;p&gt;InterruptPort変数を作るときに、　Port.InterruptMode.InterruptEdgeBoth　を指定すると、&lt;br&gt;ボタンを押したとき、および離したタイミングの２回、イベントハンドラが呼ばれるようになるようです。&lt;br&gt;そのとき、data2 に、1(ON)または0(OFF)の情報が渡ってきますので、これをtrueとfalseに変換してセットしてあげます。&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; System;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; System.Net;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; System.Net.Sockets;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; System.Threading;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; Microsoft.SPOT;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; Microsoft.SPOT.Hardware;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; SecretLabs.NETMF.Hardware;&lt;br&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; SecretLabs.NETMF.Hardware.Netduino;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;namespace&lt;/font&gt; NetduinoApplication2&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;public class&lt;/font&gt; &lt;font color="#4bacc6"&gt;Program&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;static&lt;/font&gt; &lt;font color="#4bacc6"&gt;OutputPort&lt;/font&gt; led = &lt;font color="#0000ff"&gt;new&lt;/font&gt; &lt;font color="#4bacc6"&gt;OutputPort&lt;/font&gt;(&lt;font color="#4bacc6"&gt;Pins&lt;/font&gt;.ONBOARD_LED, &lt;font color="#0000ff"&gt;false&lt;/font&gt;);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;public static void&lt;/font&gt; Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#006600"&gt;// 立ち上がりと立ち下がりの両方を検知するように設定&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;var&lt;/font&gt; btn = &lt;font color="#0000ff"&gt;new&lt;/font&gt; &lt;font color="#4bacc6"&gt;InterruptPort&lt;/font&gt;(&lt;font color="#4bacc6"&gt;Pins&lt;/font&gt;.ONBOARD_BTN, &lt;font color="#0000ff"&gt;false&lt;/font&gt;, &lt;font color="#4bacc6"&gt;Port&lt;/font&gt;.&lt;font color="#4bacc6"&gt;ResistorMode&lt;/font&gt;.Disabled, &lt;font color="#4bacc6"&gt;Port&lt;/font&gt;.&lt;font color="#4bacc6"&gt;InterruptMode&lt;/font&gt;.InterruptEdgeBoth);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#006600"&gt;// +=まで入力して、TABキーを押すと、ハンドラーを自動で生成できます&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btn.OnInterrupt += btn_OnInterrupt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#006600"&gt;// これがないと、すぐに終了してしまう&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#4bacc6"&gt;Thread&lt;/font&gt;.Sleep(&lt;font color="#4bacc6"&gt;Timeout&lt;/font&gt;.Infinite);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;static void&lt;/font&gt; btn_OnInterrupt(&lt;font color="#0000ff"&gt;uint&lt;/font&gt; data1, &lt;font color="#0000ff"&gt;uint&lt;/font&gt; data2, &lt;font color="#4bacc6"&gt;DateTime&lt;/font&gt; time)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#006600"&gt;// 1または0が渡ってくるので、trueまたはfalseに変換して設定&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; led.Write(data2 != 0);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/wm/aggbug/512421.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>