t-yosh’s blog

元ソフトウェアエンジニアが、モノづくりについて学んでいるブログです。モノづくりに必要なハードウェア・ソフトウェア・デザインのことを書いています。

Arduino 互換機

最近、コンパクトなシステムを作るのに、Android互換機のモジュールを見ていたのですが、いくつか買ってみたのでご紹介します。

 

f:id:t-yosh:20180223015828j:plain

小さいものから順に

(1) KKHMF Digispark Kickstarter Attiny85  ¥275

(2) waves Arduino Nano V3.0 互換品 2個で¥1080

(3) MH-ET LIVE mini ¥800くらい

 

今日は(1)の紹介です。

f:id:t-yosh:20180223020142j:plain f:id:t-yosh:20180223020150j:plain

(1) KKHMF Digispark Kickstarter Attiny85  ¥275

 メインチップがAtmel Attiny85 MCUArduinoとは違うチップのようですが、Arduinoの開発環境で開発できるとても小さなモジールです。

 インターフェースは、デジタルI/O x 6 , Analog Input x 4,  PWM x 3 , I2C x 1 port という感じです。 

  • All pins can be used as Digital I/O
  • Pin 0 → I2C SDA, PWM (LED on Model B)
  • Pin 1 → PWM (LED on Model A)
  • Pin 2 → I2C SCK, Analog In
  • Pin 3 → Analog In (also used for USB+ when USB is in use)
  • Pin 4 → PWM, Analog (also used for USB- when USB is in use)
  • Pin 5 → Analog In

デジタルI/Oとアナログの入出力のサンプルコードは以下にあります。

http://digistump.com/wiki/digispark/tutorials/basics

 

チップの仕様書 http://akizukidenshi.com/download/ds/atmel/attiny25_attiny45_attiny85.pdf) 

 

チュートリアル関係の記事です

<公式>

http://digistump.com/wiki/digispark/tutorials/connecting

<Qiitaで説明記事を書いてくれている例>

https://qiita.com/mt08/items/df4ed8c659b205d1fa1e

<ドライバーについては、ここを参考にしました。>

http://denshibu.blog.fc2.com/blog-entry-80.html

 

 

 

 

分解ネタ - その3 電子カウンター -

分解ネタ - その3 電子カウンター -

100均で売っていた電子カウンターです。ボタンを押すたびにカウントアップするものです。リセットボタンもついています。

 

f:id:t-yosh:20180210034148j:plainImage uploaded from iOS

 

裏側のネジを外します。 

f:id:t-yosh:20180210034235j:plain

 

基盤を固定しているねじを外すと分解できました。

f:id:t-yosh:20180210034420j:plain

 

f:id:t-yosh:20180210034507j:plain

このディスプレイの基板との接続部分が見たことのない感じでした。ディスプレイに接触させているゴムのようなものが基板にも接触するようになっています。

f:id:t-yosh:20180210035405j:plain

ゴムも分解できましたが、このゴムを介して、ディスプレイに接続される仕組みは気になります。ただ、接触不良は多そうですね。実際、このカウンターも動作が変になってました。

 

f:id:t-yosh:20180210034544j:plain

ボタンのところは、カウントアップするところは、普通のゴムの押しボタンです。サイドにあるリセットボタンは、ぱちぱちと押した感覚のある鉄の部品が使われています。

 

f:id:t-yosh:20180210035716j:plain

制御ICは、この黒い塊の中にあるようです。ダイボンディングという手法でのICマウント方法だそうです。

https://www.ushio.co.jp/jp/technology/glossary/glossary_ta/die_bonding.html

 

使えなくなって、ゴミになったものでしたが、分解したらダイボンディングというマウント方法を学習できました。ディスプレイの接続方法も面白かったです。

< 休憩時間ミュージック その5> DJ minoyama "The Dutch Masta"

< 休憩時間ミュージック その5> DJ minoyama "The Dutch Masta"

f:id:t-yosh:20180202020015p:plain

今回はDJ minoyamaさんです。あまりminoyamaさんについて詳しいことは知りませんが、彼のmix 好きなやつが多いです。

最初に聞いたのは、Queen Of Soul III なのですが、完全にやられてそこから過去のmixを買いあさってます。(あまり見かけません。。。)

minoyamaさんは、mixのテーマで使う曲のジャンルを変えて使っているイメージあったのですが、このmixはいい感じにジャンル横断されてます。

