Tamesuke-Goto Maker的Blog

地域ISP管理者だけれど、ここ3年ほどMakerなJobが増えたのでまとめてみたいと思います 旧ハンドル Ringoro

NEW !
テーマ:

久しぶりに秋月へパーツをオーダしたら やたら長いハコで届いた。。
 
{E9962339-3AB8-44A6-9969-C41D92D52A81}
 
{A647F429-5BDE-4173-9226-0B76883EF2C8}
 
Arduino nano用に28pin ICソケットが安かったのでレールで注文したらこんなになって来た。
秋月にこんなハコあったのだね。
 
Lチカ
 
ATTiny13のJack-o'- Lantern Lチカ、月曜からずっと点けっぱなしにしていたのですが、まだチカチカしています。意外と長持ちです。
 
2種類作って、もう一つはLEDを少し明るめに電流を1.5mAくらい流したのを作って見たのですが、それでも結構長持ちしていますね。ボタンリチュウム電池は間欠動作させると効率的に電気を取り出せるそうなので、Lチカにはちょうどいいかと思われます。
 
ただ、LEDは赤LEDと黄色LEDを並列にして点灯させると赤の方は光って黄色はだいぶ暗くなってしまってはいます。

 

 

 

 
 
 
 
 
AD
いいね!した人  |  コメント(0)  |  リブログ(0)
最近の画像つき記事  もっと見る >>

テーマ:
続いてi2cのテストをしてみました。
 
NanoPi のOSにはデフォルトで i2cdetect が実装されいていました。
 

で、i2cdetect -y 1 とかやると

 

Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory

 

となります。i2cをイネーブルにしなければなりません。

 

NanoPi設定のために RaspberryPiのraspi-config の代わりに

 

npi-config

 
があります。これを起動しますとお馴染みの画面が出てきました。ここで "Advance Options"を選びます
 
 
ここで i2cデバイスを選びますが、 Raspberry Piと違い3つのデバイスが出てきます。NanoPi NEOで使用できる i2cデバイスは 0番だけですのでここでは i2c0をenableにして下さい。
 
 
 
これで再起動しますと i2c-0 のデバイスが利用できるようになります。ここで
 
i2cdetect -y 0 
 
を実行すると、、、i2cデバイスのリストが出てきますが、なんか表示遅いです。間違ったi2cデバイスをつないでBUSがコリジョンを起こしている状態と同じ様です。
どうもNanoPiではi2cデバイスの端子はPullUpがされてないのが原因ではないかと思われました。
ここで何かi2cデバイスを接続すればよいので、以前秋月で購入した温湿度センサ HDC1000モジュールがあったのでこれをつないでみることにします。このモジュールはピン配置がRaspberry Piのi2cにそのまま挿さる様な並びになっていて便利です。
ただ残念ながらこのHDC1000は販売停止です。代わりにSHT31というモジュールになっています。
 
{8FCB2BE9-5592-4794-838B-3CBB3957C8FF}
 
接続してic2detect を取ると、、、
 

root@NanoPi-NEO:/root/devel# i2cdetect -y 0

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

70: -- -- -- -- -- -- -- --                         

 

出ました。
 
次にHDC1000を使って温湿度を測って見ます。 
HDC1000のRaspberryPi用 python計測スクリプトがネットにありましたのでそれを流用します。このスクリプトは smbusライブラリを用いますので、まずインストールして下さい。
 

 apt install python-smbus

 
 
以下のソース hdc1000.py をnanoエディタで入れます。
 
--------------------

 

# HDC1000 read  from RaspberryPi

 

 

# Distributed with a free-will license.

# Use it any way you want, profit or free, provided it fits in the licenses of its associated works.

# HDC1000

# This code is designed to work with the HDC1000_I2CS I2C Mini Module available from ControlEverything.com.

# https://www.controleverything.com/content/Temperature?sku=HDC1000_I2CS#tabs-0-product_tabset-2

 

import smbus

