2018年1月5日金曜日

「micro:bit」プログラミングしてみた!

ついにプログラミングしてみます。

パソコンのブラウザから「http://microbit.org」にアクセス。
上記ページを日本語表示に変更。
#ページ左上の「English」を押して「日本語」を選択
ページ一番上中央にある「プログラムしましょう」ってボタンを押す。
「プログラムで想像力を発揮しましょう。」ページの「JavaScriptブロックエディタ」の「プログラムしましょう」ボタンを押す。

なんと、これだけで開発できるじゃないですか!
スクラッチみたいにブロックを並べる画面が表示されました。
私は以前スクラッチでプログラミン部した事があるので理解できそうです。

ブロックを組みながら、実際の動作も同時に表示されるみたい!


…かれこれ3時間経過

ゲーム作った!
どうやってソース公開したらいいんだろ?
共有ボタンがあるけど全く使い方が解らない、、、
共有ボタン押して出てくるURLにアクセスしても「指定されたページが存在しません」って言われちゃうなー。
仕方ないので「JavaScriptブロックエディタ」の「ブロック」の画像を貼っておきますねw
#これを入力する事は難しいと思うので、真面目に公開方法を調べます
ABボタン両押しでスタート、Aボタンで左回り、Bボタンで右回りです。
#なんのこっちゃ?































































「micro:bit」パソコンに繋いでみた!

マニュアルとか見るの面倒なんで、、、

とりあえず「micro:bit」とパソコンを「USB-AとUSB-microB」ケーブルで接続しちゃいましたw

とりあえず電気が流れたみたいで「micro:bit」ボードの裏面(?)USBコネクタ横にあるオレンジ色のLEDが光りました。

あれっ?気が付くと表面(?)のLEDに何か表示されています。
「A」と「←」が点滅しているような、、、
あー、左にAボタンがありますね。
押してみました!
次は「B」と「→」が点滅、Bボタン押しました!
次は「SHAKE!」って出たので振ってみました!
次は「CHASE THE DOT」とか出たのかな?
傾斜センサが搭載されているようで振ったり傾けたりが検知できるみたい。

ボードの持っている機能が一通り試せて、ゲームみたいでテンション上がります!
何か作った時、こーゆーDEMOが必要だと思うんですよね。
#「みんなのラボ」ではDEMOを作って販売店に置いてもらったり、イベント会場で見ていただいたりしています

「そんなにお安くないマイコンボードだな」って思ってたけど、ちょっとしたセンサが入っててこの価格なら納得だしコレ単品で十分面白いかも!!

基板の裏面よく見たら「PROCESSOR」ICと「COMPAS」ICと「ACCELEROMATER」ICが搭載されてて「BLE ANTENA」もある。
あと無表記のICが1個搭載されている。
方位が解って、傾斜や加速が解って、BLE通信ができるのかなー?
みたいな。

あとパソコンとUSB接続すると「ドライブ」として見えるみたい。
中には下記2つのファイルが入っていました。
「DETAILS.TXT」は、設定系のオマジナイが何行か書かれているみたい。
#詳細は省略。
「MICROBIT.HTM」は、「micro:bit」のwebページに飛ぶだけのファイルみたい。
webページ、最初は英語表記で出るけど日本語にも切り替えられます。
#日本語は、ちゃんとしていました
googleのwebページ自動翻訳よりスムーズな日本語ページが表示されました。

さて、そろそろ自分でプログラム組みたいと思いwebページを真面目に見るとします。

…なんとスクラッチ同様のブロックエディタで作れるみたいです!
#私はキーボードでカチャカチャ文字入力したいので残念です
ん?Pythonエディターとかいうのでも作れるっぽいな。
#Python嫌いだけど、こっちの方が私向きかも
と言うか、これって学校向け(学生向け)マイコンなのかな?
webページはカナリ良くできてて、解説書とか必要なさそうだな。

まずは「JavaScriptブロックエディタ」でPCのマウスポチポチして作ってみるかなー!

気になる人は「http://microbit.org/」を見るべし!
#右上に「English」って書かれている部分をクリックすると言語が選べます(日本語アリ)

P.S.AndroidやiOSで作ってBluetooth転送もできるっぽいぞ!

「micto:bit」買ってみた!

今更かもしれませんが、、、なんか流行りそうな気がして、、、
「micro:bit」ってのを買ってみました!!

今迄は「Arduino」ってのと「mbed」ってマイコンボードを使っていました。
「micro:bit」ってのもマイコンボードみたいです。

「おさらい」と言う感じで、3つのマイコンボードを軽く比較してみます。

時系列的に、まず「Arduino」
 ユーザーが扱えるLEDが1個ついていて、みんなの大好きなLチカできます。
 #Lチカ = LEDをチカチカ点滅させる事
 スイッチはリセットボタンのみ、ユーザーが使えるボタンはナシ。
 パソコンとの接続方法はUSB-Bです、基板上で一番大きな部品です。
以下の写真は古いモデルのArduinoです。















