Part-1の最後で、「続きがあるかも・・・・?」で終らせた手前、
何かやらねば!と思ったわけではなく、デジットから、7segの
LEDとサーボモータを入手したので、これを有効活用してみよ
うとなった次第。
 
前ネタのFRDM-KL25Zボードに、7segとサーボモータをくっ
付けて、mbedのクラウド環境から、プロトタイピング。

その前にFRDM-KL25Zボードにヘッダーピンをハンダ付け
しました。
 PICT0509A

 










何を作るか...それはヒ・ミ・ツ...じゃブログにならないので、
ネタ公開。

ETCの真似事をやります。

ETCだと車を検知して(ETC車載器と通信、もろもろの
手続きがOKなら)ゲートを開きます。真似事なので、検知
は人体赤外線センサーを使って、人が近付いた事を検知
します。ゲートを開くのは、サーボモータです。

閉じるまでの残り時間を7segLEDに表示します。
7segLEDは一桁だけの実装としました。

残り時間は秒単位で、9から0に向かってカウントダウン
表示します。センサーを工夫すれば、ネコゲートとか作れる
かも知れません。

PICT0515












動いているところの動画をアップしました。
その1その2



ソフトはこんな感じです。
--------------------------ここから-------------------------
#include "mbed.h"

const uint8_t seg_tbl[]={
  0x3f, //0
  0x06, //1
  0x5b, //2
  0x4f, //3
  0x66, //4
  0x6d, //5
  0x7d, //6
  0x27, //7
  0x7f, //8
  0x6f, //9
  0,0,0,0,0,0 //BLANK
};

PwmOut servo(PTC9);
DigitalOut myled(LED1);
DigitalOut IRled(LED3);
DigitalOut *seg[7];
DigitalIn PIR(PTD5);
int i,ct=0;

int main() {
    seg[0]=new DigitalOut(PTA1); //seg a
    seg[1]=new DigitalOut(PTA2); //seg b
    seg[2]=new DigitalOut(PTD4); //seg c
    seg[3]=new DigitalOut(PTA12); //seg d
    seg[4]=new DigitalOut(PTA13); //seg e
    seg[5]=new DigitalOut(PTA5); //seg f
    seg[6]=new DigitalOut(PTC8); //seg g
    ct=9;
    while(1) {
        if(PIR){
            IRled=0;
            servo.pulsewidth(0.0017);//CCW stop
            ct=9;
        } else {
            IRled=1;
        }
        for(i=0;i<7;i++)seg[i]->write(seg_tbl[ct & 15] & (1<<i));
        myled = 1;
        wait(0.5);
        myled = 0;
        wait(0.5);
        if(ct){
            if(--ct==0)servo.pulsewidth(0.0006);//CW stop
        }
    }
}
--------------------------ここまで-------------------------

ピンの接続は、サーボ・PTC9、7segのセグメントでa・PTA1、
b・PTA2、c・PTD4、d・PTA12、e・PTA13、f・PTA5、g・PTC8、
赤外線センサー・PTD5です。
 
ソフト的には、Lチカのループに、人体赤外線センサーの検査
を挿入しています。なので、1秒に1回しか見に行ってません。
応答が0~1秒の間でバラつきますが、人が相手なので、良しと
言う事で。サーボの駆動はmbedライブラリの中のpwmクラスを
使用しています。細かなコードを書かなくても動作させられるので、
ライブラリを作った人に感謝。

担当:M
 

ご注意
作り方の個別質問に関しては共立プロダクツでは一切お答え出来
ません。ご了承下さい。
(でもコメントになにか書いて頂ければ続きがあるかも・・・)

共立エレショップにも登録しました。
通販ご希望の方はご利用ください。
Kinetis ARM Cortex-M0+マイコンボード FRDM-KL25Z