ーーーーーーーーーadt7410 i2c tempーーーー
scl:serial clock, sda:serial datasd
https:cdls ls
ls
//kats-eye.net/info/2018/11/07/adt7410/
https://note.cman.jp/convert/2hosu/
ーーーーーーbuiltin flaskーーーーーーーーーーーーーーーーーーーー
https://irohaplat.com/raspberry-pi-local-web-server-flask/
なんとpython3にflaskがビルトインされていた! ラズパイすげー
ーーーーー bbks 本文の直書きコードと違いspidevを用いた付属コードーーーー
mcp3208:: 【ラズパイ】A/Dコンバータ MCP3208と通信するコードの解説 │ be発明家エンジニア (s-toki.net) 初期化の部分が丁寧に書かれている
mcp3208 は16:vcc,15:vcc,14:gnd,13;sck,12:miso,11:mosi,10:ce0,09:gnd
0〜7は各チャンネル(8チャンネルADC)
https://craft-gogo.com/raspberrypi-adconverter/#toc5 が非常に参考になった!
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
from time import sleep
import spidev
# MCP3208からSPI通信で12ビットのデジタル値を取得。0から7の8チャンネル使用可
def readadc_spidev(adcnum):
if ((adcnum > 7) or (adcnum < 0)):
return -1
command1 = 0x6 | (adcnum & 0x4)>>2
command2 = (adcnum & 0x3)<<6
ret=spi.xfer2([command1,command2,0])
adcout = (ret[1]&0xf)<<8 | ret[2]
return adcout
GPIO.setmode(GPIO.BCM)
spi=spidev.SpiDev()
spi.open(0, 0) # bus0, CE0
spi.max_speed_hz = 1000000 # 1MHz
try:
while True:
inputVal0 = readadc_spidev(0)
print(inputVal0)
sleep(0.2)
except KeyboardInterrupt:
pass
spi.close()
---------------------------------------------------------------------------------
#クジラ本のコード、mcp3002 using
import spidev
import time
# SPI通信を行うための準備 --- (*1)
spi = spidev.SpiDev()
spi.open(0, 0) # bus0,cs 0(ce1をえらぶなら1)
spi.max_speed_hz = 1000000 # 通信速度の設定 1MHZ
while True: # 連続して値を読む
try:
# https://denkisekkeijin.com/raspberrypi/pi-spi-volume-rd/
resp = spi.xfer2([0x68, 0x00]) # SPIに命令して回答をえる
# https://www.denshi.club/pc/raspi/5raspberry-pi-zeroiot9a-d6mcp3002.html
# 0、スタート1、シングル1、ODDはチャンネル0だから0、最後はMSBからで1
# 0b0110 1000 => 0x68 これで2バイトおくり、2バイトかえしてもらう
# 読んだ値を10ビットの数値に変換 このばあいMSBからである
# NullBit、10ビット、が入っているが。。。。
value = ((resp[0] << 8) + resp[1]) & 0x3FF # 0x3 -> 0b0011 は?
# data
=
((adc[
0
] &
3
) <<
8
) | adc[
1
] と一緒 みたい。。。。
# つまり第一バイトの下位2桁をとり、第二バイトは全部取る。。。。多分!
print(value)
time.sleep(0.2)
except KeyboardInterrupt:
break
# 通信を終了する --- (*4)
spi.close()
camera module の設定がlegacyになっていたが
https://www.boardgamepark.com/entry/pi_cameraを参考にした
カメラモジュールがOnになっているかカメラが認識されているかも説明あり
https://kats-eye.net/info/2018/11/07/adt7410/ によればregister 0x00,0x01にて
データ変換した結果をもち13ビットデータを含む16ビット(1ワード)を発出
するようである 00には下位ビット(ただし最後の3ビットは余分の0)、
01には上位ビットがはいっている
https://note.cman.jp/convert/2hosu/ に2のほしゅう
ーーーーーーーーーーaqm0802ーーーーーーーーーーーーーーーーーーー
【ST7032i】使うためのデータシート抜粋日本語訳 | くろべこblog (kurobekoblog.com)
を参考に、Cでライブラリをおこしてみたいとおもったら以下のサイトをみつけた
I2C接続AQMシリーズのキャラクタ表示LCDをラズパイで使う (1) AQM0802 | 電子工作の環境向上 (denshi.club) 残念ながらパイソンで書かれている
このサイトにはaqm1602,acm1602,so1602の説明もあるがaqm1602以外は高価!
aqm1602はCでラズパイ本に詳しい
------------------------lcd 1602----------------------
https://hotsmmrblog.com/display_string_on_1602_lcd_module_with_pi/
lcd1602 using site at raspi
-------------------------------------------------------------------
0 件のコメント:
コメントを投稿