けっこうクラシックなソウルがメインかと思って買ったのですが、ラップ、R&Bも何曲か入っていて結構目から鱗的なつなぎがありますね。

このCDが作業にいいのはですね、ちょうどよい横揺れ感ですね。ちょっと午後一で眠くなってきて、眠気防止にちょうどよい塩梅です。

よくやるのが、景気づけにアッパー系で行こう!イエィ!っとアッパーでいって、そっちの世界に行ってしまうことです。ダンクラ / R&B アッパーいれると上がりすぎてしまうんですね。

その点、これは最初あげてきますが、間にラップやバラードで落ち着かせてくる調子が良いのです。中盤のスティービーワンダー、そして後半のSteely Dan 2連発にやられます。

トランジスタ - ちょっとしたTopic - 

電子部品のちょっとしたTopic 

小ネタですが、以外と役に立ちそうなTopicはこのカテゴリーに書こうかと思います。参考にされる場合はご自身でよくご確認して利用してください。

 

<トランジスタの足の覚え方>

 2SC1815 は、エミッタ、コレクタ、ベースが毎回わからなくなっていたのですが、魔法の呪文がありました。

1815の文字が見える方向から見て「エクボ(E,C,B)」です。

仕様書のエミッタ、コレクタ、ベースの絵がボトムビューなのも注意ですね。

  f:id:t-yosh:20180128174956p:plain f:id:t-yosh:20180128175212p:plain

      http://akizukidenshi.com/download/2sc1815-gr.pdf

 

 

分解ネタ - その2 マウス -

二回目の分解ネタです。今回はマウスです。

f:id:t-yosh:20180127160838p:plainf:id:t-yosh:20180127161441p:plain

Logicool M325というマウスで、かなり定番のものかと思います。私のは変った模様で気にいっていたのですが、クリックがダブルクリックになってしまう問題が頻発したので買い替えましたので、いざ分解してしまいます。

今回はボタン操作部分と基盤がどのようにつながっているか見てみたいと思います。

マウスについているボタンですが、以下の5つがあります。

  1. 右・左クリック
  2. ホールのボタン操作 (真ん中・左右)
  3. 上下ホイール
  4. 電源ON/OFFボタン 

こちら一つずつ見ていきます。

 

はいっ!!

開けました。

f:id:t-yosh:20180127161935j:plain

左の筐体部分はパーツにわけるとこんな感じです。

f:id:t-yosh:20180127162451p:plain

バランスを取るためか、おもりが入っていますね。

それでは、各操作の仕組みを見ていきましょう。

 

<1 右・左クリック>

f:id:t-yosh:20180127162729p:plainここは白いパーツの四角部分が、基板に実装されているボタンを押す構造になっています。白パーツは白い爪で後ろ半分が固定されていますが、前部分はフリーなので自由に曲げられます。クリック感は実装されたボタンがそのような押し心地になっていました。Kailhという刻印があるのですが、Kailhで検索するとキーボタンの構造の名前のようで、わりと有名な仕組みなんでしょうか。

 

<2 ホールのボタン操作 (真ん中・左右)>

 

f:id:t-yosh:20180127164000p:plain ←このホイールは押しと左右に倒すボタンでもある。

f:id:t-yosh:20180127163804p:plain

↑ 中はこうなっています。

 f:id:t-yosh:20180127164741p:plain f:id:t-yosh:20180127165159p:plain

↑ホイールのパーツはこんな感じです。

ホイールを組み込む透明なパーツが基板の黄色の部分で支えられており、ホイールを倒すと基板の青い四角の左右ボタンを押すようになっており、また、下側のボタンはシーソーのようになっていて、ホールを手前に押すと赤い四角のスイッチが押される構造になっていました。

 

<3 上下ホイール操作 >

f:id:t-yosh:20180127165310p:plain f:id:t-yosh:20180127165248p:plain

f:id:t-yosh:20180127165722p:plain

 上下のホイール動作の検知は、光のセンサーで行っているものと思います。送信部と受光部があって、ホイールの部分の動きを検知しているのだと思います。

<4 電源ON/OFFボタン >

f:id:t-yosh:20180127170232p:plain

f:id:t-yosh:20180127171050p:plain f:id:t-yosh:20180127171023p:plain

こちらは普通にボタンですが、筐体との組み合わせのところが面白いですね。青丸に示した基板上の爪に引っ掛けてるのですが、方向を間違えないようにスイッチのパーツが上下非対称に作ってあります。

 

< おまけ >

