Miho's Memory

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

らぴろんの目入れ儀式💛

 

今年は近所の神社と,○○大師と○○神社に初詣にいってきた^^
そこで だるま を見て思った.

そうだ!らぴろんの目入れをしよう💛

まずは 目を創ることから!(笑)

■ らぴろんの目をつくります ^^

〇用意するもの
Adafruit I2C通信の8x8ミニLEDマトリックス基板  2個  

Adafruit I2C通信の8x8ミニLEDマトリックス基板(青色) - スイッチサイエンス

はさみで切れる超薄型ユニバーサル基板  

https://www.switch-science.com/catalog/3309/

ETFE電線(ジュンフロン線)0.26mm  

https://www.marutsu.co.jp/pc/i/7967/

ハンダづけ環境やRasPi2と接続するためのケーブル

 1.  目のイメージを創ります

MatrixLEDを取り付け基板に取り付けましょう♪
取り付け向きは下の通りにしてね ^^# 基板にある白丸側に型番表示が来るように ^^

f:id:MihoN:20190105225055j:plain

つぎに
はさみで切れるユニバーサル基板をらぴろんの目の縦幅くらいに切ります.
そして,目のパーツが取り付けられているネジを利用して止めちゃいます.
裏から見るとこんな感じ(左)表から見るとこんな感じ(右)

f:id:MihoN:20190105224340j:plainf:id:MihoN:20190105224624j:plain

ここで MatrixLED の登場です.いい感じのところに配置しましょう♪

f:id:MihoN:20190105224802j:plain

2. さぁ,ハンダ頑張って!

f:id:MihoN:20190105225301j:plain

じゃ目入れの儀式を行います ^^#

3. RasPiとつないで
    じゃぁ~ん! お正月なので💛 正月

f:id:MihoN:20190105225451j:plain

カメラで撮るとぼやけて撮れる...
いま,はさみで切れるユニバーサル基板が少し浮く(ネジで留めて反り返ってるからね)でもアタマにRasPi収めて閉じちゃえば,RasPiがはさみで切れるユニバーサル基板ごとグイっておすからその浮きはずいぶんマシになるよ ^^#

いろんな材料を加工できる機械持ってるひとは,材料を加工してRasPiに取り付けれる冶具なんかを創って取り付けてもいいかもね ^^#

3Dプリンタで冶具創るなんてのもありかも ^^#

と今日はここまで.ひさしぶりに らぴろん に息を吹き込んだ(笑)
これからアタマの中がいろんなもので詰まっていく予定.詰まりすぎて熱くなって らぴろん が熱で寝込んでしまわないようにしなきゃ ^^#

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 さんが作られたものをそのまんま使っちゃいます!!

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

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