head

2015年10月10日土曜日

ENC28J60+ATMega328P でIoT製作、Lチカも


前回の [ ENC28J60+arduino ] 記事の続編となります
Atmel 社の ATMega328P-PU を接続して
オリジナル仕様的な格安のIoTデバイス製作を検討してみました。

[概要]
Microchip 社の[ENC28J60] EtherNet Controller の対応モジュール
有線LANで、10 base-T と速度は遅めですが、
マイコン連携できる通信デバイスとしては、格安かと思います。
Arduino UNO の搭載MCU と同じ、ATMega328P-PU 単体チップ接続して、
クラウド連携し、Lチカ(LED制御)までテストしてみたいと思います。

*) 参考URL, 部品価格は執筆時点のものです

#MCU仕様など
今回は、ブートローダ書込済を使用しました。
28 PIN
ROM 32KB
RAM 2KB

# IDE 環境
ARDUINO SDK 1.0.5
ARDUINO UNO を書き込み装置として使用
3.3V 内蔵クロック 8MHz

# 電源まわり
ベース電源= 3.3V 仕様
入力:マイクロUSB(5V /1A)
降圧 3.V3レギュレータで, 3.3Vに下げる。

# 部品
ATMega328P-PU /  250[en] 

イーサネットモジュール [M28J60] / 950[en] (aitend さん)

電解コンデンサー 470マイクロ F   / 10[en] (秋月電子さん)
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V (1個当たり)
 10[en] (秋月電子さん)
3.3Vレギュレータ-降圧 / 100[en]
マイクロUSB - メス / 200[en]
LED, 抵抗など

# 配線
Git - ethercard ライブラリの README に,
記載されているピン配線を結線します。
[ENC28J60] - [ATmega328P]
SCK - D13
SO - D12
SI - D11
CS - D8

VCC,GND を結線
D7 にLED 配線



# スケッチ書込み
ターゲット MCU側の電源= 5V 供給してください。 UNO から

詳細は、[ARDUINO SDK 1.0.5] -ATtiny85 記事と似ています。省略します。
詳細は、ATmega328P-PU 書込みに記載しています。

ENC28J60 EtherNet ライブラリ、インポート

[ツール]-[マイコンボード]- ATmega328P / Int.8MHz
を選択

シリアルポート選択 済みを確認

書込装置 - [Arduino as ISP] を選択

書込みます。


# Code, HTTP受信と Lチカ
Arduino接続版と同じ、詳細は省略します。

#テスト : クラウド連携して、LEDの ON/OFF
クラウド側から、LED点灯時間を取得し、レスポンス解析、時間を 数値型に変換、
LED=ON, OFFするタイミング監視、LED =OFF

*)
電源投入後の60秒前後は、TCP受信処理が失敗する場合がありました
LAN側が安定するまで、少し時間がかかるのかもしれません。

シリアルのログ
*) デバック時に、ログ見る場合は
[UART-シリアル変換]モジュールを、ATmega側 - UART(TX/RX)に
クロスで結線すると通信できます。


# 温度センサー追加してみました(dht11)
基盤の中段の左側(青系の部品)に、
温度湿度センサを追加

#部品
温度湿度センサー素子 [DHT11] / 300[en]

精度はさほど良くないみたいですが、
安価の為、購入してみました。

# センサー配線
正面、左から1pin

[dht11] - [atmega328]
1pin - 3V3
2pin - D2
4pin - GND

1 - 2pinの間に、 10k ohm抵抗。

# code : Arduino-sdk
D2 にセンサ接続。
温度、湿度値を取得して。クラウド送信します。

*) dht11 ライブラリのURLぬけていました。
ライブラリ追加が必要です。 ARDUINO-SDK
https://learn.adafruit.com/dht/downloads


# グラフ (温度, 湿度)




#参考の記事
kosaka さんの記事
http://make.kosakalab.com/make/electronic-work/arduino-ide-arduinoisp/
ライブラリ
https://github.com/jcw/ethercard

dht11 - adafruit
https://learn.adafruit.com/dht?view=all

# 関連の記事
ENC28J60+ARDUINO でIoT製作 (テスト編)
http://knaka0209.blogspot.jp/2015/10/enc28j60-1.html

ATtiny85-20PU に、スケッチを書き込む (ARDUINO SDK)
http://knaka0209.blogspot.jp/2015/10/attiny-85-1.html


# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html


0 件のコメント:

コメントを投稿

google colaboratory お試し編 、GPUも使える機械学習の環境構築

前回続き、機械学習の関連となります。 開発環境まわりの内容となり。先人様の情報を元に調査しました。 google colab(google colaboratory) を試してみました。機械学習系の いくつかのライブラリがインストール済みで、 クラウド上で、ある程度機械学...

AD-parts

Shop
Bluetooth搭載
ベース基板

Social