import time

import datetime

 

# Get I2C bus  NanoPi NEO = 0

bus = smbus.SMBus(0)

 

# HDC1000 address, 0x40(64)

# Select configuration register, 0x02(02)

#               0x30(48)        Temperature, Humidity enabled, Resolultion = 14-bits, Heater on

bus.write_byte_data(0x40, 0x02, 0x30)

 

# HDC1000 address, 0x40(64)

# Send temp measurement command, 0x00(00)

bus.write_byte(0x40, 0x00)

 

time.sleep(0.5)

 

# HDC1000 address, 0x40(64)

# Read data back, 2 bytes

# temp MSB, temp LSB

data0 = bus.read_byte(0x40)

data1 = bus.read_byte(0x40)

 

# Convert the data

temp = (data0 * 256) + data1

cTemp = (temp / 65536.0) * 165.0 - 40 -4

fTemp = cTemp * 1.8 + 32

 

# HDC1000 address, 0x40(64)

# Send humidity measurement command, 0x01(01)

bus.write_byte(0x40, 0x01)

 

time.sleep(0.5)

 

# HDC1000 address, 0x40(64)

# Read data back, 2 bytes

# humidity MSB, humidity LSB

data0 = bus.read_byte(0x40)

data1 = bus.read_byte(0x40)

 

# Convert the data

humidity = (data0 * 256) + data1

humidity = (humidity / 65536.0) * 100.0

 

today = datetime.datetime.today()

 

# Output data to screen

 

print today.strftime("%Y/%m/%d %H:%M:%S")

print "Temperature : %.2f C" %cTemp

print "   Humidity : %.2f %%" %humidity

 

 

#print "Temperature in Fahrenheit : %.2f F" %fTemp

 

--------------------

pythonで実行しますと温湿度が取れます。
HDC1000の計測値はCPUボードのすぐ近くにあるためか高めに出てしまいますが、正常に動いているのが確認できました。
 

root@NanoPi-NEO:/root/devel# python hdc1000.py 

2017/10/13 23:50:23

Temperature : 29.12 C

   Humidity : 49.02 %

 

 
AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:
少し前に秋月からNanoPi NEOを購入していたのですがほって置いたので使ってみます。
 
パッケージはこんなもの。超シンプル(microSDは付属しません念のため)
 
 
 
{2A636E81-262C-4248-99D0-11535CF8C7DC}
 
OSはこちらからOfficialのubuntu をダウンロードしてきます
 
SDに転送した後DHCP環境にあるLANに接続、microUSBで電源供給して起動。
緑のLEDが点灯、青LEDが2回づつ点滅する状態で正常動作しています。30秒程度起動する感じです。

 

{7CE9DE4D-00D6-498A-AF7E-CD02C3A42D44}
 
 
 
DOSプロンプトで確認しますと、MACアドレスが 02- で始まるIPが見えると思います。これがNanoPi です。OSによってはMACアドレスが違う場合もあるそうなので、ご注意下さい。
 
 
TeraTermでssh でログインします。 rootでも入れるそうですが、一応管理者権限ユーザ pi パスワード pi でログイン
 
 
 
 
最初にやったら良いのがlocaltimeの設定
sudo bash でroot権限でシェル起動できます。
 
$sudo bash
root@NanoPi-NEO:~# cp /usr/share/zoneinfo/Japan /etc/localtime
 
次に  upgrade ※
 
root@NanoPi-NEO:~# apt-get update
root@NanoPi-NEO:~# apt-get upgrade
 
upgradeはだいぶ時間かかります 1時間程かかってしまいました。
 
※追記 
 
apt-get ではなく apt update, apt upgrade を使うのが正しいとの事です。
 
upgradeの最中にCPUが結構熱もちます。ヒートシンクは買ってありませんでしたが必須との事ですので、お忘れなくです。
 
 
 
 

 

AD
いいね!した人  |  コメント(0)  |  リブログ(0)

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。