カテゴリー「micro:bit」の記事

2020年2月27日 (木)

GVOLT70 のランタイムを計ってみた


ハンドルバーに吊り下げるマウント方法が良さげで買ってしまったGVOLT70
実際に使ってみると…微妙… (´・ω・`)

明るい…っちゃ明るいんだけど、対向車(?)に配慮したらしい上側をカットしたは配光は周りが見えない感がハンパない。
歩行者が突然視界に現れる感が凄いです。
200226p02
micro:bitを計測機代わりにランタイムを計ってみたログではHiモードで7時間。Midモードで9時間40分と言うところでした。
LoモードはウッカリLOGを消してしまって計測失敗、なんか20時間以上…猛烈に時間掛かるし、見た感じあまり明るくない…多分使わないから良いや。
200226p01
micro:bitのADコンバータは10Bitで解像度は1025の筈なのに何故か最高値が800位しか出ないのが変だな~と思っていたのですが、TEMT6000明るさセンサのデータシート見たら入力5V必要なんですね。
micro:bitのエッジコネクタから出てる電源は3V…はい、電圧不足でした。


最初に購入したキットに入ってた、このシールドは5V 電源が引き出せるようになっています。
5Vで試してみると最大値1024が出ました。
ただ、どのみち計測レンジを振り切っていますし照度が落ち始めたら一気に暗くなるのは同じですから再計測はやめておきます。
レンジを振り切らない調整ができるようになったら…あと、アレが手に入ったらもう一回やるかも。

。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。

PVアクセスランキング にほんブログ村

| | コメント (0)

2020年2月22日 (土)

micro:bitを照度計にしてみる(その4)

一応、計測はできましたが問題点もいくつか出てきました。
micro:bitの固定が難しくてチョット箱を動かすとmicro:bitかLEDライトが転がってしまう。
箱の中がどうなっているのか分からずシュレーディンガーの猫状態 (´・ω・`)
micro:bit本体に明るさを感知する機能があるので本体をセンサーとして使っていましたが、本体と一緒に買ったキットの中に明るさセンサーが付いていましたのでセンサーを箱の中に入れ本体は箱の外に出して計測状況を表示するようにします。

光センサーはCDs使うのが定石のような気がしますが、たまたまキットにオプチカルトランジスタを使ったモジュールがあったのでコレを使います。

TEMT6000光センサーモジュール、1個300~600円位です。
使い方はCDsセンサーと同じですのでCDsを使用した作例を参考にしました。

200222p01

BlockEditorだとサクッと確認できますね。
200222p03

MicroPythonでは参考に出来る作例が見当たらなかったのでリファレンス見て試行錯誤
ファイルが追記できない問題も「追記しないで書き続ければよい」と言う単純な解決策に至り1分間隔で(理論上)最大50時間まで保存できるようになりました。

ダウンロード - brightloger2.py

再度、計測テスト
前回と同条件にするのが望ましいので電池もヘタれたエネループ を使用

前回と同じ傾向で有効なランタイムも大体同じくらい。
うまく動いていると考えてよさそうです。
200222p02

。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。

PVアクセスランキング にほんブログ村

| | コメント (0)

2020年2月20日 (木)

micro:bitを照度計にしてみる(その3)

MicroPythonで照度計測が出来ましたのでmicro:bitのストレージに計測結果を保存して照度ロガーに仕立てます。
MicroPythonのファイルはAppend(追記)が出来ません。
どっかのドキュメントに「面倒だから実装しない」みたいな事が書いてありました。(・Д・`)
2個のファイルをコピーしながらやれば追記擬きな事が出来なくは無いのですが、ファイルが大きくなる毎に処理に時間がかかるようになり時間計測の誤差が大きくなるように思いますのでRTC(時計)がついていないmicro:bitでは無理があるように思います。
代替えとしてList(可変サイズの配列)に計測結果を覚えておいて計測終了時にまとめて書き出す方法にしてみました。

メモリー量が分からないので実験してみたところ、2個の値(経過時間と明るさ)を追記していくと250要素でメモリーエラーが発生、使えるのは200回って所でしょうか。

1分間隔で記録するつもりだったのですが200分(3時間20分)では意味がないので5分間隔で16時間30分の記録が取れるようにしました。

ダウンロード - brightloger.py

5分あれば1~2km走れますが600km走るランドヌールにしてみれば1~2km位は誤差の範囲でしょう。

micro:bitとLEDライトを箱に入れてランタイム計測
使用したライトは手持ちで一番小さきいFENIX LD13。
いつもはミドルモードでヘルメットライトに使用しているのですが取り敢えずテストしたいのでヘタれたエネループを入れてTurboモードにしておきます、多分2時間位で電池が切れる筈。
200220p01

計測結果をExcelでグラフにしてみます。
200220p02

micro:bit とライトの固定に難があってイマイチでしたが 計測結果は分かりやすい感じで出てます。
有効なランタイムは80~100分って感じでしょうか。

。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。

PVアクセスランキング にほんブログ村

| | コメント (0)

2020年2月17日 (月)

Pythonでmicro:bitを操作してみる

BlockEditor版のFilesystem(ベータ版)が上手く動かなかったのでMicroPythonを試してみることにしました。
micro:bitはBlockEditorもMicroPythonもオンライン開発環境が用意されていますが…
オフラインの方が何となく好き(?)安心(?)なのでmicro:bitでPython[Muエディター]を参考にMicroPythoneのオフライン開発環境を整えます。
BBC micro:bit MicroPython ドキュメンテーションを見れば大体の使い方はわかります。

Python…教育は受けたんで概要は知っていますが実際に使うのははじめてです。
この辺りのプログラム言語は各々の特徴はあっても極端な違いはないのでJava(JavaScriptではない)とかC++とかをマスターしていればリファレンス見ながらで十分使えると思います。
MicroPythonはぶっちゃければ若干書式が違うだけで難易度はBlockEditorのJavascriptと大差ありません。

なので、まずはBlockEditorで作った照度測定をMicroPythonで書き直してみました。

Block Editorの
(明るさ)に相当するのがmicrobit.display.readlightlevel()
(一時停止ミリ秒)に相当するのがutime.sleep_ms(ms)
LEDの初期化はmicrobit.display.clear()
LEDの点灯はmicrobit.display.set_pixel(x,y,9)
と、これだけ分かっていれば組めるでしょう。

ダウンロード - bright.py

多少 (´・ω・`) 試行錯誤しつつ無事に再現
(明るさ)を3桁の2進化10進数で表示