次は「mbed」
 ユーザーが扱えるLEDが横一列に4個ついています。
 4個もあると、ちょっとしたデバック表示なんかに使えて便利です。
 残念ながら、こちらもスイッチはリセットしかついていません。
 パソコンとの接続方法はUSB-miniBです、チョット今更感ですね。
 ArduinoよりCPUは早く、メモリも沢山。もちろん価格も高い!
以下の写真はmbedがブレッドボードに刺さっている写真です。















そして「micro:bit」
 LEDが縦5個×横5個=25個もついています!
 ココだけで簡単な絵が表示できそうな気がします <妄想?
 スイッチも3個ついています。
 何も書いてないスイッチ1個と、A、Bの3つなので、AとBはユーザーが使えそうです!
 パソコンとの接続方法はUSB-microBです、現時点では一番スタンダードな気がします。
以下の写真は「表面?」「裏面?」「パッケージ」「箱の中身」です。
#「USB-AとUSB-microB」ケーブルは同梱されていませんでした













「micro:bit」の大きさは「Arduino」の2/3くらいです。
#ちょっと小さいって事ね
因みに「mbed」は「Arduino」の半分くらいです。

2017年11月4日土曜日

Binary translation!(部品の説明)

抵抗:LEDの電流制限用に使っています。
 電池のプラスとマイナスを直接コードで繋ぐとショートしてしまいます。
 これはコードが限りなく無抵抗の為、電流が沢山流れてしまうからです。
 LEDは消費電力が少ないことで有名です。
 電池にLEDを繋いでも少ししか抵抗がありません。
 なのでショートに近い状態となってしまいます。
 それを回避するために電池とLEDの間に抵抗を挟みます。

ダイオード:電気を一方向にだけ流す部品です。
 「右から左に電気が流れるのは良いけど、左から右には電気が流れないでほしい」そんな「電気の一方通行」を作りたい時に使う部品です。

クリスタル:一定周期でON-OFFしてくれる部品です。
 IC(CPU)速度を制御している、回路の時計みたいなものです。
 周期が早いほど回路が高速に動きます。
 もちろん周りの部品も早い動作に対応した物でなければ意味がありません。

ICソケット:ICを上に搭載する部品です。
 ICを付けたり外したりも可能です。
 部品によっては非常に熱に弱ものがあります、ハンダ付けをしている間に熱で壊れてしまうかもしれません。
 今回のキットで特に熱に弱い部品はIC(CPU)です。
 ICを直接ハンダ付けするのではなく、ソケットをハンダ付けしてからICを搭載するように添付しました。
 完成した後にプログラムの変更をしたい場合もICをソケットから外せるので便利です。

赤LED:ごく一般的な「砲弾型」の赤色LEDです。
 LEDは日本語だと「発光ダイオード」と言います。
 「発光=光る」と「ダイオード」が合体してますね。
 LEDにはアノードとカソード(プラスとマイナス)の極性があります。
 ダイオードの特性(電気の一方通行)も持っています。
 電源と直接つなぐと抵抗値が少なくショート状態になる為、通常は抵抗と一緒に使います。

コンデンサ1コンデンサ2:電気を貯める部品です。
 バッテリーと似てますが、1秒分すら電気を貯められません。
 コンデンサ1は容量の大きいコンデンサです。
 USB端子から5Vが供給されIC(CPU)に給電されます。
 ICには常にきちんとした電気の供給をしないといけません。
 そのため容量の大きいコンデンサを電源とICの間に挟んでいます。
 コンデンサ2はクリスタルの前後についています。
 クリスタルもシビアな部品(時計)です、きっと必要なのでしょう。
 こちらはクリスタルの説明書に「前後に付けましょう」って書いてあったので付けただけです、メーカーの推奨回路に従ったものです。

7セグメントLED:「8」と「.」が付いた表示器です。
 8を表示するのにナゼ「7セグ」と呼ばれているのか?
 よく見て下さい、8を表示するには7つの光る場所でできていますよね?
 3本の横棒(上段、中断、下段)
 4本の縦棒(右上、左上、右下、左下)
 合計7つのセグメントで構成されています。
 「.」があるから8つのセグメントでしょ!
 おっしゃる通り、今回は8セグメントの部品です。
 でも「7セグメントLED」と呼ばれています。
 開発当時は「8」だけ表示できるの部品で、「.」は後から付加され たのかもしれませんね。

USBコネクタ:USBのtypeBを差し込む部品です。
 今回はUSBコネクタから電源を供給します。
 パソコンに繋いでも給電できるし、モバイルバッテリーからも給電できるし、なにより今回の回路が5V動作の部品でできているのでUSBでの給電を選定しました。

スイッチ:単なるON-OFFスイッチです。
 ON-OFFだけできる「トグルスイッチ」と言う部品です。
 A点とB点の間に電気が流れるか否かだけをセレクトするものです。
 2本足の部品で十分だったのですが、カチカチ操作しているうちに基板から部品がもげてしまう危険性を減らす為に3本足の部品を選びました。

IC:ワンチップ型のマイコンです。
 CPUとRAMとROM(Flashメモリ)とGPIOと…色々合体しているICです。
 ATMEGA328という型番で、ArduinoUNOに使われているICです。

