import wiringpi as pi
import time
class mcp3002:
def init( self, ss, speed, vref ):
self.ss = ss
self.speed = speed
self.vref = vref
pi.wiringPiSPISetup( self.ss, self.speed )
def get_value( self, ch ):
senddata = 0x6800 | ( 0x1800 * ch )
buffer = senddata.to_bytes( 2, byteorder='big' )
pi.wiringPiSPIDataRW( self.ss , buffer )
value = (( buffer[0] << 8 ) + buffer[1] ) & 0x3ff
return value
def get_volt( self, value ):
return value * self.vref / float( 1023 )
SPI_CE = 0
SPI_SPEED = 1000000
READ_CH = 0
VREF = 3.3
DELAY = 0.5
adc = mcp3002( SPI_CE, SPI_SPEED, VREF )←ーーーーーーーーーーーーー
while True:
value = adc.get_value( READ_CH )
volt = adc.get_volt( value )
print ("Value:", value, " Volt:", volt )
time.sleep( DELAY )
とあるサイトを参考にしてこんな感じでコード書いているのですが、
「←」の部分でNameErrorが出てしまいます。
エラーの詳細は分かっているのですが、どう直せばいいのかがわかりません…
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
えーと、mcp3002( SPI_CE, SPI_SPEED, VREF )のmcp3002という名前を解決できなかったという話では?
クラスmcp3002は引数を(selfを除いて)3つ持った初期化関数__init__を持たないので、mcp3002( SPI_CE, SPI_SPEED, VREF )はクラスmcp3002のインスタンス生成にはマッチしない。かといってmcp3002という関数が定義されているわけでもない。だからmcp3002という名前が解決できなくてNameErrorになったのでは?
それともinitを__init__に修正してもNameErrorは直らなかった?
まずこのサイトの特徴として空白によるインデントは保持されないので、Pythonコードの質問をこのサイトでまともに読んでもらうには全角空白なりを使ってコードを書き換えて読めるようにしないといけません。Pythonはインデントが狂うと意味が変わってしまうからね。
ついでにいうとNameErrorならどの名前がエラーになったかは情報が出ているはずだから、それも質問に書かないと回答を書く側で推測しなければいけないことが増えて大変です。間違った回答をする原因にもなりえるので、質問は可能な限り適切にしましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- その他(プログラミング・Web制作) micropython コードについて 2 2023/06/14 13:13
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- その他(プログラミング・Web制作) micropythonコード 修正 1 2023/06/13 17:22
- Ruby パイソンのクラスについて 3 2023/06/20 07:30
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモリをアドレスを直接指定し...
-
JSONで文字列が長い時
-
Perlでアルファベットを数...
-
フォームで入力した値を表示し...
-
Application.ScreenUpdating = ...
-
VBAでPDFのコピーとリネームを...
-
実行時エラー 3020の対策
-
formで特定のinputを送信しない...
-
<SELECT>タグの折り返し
-
構造体の各データの表示につい...
-
16進の10進変換について
-
日齢計算プログラム
-
[python] 文字列を変数名として...
-
「*:*」って何を意味するのでし...
-
selectタグ内の特定のoptionの...
-
複数列を持ったリストボックス...
-
テーブル内でドロップダウンメ...
-
my $html<<EOMの意味を教えてく...
-
UWSCのSELECT文の記述方法
-
Perlにおける<?phpinfo();?>の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
【C#】数値の範囲チェックについて
-
Perlでアルファベットを数...
-
途中まで出来ているのですが‥(D...
-
フォームで入力した値を表示し...
-
linq で 楽天ウェブサービスのX...
-
リロード後にプルダウンの選択...
-
CGIからメールに書き出しする際...
-
map(STL)でinsertを行いたいで...
-
半角スペースが有効にならない。
-
CGI(Perl)で、Net::FTPを使いたい
-
iteratorの再利用について
-
Visual Basicで作成したプログ...
-
クリックしたら順番に並び替わ...
-
ラズパイで感圧センサーを動か...
-
デコードできない時があります><
-
パターンマッチで変数でマッチ...
-
gpioを使ってSPIをシミュレーシ...
-
Application.ScreenUpdating = ...
おすすめ情報