f:id:t-yosh:20180127171637p:plain 電池BOXを見てみると何やらシールが。

f:id:t-yosh:20180127171500p:plain はがしてみると基板上にはんだあとがあります

f:id:t-yosh:20180127171417p:plain f:id:t-yosh:20180127172701p:plain

このハンダはスルーホールではなく半貫通ですが、配線を追うと、VB010411に入っているようです。VB010411は光学マウスの移動を見るセンサーのようですが、後工程で何か調整とかをするんでしょうか?

ちなみに、メインCPUは、[ NRF24LE1 ] とあり、Nordicのチップのようです。型番で調べると、「The nRF24LE1 is a highly integrated ultra low power 2.4GHz RF System-on-Chip (SoC) for 2.4GHz ISM (Industrial, Scientific and Medical) band operation.」だそうです。

 http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24LE1 

2.4Ghzの通信と、マイコンが乗っているSoCですね。

 

捨てようと思ってたマウスですが、よく見てみると色々と発見があって、面白いかったです。小物が多いですが、分解ネタは定期的にやっていこうかと思います。

 

水漏れセンサー <機能追加編 その1>

以前作成した水漏れセンサーシステムですが、何点かつっこみがあり修正点がいくつか出てきました。大きくは二点。

 (1) たまに止まっている。電源を抜き差ししないと復帰しない。

 (2) 水漏れ検知した際のスピーカーの音が小さく気づかない。

(1) は、ウォッチドッグタイマーの実装をすればよいと思います。

(ウォッチドッグはいれるか悩んでいたところなのですが、長期運用ではやはり必要ですね。)

(2) については、前回の回路図を見てみると、IO23から直接SPの+端子に接続していましたので、十分な電流が得られず音が小さいのもしょうがない感じの設計でした。

f:id:t-yosh:20180108143339p:plain

 

f:id:t-yosh:20170927142247p:plain

 

インジケータと警告音については、居室の方に設置したいとの要望ありましたので、別の部屋に設置するインジケータと警告音デバイスを作成する予定となりました。

今回はWROOM-32本体からは離れた位置なので、GPIOのラインのみを延長して、インジケータと警告音のON/OFFするようなものを作成したいと思います。電源は別取りかな。

イメージ的にはこんな感じのものになるかと想像中です。

f:id:t-yosh:20180108160155p:plain

Fusion360 Eagle連携チュートリアル

2018年の初投稿は「FusionとEagleの連携チュートリアル」のお試しになりました。

以下のリンクで試したあとに、自前の基板想定でやってみました。

https://knowledge.autodesk.com/ja/support/fusion-360/learn-explore/caas/video/youtube/watch-v-ebqvLY37rW0.html

 

チュートリアルの手順をまとめると以下な感じです。

(1) Eagleで基板にパーツを並べる。

(2) Eagleで配線する。riplupなやautoで配線

(3) Eagleから、FusionのPCBデータにリンクする。

(4) FusionでPCBの板の外形が決まる

(5) EagleでFusionからデータをpullする。

(6) Fusionで行ったレイアウトの変更や外形が反映される。

 

・自作の基板を作るのにもFusionと連携させてみました。

基板のデータがFusionに入ると以下のようになります。チップLEDと抵抗の3次元データが挿入されています。3Dデータがない部品は、基板上の2Dの使用領域から少しだけ厚さをつけた板状のボディが形成されました。真ん中の黒い板がSOP-16の部品から作成されたボディです。

f:id:t-yosh:20180108012439p:plain

配線などはPCBのボディの上にデカールで貼り付けられていました。(今回はなぜか配線がずれて貼り付けられてしまいました。)

f:id:t-yosh:20180108012556p:plain

 

注意が必要なのは、Eagle純正の部品データには3Dが入っているものとそうでないものがあるということですね。

Eagleのライブラリーで3Dのアイコンがついているものの場合に、Fusion側で3Dデータが現れました。

f:id:t-yosh:20180108011120p:plain

f:id:t-yosh:20180108011242p:plain

チップLEDは3Dデータがあるので、形状が確認できます。

探してもパーツデータがない場合は、自分でパーツデータを作成することも多いので、3Dデータも合わせて作成する方法を今度調べたいと思います。

 

 

これまでは基板から筐体を作る際に、基板情報をdxfデータにして読み込んだりしていたので、簡単にリンクできてやはり便利です。Fusion側からPCB形状の変更をEagleに持っていくことも可能なのは、設計変更時に便利そうですね。