Sim's blog

電子工作はじめてみました

Netduino miniでLチカ

2010-11-23 02:04:39 | Netduino

MTM06スイッチサイエンスさんから買ったNetduini miniでLチカしてみました。

Netduino miniは、やたらと小さいです。左側の緑の基板が秋月のFT232RL USBシリアル変換基板です。同じ24pinで幅は600milですが、高さが低いです。こんなに小さくても.Net Micro Frameworkが動いちゃいます。

小さいので、USB変換すら載っていません。基本はシリアルから使います。pin1とpin2はレベル変換ICにつながっていて、±15Vの普通のシリアルポートにつながります(UART2)。デフォルトはこのポートからプログラムしたり、デバッグしたりします。

 

Netduino miniの設定変更

今回のようにUSBシリアル変換基板を使うときは、pin11とpin12の方のUART1を使ってやる必要があります。UART1を使うには、設定を変えてやる必要があります。

まずは、秋月モジュールの設定ですが、JP1は1-2の間にジャンパーを、JP2にもジャンパーをつけます。これで、VccからはUSBからきた5Vが出力されるので全体の電源にします(JP2の設定)。念のためにリセッタブルヒューズ(ポリスイッチ)をつけるのもありです。JP1を1-2間にすることでTxDやRxDが3.3Vになります。

配線は以下のようにしました。

AE-UM232R     Netduino mini
11pin Vcc --- 21pin Vcc (5V)
14pin GND --- 23pin GND
15pin RxD --- 12pin UART1 TX0
19pin TxD --- 11pin UART1 RX0
              22pin リセット --- リセットボタン --- GND (内部でpull-up済)

必要であればAE-UM232Rのドライバをインストールします。デバイスマネージャでCOMポートの番号を覚えておきます。

設定の変更ですが、TeraTerm等で115200bps、8bit non-parity stopbit 1bitで接続します。ESCキーを押すと以下のようなメニューが出てきて、1を選んでやります。

Netduino Mini

1. TTL UART (COM1)
2. RS232 UART (COM2)

Which transport (1 or 2)? 1

Switching transport to TTL UART (COM1)...
.NetMF v4.1.2821.0
NetduinoMini, Build Date:
       
Nov  7 2010 19:47:13
ARM
Compiler version 400771

TinyCLR (Build 4.1.2821.0)

Starting...
Created EE.
Started Hardware.

以上で、設定は終わりです。

他にすることとしては、VS2010側のファイルのアップデートが必要です。最新版はこちらからダウンロードできます(Netduino SDK v4.1.0の32bit版か64bit版のどちらか)。インストールすると、新規プロジェクトの作成でNetduino Mini Applicationを選べるようになります(クリックで拡大)。

 

Lチカのソースコード

今回作ったLチカはマルチスレッド版です。メインスレッドはずっと寝てますが、裏で別スレッドがLチカをしてくれます。

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoMini;

namespace Netduino_mini_test1
{
    public class Program
    {
        
        static OutputPort led = new OutputPort(Pins.GPIO_PIN_13, false);
        public static void Main()
        {
            // スレッドを使って、バックグラウンドLチカ
            new Thread(delegate()
            {
                while (true)
                {
                    led.Write(!led.Read());
                    Thread.Sleep(250);
                }
            }).Start();

            // main threadはずっと寝てる
            Thread.Sleep(Timeout.Infinite);
        }
    }
}

 

とりあえず、何もついてないですが、一応デジタルpinは16本あります(アナログ入力4+デジタル12)。でもUART1で2本減るので14本になります。素直にUART2を使えば16本フルに使えます。普通のNetduinoが20本(アナログ入力6+デジタル14)なので、4本少ないです。

CPUのAT91SAM7X512は、BGAのパッケージなので多層基板と思われます。

 


最新の画像もっと見る

コメントを投稿