質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

Q&A

2回答

2089閲覧

Raspberry Pi PicoのADコンバータとのSPI通信

TatsuyaMorita

総合スコア55

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

0グッド

0クリップ

投稿2022/03/11 06:49

Raspberry Pi Picoで16ビット分可能のADコンバーターAD7685とSPI通信をして電圧を取得したいと思い、以下のように配線し、MicroPythonで以下のようなプログラムを書いてみたのですが、1.5Vを入力したら、0.0と出力され、うまくいってないようです。どうしてでしょうか?
イメージ説明

import machine from machine import Pin, SPI from time import sleep class AD7685: def __init__(self, spi, cs, ref_voltage=5): """ Create MCP3008 instance Args: spi: configured SPI bus cs: pin to use for chip select ref_voltage: r """ self.cs = cs self.cs.value(1) # ncs on self._spi = spi self._out_buf = bytearray(2) self._out_buf[0] = 0x01 self._in_buf = bytearray(2) self._ref_voltage = ref_voltage def reference_voltage(self) -> float: """Returns the MCP3xxx's reference voltage as a float.""" return self._ref_voltage def read(self, pin, is_differential=False): return (self._in_buf[1])*5/65535 spi = SPI(0, sck=Pin(2),mosi=Pin(3),miso=Pin(4), baudrate=100000) cs = Pin(5, Pin.OUT) cs.value(1) # disable chip at start chip = AD7685(spi, cs) while True: actual = chip.read(0) print(actual) sleep(0.5) actual = chip.read(0) print(actual) sleep(0.5)

AD7685のカタログは
https://www.analog.com/media/jp/technical-documentation/data-sheets/ad7685_jp.pdf
にあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TatsuyaMorita

2022/03/11 07:08

D2のダイオードは外して、TP2とAD7685の4番ピンと5番ピンをグラウンドにつなぎました。
guest

回答2

0

見た感じ、このコード を元にしてADコンバーターとSPI通信をする部分を除いたものに見えます。

・何もしていないのですから、何も起こらないのは当然です。
・自分で書いたのでないコードは出元を示してください。ライセンス上の問題もありますし、質問への回答も違ってきます。
・/65535は不適切です。/65536とすべきです。

投稿2022/03/11 15:58

ikadzuchi

総合スコア3047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

spiに対してreadなどを呼んでいないので、ADCに対して何も読み書きしていません。

MCP3008を扱うコードをもとにしていると思いますが、そちらを参考にしてください。

投稿2022/03/11 07:27

編集2022/03/11 07:30
ozwk

総合スコア13528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問