200217p01

。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。

PVアクセスランキング にほんブログ村

| | コメント (0)

2020年2月14日 (金)

micro:bitを照度計にしてみる(その2)

計測結果を記録出来なきゃ意味ないじゃん!
と言う訳で記録方法を調べてみました。
micro:bitには32KByteのファイルシステムが存在する事が判明
MicroPythonでファイルシステムにアクセス出来る…ってPythonかよ開発環境そろえるの面倒くさい。
BlockEditorで何とかならんの?
と思って見たら有りました、ベータ版だけど

後は時間ですが、micro:bitにはRTC(時計)が付いてないんですね。
ブロックの一覧を見たら(稼働時間:ミリ秒)があったのでコレで時計を作って誤差を見てみる。
サクッと制作 2進化10進数表示の時計、時刻合わせ機能付き。

ダウンロード - microbitclock.hex

コレを一晩動かして誤差を見る。
200214p01

結果は10時間で2分の遅れ  (´・ω・`)

自転車用LEDヘッドライトのランタイムを計測する目的には2分程度のズレは許容範囲内ですが、時計としては使えませんね。

。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。

PVアクセスランキング にほんブログ村

| | コメント (0)

2020年2月13日 (木)

micro:bitを照度計にしてみる(その1)

micro:bitで何をしようかな(*´ω`*)
スペックを再確認してみると明るさが計測できるらしい。
照度計をライトで照らしてビデオカメラで撮影して放置し、再生して確認の超人力アナログでやってたLEDライトのランタイム測定が自動化出来るんじゃね? ( *´艸`)

もうね、サンプルにあるくらい簡単ですね、早速やってみます。
200213p01

0~255の値を25個のLEDで表現するので10刻み…感覚的には分かるけど…コレじゃない感が…

明るさセンサーの値を2進化10進数で表示する様に変更。
何か思うように動かない…って実数演算か!いつものクセで整数演算だと思い込んでました (´・ω・`)

でも、これ計測値をどうやって記録したら良いの?
計測値が記録出来なきゃ意味ないじゃん orz

。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。

PVアクセスランキング にほんブログ村

| | コメント (0)

2020年2月12日 (水)

micro:bit買ってみた

時代はフィカルコンピューティングだよね??
と言う訳でmicro:bitを買ってみました。
200212p01
コンピュータ制御の学習用ガジェットなので電子工作のためのオプションが豊富で本体にも色々面白いセンサーが標準装備されています。
本体に装備されている入出力はボタン2個と5x5のLEDだけですので工作ありきで考えないと本体だけで出来ることは限られています。
プログラムはブロックエディタで行えます。
Scratchライクなビジュアルが画面でプログラムを組めるブロックエディタはWindows、Mac、Linux、RaspberryPi、iPhone/iPad、Androidで動作します。
スマホでプログラムが組めるとか お手軽 (^ω^)
200212p02  
ブロックエディタはmicro:bitエミュレータも備えていますので動作を確認しながらプログラムが組めます。
ブロックエディタで作成したプログラムはJavascriptと相互に変換できます。
コピペとかはJavascriptモードに切り替えてテキストエディタで作業した方が早いです。
ブロックエディタ(JavaScript)で出来ない高度な事はMicroPythonやC言語でのチャレンジもできます。
まずはビデオカメラと照度計使ってアナログにやってたヘッドライトのランタイム測定を自動化してみようかな、夢が広がりんぐ (*´?`*)
本体だけなら2千円くらいですが、工作ありき なので色々付いてるスターターキットをお勧めします、千石とか秋月に行けるなら良いですけどネット通販でこの手の小物をチマチマ買うと(送料が)結構高くつきますから、いっそセットの方がお得です。
。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。Y⌒Y⌒Y。.+:・゚☆゚・:+.。
  PVアクセスランキング にほんブログ村

| | コメント (0)