おもしろいもの、いろいろ
by f_s_x
カテゴリ
全体
写真
カメラ・レンズ
赤外写真
デジタル画像
コンピューター
電気・電子



天文
ダム
橋・水門

狛犬・稲荷・盃状穴
動植物
廃キング
その他
未分類
リンク
お気に入りブログ
風景のある生活
USS.SHONAN
flarist
日々是平凡(or あれも...
真四角の窓から見た世界
カルイオモイ ~phot...
coolys creek...
バシャコン!アルバム
M k Cool Pic...
日々思うこと~幸せの部品
空っぽの時間
光と共に… Это мо...
ブリキの箱
In The Soup
まぁいいか、とものぐさの日々
Paper crip
答えの無い写真
ふろどうらく
All those......
まぁいいか、とものぐさの...
明暮日の茶ばしら
もやっと&ノラ
視神経的写真術
14番目の月
最新のコメント
通常の日本製の家電なら、..
by f_s_x at 10:46
>まずはArduinoを..
by afuroyan at 20:25
秋の長雨で、キノコが元..
by FSX at 20:23
確かに立派w
by あり at 18:53
あ゛あ゛あ゛・・・ 立..
by afuroyan at 15:44
どうもです~。 アスフ..
by f_s_x at 19:04
すごい ニョキニョキです..
by afuroyan at 08:22
少し薄雲がありましたが、..
by FSX at 20:12
今回は皆既時間が長ったで..
by afuroyan at 12:48
今年もよろしくお願いしま..
by FSX at 20:29
最新のトラックバック
ミルフィーユ・カラコ
from coolys creek
belomo/belomo
from なるほどキーワード
belomo/belomo
from なるほどキーワード
21世紀星空早見ガイド―..
from 双眼鏡のニコンとケンコーとビ..
鎌倉で赤外撮影
from 赤外線の彩り~α100で赤外..
慶びの日
from 日々思うこと~幸せの部品
After the ty..
from カルイオモイ ~photog..
以前の記事
2018年 12月
2018年 11月
2018年 10月
2018年 09月
2018年 08月
2018年 07月
2018年 06月
2018年 05月
2018年 04月
2018年 03月
more...
ライフログ
検索
ファン
記事ランキング
ブログジャンル
画像一覧


カテゴリ:コンピューター( 49 )

ATtiny13Aで赤外線リモコンを作った

 ブレッドボードに組んだリモコンが動作したので、基板に実装する。
ちなみにブレッドボードに組む前に、Fritzingというソフトを使うと、PC上でブレッドボードに組むことができる。これが結構便利で、回路図やプリント基板の設計もできるし、それぞれ配線状態が連動するので、配線の忘れや間違いをかなり防ぐ事ができる。またプリント基板を作らない場合でも、ユニバーサル基板に組む際の部品配置を検討できる。
 せっかくなら小さく作ってみようと、手元にあった小さい基板の切れ端にICソケットやスイッチ等を並べてみると、ちょうど収まりそうな感じ。
 でも組み立てていくうちに、LEDを駆動するトランジスタや抵抗が収まりきれない!
 仕方なく表面実装のトランジスタと抵抗も使うことにする。トランジスタは2SC1815互換の2SC2712。電池はCR2032を使うようにして、こんな感じにできました。
c0026142_16524750.jpg

 CPUのスリープはパワーダウンモードにしたので、使っていない時の消費電流は非常に僅か。うちの安いデジタルテスターでは正確に測れない。0.2μA位か。



.

[PR]
by f_s_x | 2018-12-15 18:04 | コンピューター | Comments(0)

ATtiny13Aで赤外線リモコンを作る

 今年の夏、扇風機のリモコンの調子が悪くなった。
操作はリモコン専用でメーカーも不明!ネットで型番検索しても見当たらない。
リモコンを分解しても、ほぼスイッチを形成する基板上にセラロックと専用ICのみ。
スイッチを覆う表面のシートも痛んできているので、無理に修理するより新たにリモコンを作ることにした。

 まずはArduinoを使ってリモコンデータを読み出してみる。
ところが、赤外線のフォーマットはNECでもAEHAでもSonyでもない!
ただ、パターンはちょっと似たところがあるようだ。
 全部のボタンのパターンを解析して、一応フォーマットのパターンは特定できた。

 そしてリモコンを作る。とりあえず最初はONとOFFだけにして簡単に作って試せるように、8ピンのAVRで組んでみる。こちらを参考にして、ATtiny13AでもPWMを使って割と簡単に実現できそう。
 ブレッドボードに組んで、送信データをこの扇風機用に書き換え実装してみる。電源は元のリモコン同様に単4乾電池2本、赤外LEDは一つにして、スリープはパワーダウンにアレンジして電池の持ちを考慮。

 最初は動作しなかったが、正確なリモコンデータのタイミングは解からないので、現物合わせで調整すと、扇風機が反応するようになった。

 実際には8つのボタンで強弱や首振り,タイマー等もあるので、全部を実現するには
ロジックICの74HC148等でボタン入力をエンコードするか(外部ICの追加が必要)、
抵抗で分圧した電圧をADCで読みボタンの種類を判別するか(スリープ復帰可能?)、
もっとピン数の多いAVRを使うか(これが現実的かも)、
考え中。


[PR]
by f_s_x | 2018-12-08 10:21 | コンピューター | Comments(2)

ArduinoでATtiny13開発

 純正のAVR開発環境であるAtmelStudioを使ったATtiny13の開発を紹介したが、実はArduino IDEを使って簡単に開発する方法もある。
 Arduino IDEにbitDuino13をインストール(ATtiny13の場合)。設定が終わればメニューのツール→ボードで「ATtiny13(bitDuino13)」が選択できるようになる。そしてデフォルトの状態ならツール→Clockで「1.2MHz(Internal)」を選択。
 ATtiny13チップへの書き込みにはArduino及び互換機が必要で、ブレッドボード等を使って結線する必要がある。
 たまに使うのにその度にブレッドボードに配線するのも面倒なので、Aitendoの「ATTiny ISPシールドきっと [K-TINY-SLD]」を使うと非常に便利である。
c0026142_15112631.jpg
 ツール→書き込み装置で「Arduino as ISP」を選択し、書き込みボタンでATtiny13に書き込む事ができる。

 書き込み用のArduino as ISPには、状態を示す3つのLED出力機能が実装されている。それぞれ、Heartbeat(正常稼働), Error(書き込みエラー), Programming(書き込み中)がポートの15(PB0),14(PB0),13(PD7)にアサインされている。
 ただ、ATTiny ISPシールドきっとで残念なのは、15(PB0),14(PB0)のピンには繋がっていないという事。それでも15(PB0)だけは繋げる事ができるので、抵抗とHeartbeat表示用のLEDを実装してみた。LEDがゆっくり点滅するので、Arduino as ISPが稼動している事がひと目で解かるので便利である。しかし、何度もチップを付け外す事を考えて丸ピンICソケットに変えてみたが、差しにくいのでやはりゼロプレッシャーソケットを使ってLEDも実装したシールドを自作しようかな...。



.
[PR]
by f_s_x | 2018-07-29 15:25 | コンピューター | Comments(0)

MiniPRO TL866CS で ATtiny13A に書き込む

c0026142_12231524.jpg

1.MiniPRO TL866CS を接続し、MiniPro Programmer を起動する。
2.Select IC で ATTINY13A を選択する。
3.メニューの File → Open で.hexファイルを開く。
c0026142_12231370.png

4.File Load Option ダイアログで、INTEL HEX、Code Memory を選択しOKボタンを押す。
5.メニューの Device → Program(P) または [P] アイコンで書き込みを行う。



.
[PR]
by f_s_x | 2018-06-23 12:47 | コンピューター | Comments(0)

Atmel StudioでATtiny13の開発

1.AtmelStudioを起動
c0026142_13115156.png
2.メニューのFile→New→Project...を選択
c0026142_13115571.png
3.New Project画面で、 InstalledでC/C++を選択し、「GCC C Executable Project」を選択する。(Cの場合)
アセンブラの場合はInstalledでAssemblerを選択し、「AVR Assembler Project」を選択。
画面下部のName:にプロジェクト名を入力しOKボタンを押す。


4.Device Selection画面で「ATtiny13A」を選択し、OKボタンを押す。(ATtiny13Aの場合)
c0026142_13115926.png
5.「main.c」にCソースを書き込む。
Arduinoスケッチとは違い、main関数に処理を記述する。

c0026142_13120405.png

6.メニューのBuild→Build Solution を選択するとコンパイルを実行し、
 プロジェクトフォルダ内のDebugフォルダに各種ファイルが生成される。


7.生成されたファイルの.hexファイルをマイコンに書き込む。



.
[PR]
by f_s_x | 2018-06-17 13:51 | コンピューター | Comments(0)

Trinket M0

c0026142_18343339.jpg
Digisparkをスリムにしたような、指先サイズのマイコンボード。CircuitPythonがインストール済み。
 オリジナルのTrinketはCPUにATtiny85を使用しているが、
このM0はARM Cortex-M0+コアのATSAMD21E18Aを搭載した32bitバージョン。
性能は、
256 KBのフラッシュ - ATtiny85 8 KBの8倍
32 KBのRAM - ATtiny85 512バイトの64倍
48 MHz 32 bitプロセッサ - ATtiny85の6倍速
と大幅に高性能になっている。

 PCにUSBで接続するとUSBドライブ(マスストレージデバイス)として認識される(Windows 7ではドライバをインストールする必要あり)。
c0026142_09404803.png
 デスクトップに表示されるアイコンを開くと幾つかのファイルがあり、そこにmain.pyとしてPythonスクリプトをテキストエディタで書き込むだけで実行されるという開発環境要らず。(最初からmain.pyサンプルプログラムが書き込まれていて、ボード上のフルカラーLEDが点灯し色が変化し、「3」の端子に触れるとタッチセンサーが反応し赤EDが光る)
 また、ターミナルアプリを使用してシリアル経由で接続すると、CUIで対話的にPythonを実行することもできる。
 さらにArduino IDEでの開発にも対応。
非常にコンパクトで簡単にマイコンの開発ができるシステムとなっている。



.
[PR]
by f_s_x | 2018-05-03 18:30 | コンピューター | Comments(0)

USB温度計の測定値をサーバーでグラフ表示する

 これまでに作ったUSB温度計を用いて、一定時間ごとに測定した値をサーバーで記録し、気温の変化をグラフ化して表示するのが最終目標だ。
 よくある例だと、マイコン側で一定間隔で温度センサーを測定しPCへと垂れ流すというのが思いつくが、DigisparkにはRTCを積んでいないので、正確な時間単位で計測するのが難しい(長期的な温度変化を見るためそれほどシビアな時間は必要ないが…)。かといってRTCを積むのもDigisparkのコンパクトさをスポイルしてしまう。
 なのでNTPサーバーで補正したPCから一定期間毎にDigisparkに指示を出し、そのタイミングで計測して測定値を返すことにした。
 また温度変化の大きい外気温を測定するとなると、この辺りでは冬季はマイナスに達するのでDHT11だと対応できない。
 Digisparkのハードウェアはそのままで、温度センサーにMCP9700を使うことにした。MCP9700は三端子でトランジスター同様の形状をしたアナログセンサーである。接続ケーブルは3本のまま利用できるが、アナログ値をデジタル変換する必要が出てくる。でもATTiny85にはADCを内蔵しているので、スケッチを書き換えてアナログ値を読んで温度に換算するように変更。
 サーバーにはLIVAを使う。OSはUbuntu 16.4 server。
Ubuntuサーバーで、Digisparkと通信し取得した値をファイルに書き出すrubyスクリプトを書き、cronによりこのスクリプトを5分間隔で実行する。
 またmuninプラグインを作成し、スクリプトの吐いたファイルを読み込んでmuninのグラフに表示させる。
c0026142_16505369.png
 muninプラグインからダイレクトにrubyスクリプトを呼び出して測定することも可能だが、DigisparkとのUSB通信に問題があったりしてタイムアウトに時間がかかったりするのを防ぐのと、USB温度計を取り付けるPCと記録するサーバーが別の場合でも対応できるように、測定値は一旦ファイルを経由することにした。
 その場合はサーバー側でWEB APIを作り、rubyスクリプトの方はファイルではなくhttpでAPIを使って測定値を渡すようにすれば対応できる。
 センサーで読んだ値が少し上下するので、一回の動作で5回計測し平均値を使うようにし、測定時のLEDのON/OFFを止めたらかなりマシになった。


[PR]
by f_s_x | 2017-12-17 16:54 | コンピューター | Comments(0)

USB温度計を作る(2)

 前回Digisparkを使って温度計を作る途中で、センサーの動作確認のために
Arduno Nano (互換機)で試してみた。
 もちろんこれでもUSB温度計の機能を果たす(実際はシリアル通信となる)のだが、Arduno Nanoで温度を読むだけではもったいない!
 液晶モジュールでも付けて計測値を表示でもさせたら良さそう。
そこで、小型の液晶を探していると、OLEDモジュールを見つけた。
これは超小型の有機ELディスプレイで、128×32ピクセルのグラフィックを表示することができる。
ネットで情報を検索すると、ほとんど128×64のタイプの例ばっかりだが、同じSSD1306コントローラーを使用しているため、画像サイズ以外は同じに扱える。
それに、Nanoに合わせて細長く、コンパクトさを損なわないのが良い。

 Arduno Nano互換機にはピンヘッダーが付属していたが、確かにDIP配列でブレッドボードに使うのには基板にピンヘッダーを付けるのが便利だろう。でも単体で使用するし、Arduno系はやはりシールドを使えるようにピンソケットを半田付けした。(Nanoだと窮屈そうになってしまったが…)
c0026142_12464197.jpg
 ユニバーサル基板を切り出してピンヘッダーやセンサーのピンソケットを取り付ける。
また、OLEDモジュールはWEBに3~5Vと書いてあるが、コントローラーのデータシートには1.65 to 3.3Vとある!?
一応、I2Cレベルコンバーターを使うことにした。今回は秋月電子のI2Cバス用双方向電圧レベル変換モジュールを使用。



こんなのできました
[PR]
by f_s_x | 2017-12-10 00:00 | コンピューター | Comments(0)

USB温度計を作る

 以前Arduinoでデータロガーシールドを使った温度等の記録システムを作ったが、
より簡単にPCサーバーでデータを取得したいと考え、USB接続タイプの温度計を探した。
 しかし思ったよりも種類が少なく、唯一安価なメモリースティックタイプの「TEMPer」というのがあったが、今は売り切れたりしている。

 それならば、と自作することに。
 Arduinoでセンサーを読んでPCに送るだけだと、ちょっと大げさすぎるので、
これを使うことにした。
c0026142_12132816.jpg
 切手サイズのマイコンボード、「Digispark」である。(写真は互換機)
CPUに8ピンのAVRマイコン「ATTiny85」を使用し、凸型の基板の出っ張りをそのままUSBジャックにしている。基板上で大きな位置を占めてるのが電源レギュレータの78M05で、隣のCPUの方が小さい!レギュレータはUSB以外の外部電源を使用する場合しか使わないので、USBに差して使う前提ならば不要なのでもっと小型にできそうなのに…。
 また、マイクロUSBコネクタタイプの(左)も存在し、用途に応じて選択できる。互換機がaitendoで「ATtiny85モジュール [M8520SU-UAM]」「ATtiny85モジュール [M8520SU-MCUM]」として500円で手に入る。
互換機は基板上のLEDがやはり高輝度の赤だが、aitendo M8520SU-MCUMの一部にはオレンジ色のもあった。

 このDigispark互換機とDHT11センサーを組み合わせて、作ってみたのがこちら。


続く
[PR]
by f_s_x | 2017-11-25 12:21 | コンピューター | Comments(2)

GPD Pocket

c0026142_18251486.jpg
 タブレットではなく超小型のPC。
 液晶画面は7インチで500gを切るサイズだが、マグネシウム合金製の筐体で手に持つとずっしりと重量感がある。質感も良く、ディスプレイ背面に林檎マークが欲しい(笑)
 CPUはAtomだが4コアで、メモリーも8MBあり、ディスプレイ解像度は1920×1200ピクセル。
キーボードの配置がちょっと独特だが、通常のWindowsの使用にも耐えちょっとした開発もできる。
 電源はUSB Type-C経由。

スペック
CPU       Intel Atom x7-Z8750
コア数     4
クロック    1.6GHz (バースト時2.56GHz)
GPU       Intel HD Graphics405 (CPU)
メモリー    8GB
ディスプレイ  7inch 1920×1200 (WUXGA) 323PPI
        マルチタッチ(5点)
ストレージ   eMMC 128GB
I/F       USB 3.0
        micro HDMI
        オーディオ出力
        USB Type-C 3.0
OS
       Windows 10 Home 64bit
サイズ     180mm × 106mm × 18.5mm 480g



.
[PR]
by f_s_x | 2017-11-11 11:11 | コンピューター | Comments(0)