基板:すべての部品を搭載する板です。
 部品を搭載してハンダ付けするベースとなる板です。
 裏と表の2面に配線がされています。

2017年10月21日土曜日

Binary translation!(どうやって作ったか)

この商品のCPUはATMEGA328と言うICを使っています。
このCPUはArduinoUNOに使われているICです。

最初はArduinoUNOのシールドで作ろうと考えていました。
しかし「何か作るたびにArduinoを買う」という事が「もったいない」と思いました。
そこで今回は「Arduinoで開発」して「必要な部分だけ移植」する設計にしました。
試作はArduinoとブレッドボードで、製品はオリジナル基板で。
そんな思いから作られた商品となっております。

1.作りたいものに必要な部品を買ってきました。
 #スイッチ8個、LED8個、7セグメントLED5個

2.ブレッドボードに回路を組んでArduinoと接続してプログラムを書きました。
 #スイッチには逆流防止用にダイオードを付加しました
 #LED用には電流制限用に抵抗を付加しました
 #どちらの部品もラボにあった物を使いました

3.Arduinoで作ったプログラムが入ったCPUをブレッドボードに移植し、動作に必要な部品類を付加して動作確認をしました。
 #5V電源供給と16MHzクリスタルを付加しました

4.製品用に部品の配置(レイアウト)を考えました。
 #なんとなく部品を並べてみただけ

5.レイアウトを元にCADソフトで基板図を書きました。
  #アクリルで基板形状を作り部品搭載確認しました

6.基板屋さんに基板を作ってもらいました。
  近所の町工場で試作として5枚を、3日くらいで作ってくれました。

7.できあがった基板に部品をハンダ付けして動作確認、バッチリ動きました!

おおまかな流れとしてはこんな感じです。

もちろん失敗や苦悩なんかも沢山ありましたよ。

「なぜこの商品を作ったか」や「試作機がどんなだったか」は、下記ブログを御確認下さい。
n進数の話

2017年10月20日金曜日

Binary translation!(作り方)


こちら側から部品を搭載します。
反対側からハンダ付けします。






















背の低い部品からハンダ付けしていきます。

1.抵抗8本を基板のR1~R8にハンダ付けします。
  抵抗には取り付け向きがありません。
  しかし8つの抵抗の色の向きを揃えた方がカッコイイでしょう。

2.ダイオード8本を基板のD1~D8にハンダ付けします。
  ダイオードには取り付け向きがあります!
  部品の片側に黒線が引かれています、基板上のシルク印刷の部品絵にも線が書いてあります。
  線の向きを合わせてハンダ付けしてください。

3.クリスタルをQ1にハンダ付けします。
  クリスタルには取り付け向きがありません。
  しかし部品の上に文字が書いてあるので基板の文字と同じ向きに揃えた方がカッコイイでしょう。

4.ICソケットをIC1にハンダ付けします。
  基板上のシルク印刷の部品絵に切り欠きがあります、部品にも切り欠きがあります。
  切り欠きの向きを合わせてハンダ付けしてください。

5.赤色砲弾型LEDをLED1~LED8にハンダ付けします。
  LEDには取り付け向きがあります、足の長さで判別します。
  足の長い方が上(スイッチ側)にしてハンダ付けしてください。

6.コンデンサ1はC1に、コンデンサ2はC2とC3にハンダ付けします。
  コンデンサに取り付け向きはありません。
  コンデンサ1は部品の足の幅が広く、コンデンサ2は部品の足の幅が狭いです。
7.7セグメントLEDを7SEG1~7SEG5にハンダ付けします。
  基板上のシルク印刷の部品絵にピリオド(小数点)が描かれています、ピリオドの位置が同じになるように向きを合わせてハンダ付けしてください。

8.USBコネクタをCON1にハンダ付けします。
  USBコネクタには向きがありますが、1通りしか刺さる方向が無いので間違える事はないでしょう。

9.スイッチをS1~S8にハンダ付けします。
  機能的には向きはありませんが、外形的に向きがあります。
  向きを揃えてハンダ付けした方がカッコイイでしょう。

10.ICをICソケットに差し込む。
  ICには向きがあります、ICソケットの切り欠きとICの切り欠きを揃えて差し込んでください。
  ICにはプログラム書き込み済みです。
  「ICピンそろった」という工具で、ICの足を揃えてあるので比較的簡単に刺さると思います。
  くれぐれも、無理に力を入れて足を曲げないように注意してください。

お疲れ様でした、これで完成です。

Binary translation!(キット品に入っているもの)


基板       1枚

抵抗       8本 (8本とも同じものです)

ダイオード    8本 (8本とも同じものです)

クリスタル    1個

ICソケット    1個

赤色砲弾型LED   8個 (8個とも同じものです)

コンデンサ1   1個 (足の幅が広いコンデンサです)

コンデンサ2   2個 (足の幅が狭いコンデンサです)

7セグメントLED  5個 (5個とも同じものです)

USBコネクタ    1個

スイッチ     8個 (8個とも同じものです)

IC        1個


すいません、後日写真を掲載します。