Miho's Memory

組込みとアートとまぜまぜ

2019年鼓でお正月(⋈◍>◡<◍)。✧♡

明けましておめでとうございます^^#

今年はいろんな想いが詰まった鼓を,鼓デコはオリジナル(⋈◍>◡<◍)。✧♡

節目にしたかったのでデコもやけどありモノでお正月小道具を創りました^^#

そんなかで,検索で得た2つのことをここにメモしとこかなと.

microbit ヽ(^。^)ノ

2019年 いろんな想いの詰まった鼓をデコル(⋈◍>◡<◍)。✧♡

鼓のカタチをした針金.これはあらかじめ手に入れてた.100均では売ってないw
これにデコり具材を用意する.
100均覗いてみるとまあイケてるモノがある.菊,松,千両...
今年,千両は不作とのこと,菊と千両を入手.松もええ感じやけど去年の少し色褪せ残りで行こう!あと鶴を折ろう💛あと,水引は必要だね!とそのあたりを100均で調達.

グルーガンを使ったり,ブリザーブドフラワーアレンジメントで使ったりする針金やらを適当に使って完成!

f:id:MihoN:20190101170029j:plain

でも...静かだね...の声があり,目でもお正月,耳でもお正月にしました!
この鼓に惹かれて寄ってこられた人がターゲット💛

完成はこちら

www.youtube.com

その時に用意したものは以下主要3つとおまけ

- microbit 2つ:melody用,惹かれた人を見つける眼用
- melodyをみんなに聴こえるようにする小道具その他スピーカー,電池ボックスや配線
      ・ アンプ TEXAS社 TP2005D1搭載のD級モノラルオーディオアンプ

TPA2005D1搭載モノラルオーディオアンプ - スイッチサイエンス

- microbit の 今回の眼 ターゲットエリア内に入ったら何かしよう!
ワンタッチ距離センサ

https://www.amazon.co.jp/TFabWorks-micro-bit%EF%BC%88%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%93%E3%83%83%E3%83%88%EF%BC%89%E7%94%A8%E3%83%AF%E3%83%B3%E3%82%BF%E3%83%83%E3%83%81%E8%B7%9D%E9%9B%A2%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC-TFW-DS1/dp/B07G3XSPWW

お正月ソング『春の海』が流れるよ(複数曲対応にバージョンアップ中)

ということで,microbit で Sonar センサーが使いたい!

sonarセンサを使ってみた

けど,ちょっとまったぁー
なんかこれ(拡張機能で『Sonar』)↓↓じゃぁ誤差が大きいww

拡張機能で『Sonar』で追加

f:id:MihoN:20190101174231p:plain

 ブロック画面ではこんな感じ

f:id:MihoN:20190101174421p:plain

 

でもこれ↑↑よりこっち↓↓のほうがいい
誤差が無いと言っていい距離が測れる.

https://github.com/mbitfun/pxt-uds

上記サイトのパッケージを利用させていただきましょう!
自分のプロジェクトへの追加は,

① 上記 git の Clone URL をコピー
② microbitの 「設定」→ 「拡張機能」→ 「検索または,プロジェクトのURLを入力...」ってとこに ① のURL を貼り付け 検索

f:id:MihoN:20190101175147p:plain
すると,以下が追加される

f:id:MihoN:20190101175321p:plain

もひとつ便利なのも追加しとく.
2桁の数字をスクロールなしで表示してくれるパッケージ

https://github.com/makecode-extensions/WhaleySansFont

取り込み方は,さっきと同じ.
上記 git の Clone URL をコピーしてmicrobitの 「設定」→ 「拡張機能」→ 「検索または,プロジェクトのURLを入力...」ってとこに貼り付けて検索

f:id:MihoN:20190101175705p:plain
すると,以下が追加される

f:id:MihoN:20190101175820p:plain

2つを組み合わせて

f:id:MihoN:20190101180007p:plain

わたしは,いのししが50cm以内に入ってきたら..だからもう一個のmicrobitに仕込んでる音楽が鳴るようにだから

f:id:MihoN:20190101180157p:plain

お正月Songをもう一個用意したからプログラムは少し改造するけどね.
その前に続きのお酒を呑もっ(⋈◍>◡<◍)。✧♡

ちな,うちに来てくれたイノシシちゃん💛

f:id:MihoN:20190102163458j:plain







RasPi のプログラムを自動起動に!その2 systemd 編

RasPi Python 自動起動 第二弾!

今回は systemd を使います.

準備するもの:

・自動実行させたい Python プログラム(※1)
Pythonプログラムを実行する 単一プログラム  .shファイル(※2)
・/etc/systemd/system/xxx.service ファイル(※3)

※1
今回は print文 のみ記述したものを用意した.
でも,いっこ注意が必要! init や systemd から起動されたプログラムの場合,print の出力はコンソールではなく,ログファイルに記録されるようになっているので画面に出ないのだ.画面にだしたい場合は,Python のプログラムの方でコンソールを open したり,ごにょごにょ.

※2
systemd の ExecStart には引数などの指定はできなくないんだけど,トラブルの原因になるから,できるだけ単一プログラムが良い ^^*

※3
xxx のところは好きに変えて良いよ ^^

さあ,じゃあつくろう!

ちょっとまったぁー!
Python プログラムも単一プログラムもどこに作ろうとしてる?!

ここ /opt の下がいいよ!

なぜなら,Filesystem Hierarchy Standard(http://www.pathname.com/fhs/)で決まっているので,起動時にマウントされていることが保証されているからなんですって💛
ということで,システム固有のプログラムというかディストリビュータ以外のサードベンダープログラムは /opt の下に置くのがまぁ正しいのです ^^

ということで

pi@raspberrypi:~ $ sudo mkdir /opt/mybin

/opt の下に オリジナルな mybin ディレクトリを作りました.
そしてこの中に,自動実行させたい Pythonプログラムと,それを実行するための単一プログラムを作りましょう!

pi@raspberrypi:/opt/mybin $ cat Hello_RasPiGirl.py
print "Hi! RaspberryPi Girls. I'm Miho."

pi@raspberrypi:/opt/mybin $ cat autoRasPiGirl.sh
#!/bin/sh
/usr/bin/env python /opt/mybin/Hello_RasPiGirl.py

 

それぞれのファイルの実行属性を見てみましょう

pi@raspberrypi:/opt/mybin $ ls -al
-rw-r--r-- 1 root root 44 10月 29 23:49 Hello_RasPiGirl.py
-rw-r--r-- 1 root root 61 10月 29 23:52 autoRasPiGirl.sh

 

.sh ファイルには 実行属性を付けておきましょう

pi@raspberrypi:/opt/mybin $ sudo chmod 755 autoRasPiGirl.sh
pi@raspberrypi:/opt/mybin $ ls -al
-rw-r--r-- 1 root root 44 10月 29 23:49 Hello_RasPiGirl.py
-rwxr-xr-x 1 root root 61 10月 29 23:52 autoRasPiGirl.sh

 

ちな,.sh を実行すると,Hello_RasPiGirl.py が実行されます.
pi@raspberrypi:/opt/mybin $ sh autoRasPiGirl.sh
Hi! RaspberryPi Girls. I'm Miho.

 

準備は整ったので,いよいよ systemd を使って自動起動をやってみる!

pi@raspberrypi:/etc/systemd/system $ cat autoexecRasPiGirl.service
[Unit]
Description = AutoBootProgram_Test     ← お好きにどうぞ ^^#

[Service]
ExecStart=/opt/mybin/autoRasPiGirl.sh  ← 実行したいプログラムのフルパス
Restart=no
Type=simple

[Install]
WantedBy=multi-user.target

 

再読み込みをしておこう!
pi@raspberrypi:/etc/systemd/system $ sudo systemctl daemon-reload
特に何の音沙汰もない

続けて,起動時にサービスが自動で起動するように設定しましょう
pi@raspberrypi:/etc/systemd/system $ sudo systemctl enable autoexecRasPiGirl
Created symlink from /etc/systemd/system/multi-user.target.wants/autoexecRasPiGirl.service to /etc/systemd/system/autoexecRasPiGirl.service.

systemd を使ってサービスを起動させる
pi@raspberrypi:/etc/systemd/system $ sudo LANG=C systemctl start autoexecRasPiGirl.service
特に何の音沙汰もない

出力はログにでるので以下を実行して確認してみよう!pi@raspberrypi:/etc/systemd/system $ sudo LANG=C systemctl status -l autoexecRasPiGirl.service
* autoexecRasPiGirl.service - AutoBootProgram_Test
Loaded: loaded (/etc/systemd/system/autoexecRasPiGirl.service; enabled)
Active: inactive (dead) since Mon 2017-10-30 00:16:41 JST; 2min 12s ago
Process: 8662 ExecStart=/opt/mybin/autoRasPiGirl.sh (code=exited, status=0/SUCCESS)
Main PID: 8662 (code=exited, status=0/SUCCESS)

Oct 30 00:16:41 raspberrypi systemd[1]: Started AutoBootProgram_Test.
Oct 30 00:16:41 raspberrypi autoRasPiGirl.sh[8662]: Hi! RaspberryPi Girls. I'm Miho.

みえてるよ!!実行されてるよ!!
最後の行だよ!!^^#

では,RasPi を 再起動させてみましょう♪

f:id:MihoN:20171030002756p:plain
.bashrc のようにコンソールにはでてきません.
けど,ログファイルを見て!

f:id:MihoN:20171030003152p:plain
ちゃんと実行されてることが分かります ^^#

つぎは,コンソールに出力されるようにするにはどうするか,
そして,今回print文が書かれた .py の自動起動だったけど,無限ループの .py ならどうしたらいいのかを書いていきます ^^#

最後に,
自動起動をやめたい場合は

pi@raspberrypi:~ $ sudo systemctl disable autoexecRasPiGirl.service

で OK です.

これで自動実行 2個 制覇 ^^v

今回参考にさせていただいたのはお友達のこのサイトです!

qiita.com

もう少しこのサイトを参考にして試したいことがあるんだいっ ^^#

RasPi のプログラムを自動起動に!その1 .bashrc 編

最近また らぴろん(Rapiro ロボット)のからっぽのあたまんなかに,RasPi をいれて らぴろんの魂よみがえり!計画がすすんでる.

それやってると思うんだよね.
「このプログラム,パイ起動時に起動してくれると楽なんだけど」って.

いろんなところで目にする /etc/rc.local ← これちっとも動かなかった.
Raspbian のバージョンの違いかな.

今回ためした Pi3 のOSのバージョンなんだっけw
uname -a コマンド で Kernel Version を
cat /etc/issue コマンドで raspbian の Version をみてみた.


pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux
pi@raspberrypi:~ $ cat /etc/issue
Raspbian GNU/Linux 8 \n \l


ただ,本当にやりたいのは Pi2 の 2017-4-10-raspbian-jessie 環境での 特定プログラム の自動起動.これはあとで試してみよう.
とりあえず,メモとして,Pi3 で動いた自動起動のときの記録を残しとこ ^^

まず,
Python のパスを確認しよう!

 pi@raspberrypi:~/Mi $ which python
/usr/bin/python

補足
もちろんこんなのもあり
pi@raspberrypi:~ $ which ls
/bin/ls
ls コマンドは /bin にあることがわかる.
ということは,lsコマンドをフルパスで書いて実行すると,こう.
pi@raspberrypi:~/Mi $ /bin/ls
MyCam Orphe PianoHAT RasPi-Girl.py TTS misound

つぎに,
自動起動用のサンプルPythonプログラム(RasPi-Girl.py)を用意しよう!
中は 単純に print文 ^^

pi@raspberrypi:~/Mi $ cat RasPi-Girl.py
print "RaspberryPi Girls Hello"

ホームディレクトリにもどりましょ

pi@raspberrypi:~/Mi $ cd ~
pi@raspberrypi:~ $ pwd
/home/pi

cd の うしろのは ニョロ/チルダ ね ^^

ホームディレクトリには .bashrc があるよね?

pi@raspberrypi:~ $ pwd
/home/pi
pi@raspberrypi:~ $ ls -al .bashrc
-rw-r--r-- 1 pi pi 3580 10月 17 00:06 .bashrc

.bashrc ファイルを ごにょごにょ します

pi@raspberrypi:~ $ vi .bashrc

一番最後の行に一行追加します

/usr/bin/python /home/pi/Mi/RasPi-Girl.py

RasPi を再起動してみましょう♬
Last login: Sat Oct 28 21:05:01 2017
RaspberryPi Girls Hello
pi@raspberrypi:~ $

RaspberryPi Girls Hello の文字でてきてる!^^#

ということで成功です ^^#

今回,TeraTermSSH でつないだから CUI 画面なので,

RaspberryPi Girls Hello

の文字すぐ見えてきたけど,RasPi をモニタにつないで,モニタ見てる人は GUI がめんたちあがっちゃうからわかりにくいかも.
でもそんなときは,CUI 画面で起動に変えられるから,変えてみて ^^*
手順は今から書くね ^^

RasPi を CUI 起動にする(そして自動起動も確認する ^^

RasPi の電源をいれ,今ソース画面から

pi@raspberrypi:~ $ sudo raspi-config

して,RasPi の設定画面を起動します.

Boot Options を選びます ^^

f:id:MihoN:20171029094825p:plain

B1 Desktop / CL1 を選びます ^^

f:id:MihoN:20171029094912p:plain

B2 Console Autologin Text console, automatically logged in as 'pi' user を選びます ^^

f:id:MihoN:20171029095022p:plain

Finish して,reboot を言ってくるので reboot します ^^

f:id:MihoN:20171029095132p:plain

f:id:MihoN:20171029095205p:plain

RasPi を モニタにつないでても,CUI 画面で起動してきて,
ほら「RaspberryPi Girls Hello」が見えたよ ^^#

f:id:MihoN:20171029095634j:plain


あとは,今回のように実行してプログラムがすぐ終わるものはいいけど,無限ループのようなものを自動実行させたときはもう少し考えないといけないかな...

とりあえず,今回は記憶を記録に ^^#

RasPiを簡単にネットにつないじゃお♡

RasPi,おうちにいるときは有線で家のルータにつないでとか,無線でつないでとか,そんな感じで,まぁ簡単にネットにつないで,SSHもおんなじネットワークだし簡単に接続できて,わーい(*´▽`*) だろうけど,一歩外にでたら,そんなことはねぇ.
いろんな見えない敵が邪魔してうまくつなげられないときがある.そんなとき,これを知ってらとっても便利!ってのを教えてあげる ^^#

RasPi を簡単にネットにつなげられて,SSHもなんのその~!

今回はそこに至るまでの手順をいちから書いていきます.
なので,「そこは設定済みだよ」ってところは飛ばしてね.
そして,今回は,Raspbian はインストールしておいてね

◆ 用意するもの

- RaspberryPi2 ModelB(今回はたまたまこれを使っただけ)
- 電源(Pi2 は 2A のアダプタがいいと聞く)
- LANケーブル
- USB LANアダプタ(ノートPCに有線LANの口がないから)

◆ Raspbiian インストールがおわったらやること

- SSH を有効にします
- 固定IPアドレスをふります

では,まず SSH を有効にしましょう.
むかしは何にもしなくてもよかったのに,いつかしらからか SSH はデフォルト無効になっています.
Raspbian の GUI 画面からの設定画面の中から操作可能ですが,今回は CUI での環境の画面を付けときます.

f:id:MihoN:20170817205227p:plain

f:id:MihoN:20170817205240p:plain

「Interfacing Options」を選んで「Select」

f:id:MihoN:20170817205302p:plain

SSH」を選んで「Select」

f:id:MihoN:20170817205409p:plain

「enabled?」って聞かれるので「はい」
再起動を言ってきたら再起動しましょう♪

これで SSH の設定はおわり ^^

次は,固定IPアドレスを振ります.

まったぁ~!!昔は,

/etc/network  の下の  interfaces ファイルに書き書きしたらよかったけど,最近の新しい環境の Raspbian ではそれでは固定IPアドレスはふれませんw

ついでに自分の RasPi の環境を見ておきましょう♪

uname -a  コマンドが「Kernel Version」を知るコマンド.
cat /etc/issue  コマンドが「raspbian(RaspberryPi)のバージョン」を知るコマンドです.

ちな,その時のわたし

f:id:MihoN:20170817210204p:plain

この環境も,interfaces ファイルへの 書き書きでは 固定IP設定むりw でした.

で最近はこう.

/etc/dhcpcd.conf  に書き書きします.
そしてその時に  IPアドレスは  

192.168.137.2  

にしておくのが今日のポイントです ^^#
なぜならあとで ノートPC でちょこっと設定するんですが,その時ノートPCは自動的に 192.168.137.1 になるんです.
SSH するんだし,同じネットワークがいいでしょ(^^♪

では,/etc/dhcpcd.conf  に書き書きしましょう♪

f:id:MihoN:20170817211137p:plain

「interface eth0」は,有線LANってこと.
「ip_address = 」は,RasPi のための 固定IP アドレス
「routers = 」は,デフォルトゲートウェイ のアドレス
「domain_name_servers = 」は,DNSサーバのアドレス.ゲートウェイと同じでOK.
「domain_search = 」よくわかんないから コメントアウト (笑)

っていうか,この設定まねっこでだいじょうぶ ^^*

そして,dhcdcd.conf の設定を有効にするために

f:id:MihoN:20170817211857p:plain

そしたら

dhcpcd[1334]: sending signal HUP to pid 449

って出てきたらOK!

せっかくなので ifconfig コマンドも実行して IPアドレス ふれてること確認してみてね ^^*

と,ここまでが RasPi 側の設定です.

次はノートパソコンを用意します!
WiFi しかついてないノートパソコンには,RasPi との接続のために必ず「Ether アダプター(USB LANアダプター)」をつけてね.
こんな感じ.

f:id:MihoN:20170817213122j:plain

そして「ネットワーク接続」の画面を開きます.

f:id:MihoN:20170817213828p:plain

ちゃんと Ether みえてます(わたし USB2.0 の LANアダプタ).
そして見えている WiFi アイコンを右クリック「プロパティ」画面を開きます.
そして,「共有」タブを選びます.
さらに,「ネットワークのほかのユーザに***」ってとこに Check いれます!

f:id:MihoN:20170817214006p:plain

設定はこれでおわりです ^^*
では,RasPi の LAN の 口にケーブルを ぷすっ♪
USB LAN アダプタを介して,PC と LANケーブルでつなげましょう(^^♪

f:id:MihoN:20170817214417j:plain

では,RasPi の電源も入れ,ノートPCから SSH できることを確認しましょう!

f:id:MihoN:20170817214851p:plain

f:id:MihoN:20170817214911p:plain

大成功 ( ๑❛ᴗ❛๑)۶♡٩(๑❛ᴗ❛๑ )

ネットにつながるかやってみよう♪
ping www.yahoo.co.jp

でつながってること確認できるハズ ^^
もちろん,外で テザリング でも大丈夫だよ ^^#

これは なかなか便利だと思うのでまた是非やってみてね ^^#

おわり

あっちむいてほいっ♪ ~勝ったらミサイルぶち込め編~

あっちむいてほいっ♪
~勝ったらミサイルぶち込め編~
           ミサイル発射台 が Dragon に!

2016年12月にも ミサイル 飛ばしたw
その時の ミサイル発射台 は RasPi !
今回,とっても強そうな Dragon Board 410C がおうちにやってきたので,RasPi から Dragon に変えてみることにしたの.
強そうな,この Dragon 実はちょっとした弱点?があったんです...
それは...
Doragon の GPIO(I2Cとかも?)1.8v なんですw
そう,ギアボックスつなぐだけではミサイル飛ばへんやんw

ちなみに あっちむいてほいっ♪ の部分は,2016年12月の記事で紹介してますのでそちらをご覧ください ^^#

なので今回はここからー

f:id:MihoN:20170721224405p:plain

あそび相手の らぴろん かんせ~♡
けど...

f:id:MihoN:20170721224456p:plain

そうだ!

f:id:MihoN:20170721224512g:plain

わたし,すっごい強そうなモノもってるやん(^^♪

f:id:MihoN:20170721225029g:plain

でもこの Doragon GPIO 1.8v ... どうやってミサイル飛ばそう...
そうだ!

f:id:MihoN:20170721225153g:plain

今回の ミサイルぶち込む 秘密はこちら!

f:id:MihoN:20170721225258p:plain

そして ぶち込む様子はこちら!


あっちむいてほいっ TOPPERS on PSoC & DragonBoard

最後に,今回 DoragonPython で GPIO アクセスするための環境を作るのにとっても参考になったサイトを記載します ^^# ありがとうございました!

uepon.hatenadiary.com

やっぱり らぴろん は可愛いなぁ ^^#
今日も読んでくれてありがとう!

はじめての F (⋈◍>◡<◍)。✧♡ ~ ソフトウェア編 ~

はじめての F (⋈◍>◡<◍)。✧♡
        ~ ソフトウェア編 ~

さ.

ここからは,『はじめての F (⋈◍>◡<◍)。✧♡ ~ ハードウェア編 ~』で作った基板を用いて,FRAM のデバイスIDを読みだしてみましょう(^^♪

サンプルプログラムやライブラリは Toyomasa Watarai さんが作られものを使います(^^♪

そして今回は mbed 環境で行っていくので,皆さん mbed へのユーザ登録は済ませておいてくださいね ^^

Watarai さんのプログラムたちはここ↓↓にいます.

https://developer.mbed.org/users/MACRUM/activity/

じゃまずは SPI から ^^#

Fujitsu SPI FRAM MB85RSxx を探して ↓↓ クリック ^^#

https://developer.mbed.org/components/Fujitsu-SPI-FRAM-MB85RSxx/

すると 下のような画面に飛びます(びゅん

f:id:MihoN:20170505112318p:plain

ここでは『Hello World』と『Library』の2つが見えてきます.
今回は『Hello World』のほうを選びましょう.


すると 下のような画面に飛びます(びゅん

f:id:MihoN:20170505112310p:plain

Home タブを見ると,

- MB85RSxx_SPI.lib
- main.cpp
- mbed.bld

main.cpp が 見えます.main を書いてくれてそう(^^♪
これはらくちんです ^^# そのまんま 自分のとこにもってきたら動きそう♬ 

Web 画面の 右上のこんな オレンジのボタン を見つけたらクリック!

f:id:MihoN:20170505112701p:plain

すると mbed Compiler Workspace Management につながり
下のような画面がでてきます.

f:id:MihoN:20170505112952p:plain

main.cpp ファイルはすでに用意してくれてるので,Program  を Import  で大丈夫!
Import Name などは自分がわかりやすいものに変更してネ ^^

自分のところにもってこれましたか? ^^# こんな感じ.

f:id:MihoN:20170505114025p:plain

プログラムワークスペース に import してきたプログラムが確認できます.
画面の右上では 現在のターゲットボード が確認できます.

続けてコンパイルしちゃいましょ.画面上の『コンパイル』ボタンを ぽちっとな(^^♪

f:id:MihoN:20170505114010p:plain

Success! という表示が見え,〇×△.bin というファイルが ダウンロードされたら おっけー (^_-)-☆

いよいよ実行してみましょう(^^♪ ハードウェア編で作成した基板に刺した,LPC1768 の miniUSB のポートと,パソコンの USB ポートをケーブルで接続します.
すると,大容量デバイス として mbed 見えてきましたか? ^^# 

f:id:MihoN:20170505115532p:plain

サンプルプログラムは FRAM の デバイスID がターミナルに吐き出されるプログラムです.なのでターミナルソフトを用意して!わたしはいつも TeraTerm ^^#

そしたら,デバイスマネージャで COM ポート を確認して!

あれっ?!COMポート で見えてこない...

そーなんです!これだけでは ダメ なんです!

Windows serial configuration をインストー

します! ここ ↓↓

https://developer.mbed.org/handbook/Windows-serial-configuration

windows10 でも問題なくインストールできます!

f:id:MihoN:20170501140020p:plain
でも

注意が ひとつ!!

基板とパソコンが繋がれた状態で Windows serial configuration をインストールしてください!そうじゃないとドライバーがインストールされません!!

そうするとどうでしょう!COMポート 見えてきましたか? ^^#

f:id:MihoN:20170501131726p:plain

そしたら,TeraTerm を起動します.

f:id:MihoN:20170501135517p:plain

さっき確認した シリアルポート になっていることを確認してね.
そして OK !

f:id:MihoN:20170501135602p:plain

ボー・レート を 115200 に設定!

f:id:MihoN:20170501135701p:plain

改行コードの 受信 を AUTO にします!

LPC1768 の 真ん中のおへそ(リセットボタン)をおして見てね!

f:id:MihoN:20170501135856p:plain

どう?デバイスID や メモリの中身 見えてきたかな?^^#

ひとまずこれで完成です ^^#

I2C も同様にやってみてね! ^^#

Fujitsu I2C FRAM MB85RCxx

https://developer.mbed.org/components/Fujitsu-I2C-FRAM-MB85RCxx/

 

でわでわ ここで ソフトウェア編 おわりー ^^#

読んでくれてありがとう(^^♪ 

 

はじめての F (⋈◍>◡<◍)。✧♡ ~ ハードウェア編 ~

はじめての F (⋈◍>◡<◍)。✧♡
        ~ ハードウェア編 ~

F ?

エフ? F が付くものって...

日本人なら,まず Fuji !Mt. Fuji !
ほかには??
FUJIYAMA ! ...  富士急ハイランドの絶叫マシンね.
Fukuya ! ... あー明太子やさんね...

F と言えば,FRAM!
今回は FRAM mbed 環境で使ってみましょう (^^♪ 
の まずはハードウェア編.

今回は,FRAM を mbed マイコンに繋げる基板から作ってみましょう♪

f:id:MihoN:20170426204608j:plain

■ 用意するものっ

・mbed NXP LPC1768
・ピンソケット(メス)20P 2個:mbed 抜き差しできる用
・両面スルーホール・ガラス・ユニバーサル基板 Bタイプ
    http://akizukidenshi.com/catalog/g/gP-03232/
・SOP8 DIP 変換基板 金フラッシュ(9枚入り)
    http://akizukidenshi.com/catalog/g/gP-05154/
・丸ピンICソケット(8P)
    http://akizukidenshi.com/catalog/g/gP-00035/
・連結ソケット(両端オスピン)8P 
    http://akizukidenshi.com/catalog/g/gP-00264/
・FRAM(SPI,I2C)
・ハンダメッキ線(電源周りの配線に使用)or 部品の足 ^^
・ジュンフロン線(0.12mm) or UEW線
・電源用パスコンコンデンサ 0.1uF(RPER11H104K2K1A01B)2本
・抵抗 プルアップのため 2.2kΩ 2本

 

★ 写真も載せとこ (^_-)-☆

*ユニバーサル基板

f:id:MihoN:20170424233106j:plain

*SOP8 DIP 変換基板

f:id:MihoN:20170424233224j:plainf:id:MihoN:20170424233235j:plain

*丸ピンICソケット(8P)

      f:id:MihoN:20170424233358j:plain          f:id:MihoN:20170424233421j:plain

*連結ソケット(両端オスピン)8P

    f:id:MihoN:20170424233629j:plain   f:id:MihoN:20170424234557j:plain

*FRAM

f:id:MihoN:20170426211052p:plain

今回は
SPI インターフェースの MB85RS64V ,MB85RS2MT
I2C インターフェースの MB85RC256V ,MB85RC1MT 
を用意したよ ^^

ちょっとまったぁ~ FRAM ってなになに?

FRAM は Ferroelectric Access Memory のこと.電源を切ってもデータが消えない不揮発性メモリです.不揮発性メモリと言えば,EEPROM .そう EEPROM も不揮発性メモリ.でもこの子はデータの書き込みに少し時間がかかるんです.なので,瞬停時などは,この子がデータを書き終えるまでの時間を保障するために,キャパシタなどを用意しておきます.データも消去してから書くのも時間がかかる理由の一つ.
でも FRAM は ” 目にも止まらぬ早業 ”(なんかこんな歌あった で,データを書けちゃうんです(ns)^^*
データを書くスピードが速いメモリとして有名なのは SRAM ^^
でもこの子は電池がないと生きていけないんです...
そしてこの FRAM データ容量は 4Mb ! バイトじゃないんです.bit です.
4Mbit 単位は bit になります.ちっぽけw と思うかもしれませんが,それは使い方次第!
FRAM のデータ書換え回数はなんと 10兆回 !
10兆円と聞くとその大きさを誰でも感じる.そう,一生生きてられるんじゃね?というくらい限りなく無制限に近い書換え回数なんです.
GPS のログやレジューム機能の実現のため,電力系統が不安定な場所でのデータ保持などに使用されます.
あんまり長々話すのもなんなんで,FRAM を mbed 環境で動かしてみましょう (^^♪

まず,基板作りから!

いち.FRAM の場所と LPC1768 をザックぶっさす場所を作ってあげよう! 

FRAM の場所は,丸ピンICソケットになります ^^
SPI の場所と I2C の場所を作ります.
ソケットの向きに注意して!今回はうえっかわきを SPI に,したっかわきを I2C の場所にします.

LPC1768 用にはピンソケット(メス)20P を用意します.
わたしはおうちにあった,パキパキ折れるやつを使うことにしました.
でも折るときだいたいうまくいかないので,ここはひとつ思い切って 21番目 のピンをつぶしちゃいましょう♬

21番目をニッパで真っ二つw すると20番目は絶対きれいに残ります ^^v
ニッパでやるとき押さえておかないと,パキィーーーーン って飛んでいきます.
目に飛び込んでもまずいのでちゃんと押さえておきましょう ^^*

では,ユニバーサル基板にハンダします.
両面スルーホールのユニバーサル基板は,ハンダが吸い込まれるように下に流れます.
ついついやりすぎると表面に モリッ .気を付けて!
端っこを少しのハンダで仮止め.ソケットが斜めってたら,ハンダコテで溶かしながらまっすぐに整えます ^^

今回は SPI FRAM と I2C FRAM を LPC1768 に配線することをあらかじめ考えてて,下のような感じで,配置しました.

f:id:MihoN:20170426222759p:plain

に.配線していこう!
電源周りにはハンダメッキ線を.信号線には細めのジュンフロン線を使います.

f:id:MihoN:20170501135049p:plain

今回 FRAM を直接ユニバーサル基板にハンダはしてないよ ^^
SOP8 DIP 変換基板をつかってます.
この変換基板よくできてる!FRAM は横向いてるけど,基板の配線で一番ピンが図でいう右下になるようになってるのね ^^

f:id:MihoN:20170501111911p:plain

これでハードウェア編はおわり~ 次はいよいよ FRAM のデバイスIDをmbed環境で読みだしてみよう(^^♪

サンプルプログラムやライブラリは Toyomasa Watarai さんが作られたものをそのまんま使っちゃいます!!

使い方は,次週 ソフトウェア編 にて ^^#

そうだっ.連結ソケットの飛び出してるピンは パチンパチン と切っておきましょう.
なんかの拍子にひん曲がって,ショートなんてしちゃったら大変だよん ^^*

 

 

 

 

 

 

 

Part of Miho's Memory

こないだひっさしぶりにフラワーアレンジメントした ^^*

気分よくなったので,せっかくだから今までの想い出の一部をここに綴ろう ^^#

★ 組み込みマイコン技術科の新規立ち上げ
           ~ 全国のカリキュラムモデルに! ~

『くみこみ』って漢字で書くと『組込み』『組み込み』『組込』がある.
みんなはどれが好きですか?
わたしは『組み込み』がすき ^^#
だって,ハードウェアにソフトウェアという魂が ”入り込み”
そして ”組み込まれた” ものが組み込み製品でしょ ^^
『組み』と『込む』が感じられる『組み込み』って漢字がわたしはすき ^^*
そして『組み込みマイコン技術科』を立ち上げた.

当時は ガラケー が主流.マイナスドライバー1本で分解して,
パワーポイントの機能だけを使って,学科説明用の案内チラシ創ったなぁ(笑)

f:id:MihoN:20170424213133p:plain

いろんなところで講演や授業やらせてもらったなぁ ^^#

★ Interface誌 執筆

2007年10月 Interface誌共同執筆 いい経験させてもらったぁ💛

f:id:MihoN:20170424221517j:plain

★ 小4の男の子とLED信号について勉強した ^^#

信号機も車のテールランプも家の中にもLEDがやってきた.
小4の男の子が『LED信号』と言ったもんだから一緒に勉強した(笑)
その時創った工作がこれ ↓↓

f:id:MihoN:20170424213839j:plain

電球の信号機は夕方になるとどれが着いてるのかわかりにくくなる(疑似点灯).
けどLED信号機だとはっきりするね!
長持ちだしいいことも(^^♪
でも,電気交換のお仕事や,発熱の違いで雪国での信号機の上の雪が溶けにくいとか
LEDでちょっと悪くなることもあったね.

★ 小5の男の子が大好きな電車の遮断機を創ってみた ^^#

使ったものは,LEGOブロック,電池ボックス,ブザーと少々の電子部品.
マルチバイブレーターの回路を作ったね ^^
マブチモーターにつなぐ電池の + と - をつなぎ変えると反対に回ったね ^^
マブチモーターの回転が速いから,ギヤかまして回転を調整したね ^^
回路の中にブザー挟むと,なんだか遮断機が下りるときの音みたいに聴こえたね ^^

f:id:MihoN:20170424214504j:plain

市の 科学展覧会 出展に推薦されたね!

★ 小6の男の子が大好きな走る電車を創ってみた ^^#

LEGO MINDSTORMS と LEGO 電車を使って,電車が近づくと遮断機が下りたり,
電車が通り過ぎると遮断機が上がるっての創ったね ^^*
プログラミングも初めてしたし,いろんなセンサー使ったね ^^

f:id:MihoN:20170424214940j:plain    f:id:MihoN:20170424215008j:plain

f:id:MihoN:20170424215125j:plain     

f:id:MihoN:20170424215154j:plain     f:id:MihoN:20170424215230j:plain

★ ET2013 ET Award 受賞!!

Ruby のモックも創ったね!はしっこにちょこんと...(笑)
Ruby絡みで講演,プレゼンテーター,2016年はまつもとゆきひろさんと壇上で向かい合って椅子に座って,まつもとさんへのインタビューアーもさせてもらったなぁ ^^#
めっちゃたのしかったなぁ ^^#

www.kumikomi.net

★ 母の日 & クリスマスリース の数々 ^^#

キティちゃん (⋈◍>◡<◍)。✧♡
カーネーションで創るんです.

f:id:MihoN:20170424215711j:plain

f:id:MihoN:20170424215730j:plain

f:id:MihoN:20170424215804j:plain

f:id:MihoN:20170424215822j:plain

f:id:MihoN:20170424215837j:plain

くまちゃん (⋈◍>◡<◍)。✧♡
これもカーネーションで創るんです.

f:id:MihoN:20170424215940j:plain

リース (⋈◍>◡<◍)。✧♡

LED は電子工作!リースの中に埋めたった(笑)

f:id:MihoN:20170424224003j:plain

★ ヴァイオリン製作 (⋈◍>◡<◍)。✧♡

大人の事情で今は製作ストップちう...

f:id:MihoN:20170424220700j:plain

VFD時計 ^^#

みよ!

f:id:MihoN:20170424220804j:plain

f:id:MihoN:20170424220818j:plain

★ Interface誌 これで2回目 ^^

ほんとは別特集に入る予定やったのに,担当者が...

f:id:MihoN:20170424221652j:plain

★ IoT ハッカソン2015(第1回)

らぴろんを着飾って,Azure につないで人と会話 (*^▽^*)
そして知りたい場所のお天気を教えてくれます!
あるじが留守の時,どろぼうが来ようものなら,ミサイルをぶっ放す!(笑)
こんときは RasPiB と RasPi 2 を使用.

f:id:MihoN:20170424221947j:plain

TOPPERSアプリケーションコンテスト優勝 (#^^#)

これはブログに書いてるからブログを見てね!
TOPPERSPSoC(Cyprss社)にポーティング.
Cypress は記事を PSoC Creator(開発環境)の TOP に
掲載してくれた (⋈◍>◡<◍)。✧♡
世界中のユーザに配信された (⋈◍>◡<◍)。✧♡

f:id:MihoN:20170424222549p:plain

ARM の blog にも載った ↓↓  (⋈◍>◡<◍)。✧♡
記事も英語 (⋈◍>◡<◍)。✧♡

community.arm.com

f:id:MihoN:20170424223011p:plain

 ★ すっげーかっこいい電子工作とお花の合体 (^^♪

f:id:MihoN:20170424223320j:plain

 f:id:MihoN:20170424223715j:plain

今は 2017年.これからはどんな想い出がたまるかな (*^▽^*)