🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

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

マイコン

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

Q&A

解決済

2回答

3007閲覧

Jetson Nanoでスイッチを用いてLEDを点灯/消灯する際にLEDが消灯しない問題について

Yosuke_Tabata

総合スコア21

Python

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

マイコン

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

0グッド

0クリップ

投稿2019/10/09 04:48

編集2019/10/09 04:49

実現しようとしていること

お世話になります。

標題の件、Jetson nanoとスイッチを用いて、プッシュスイッチが押されたときにinput_valueが1の状態になり、LEDが点灯。押しボタンスイッチが離された時にinput_valueが0になり、LEDが消灯する。

と言うようなものを作っています。

困っていること/質問

押しボタンスイッチが押されたときにinput_valueが1の状態になり、LEDが点灯するが、押しボタンスイッチが離された時にinput_valueが0になにならず、1のままホールドされLEDが消灯しない。

確認したこと

  • 「押しボタンスイッチが押されたことが無い」状態にて、GNDとinput GPIO21の間の電圧を図ったところ、3.3Vであった。

  • 「押しボタンスイッチが離された時、input_valueが0になにならず、1のままホールドされLEDが消灯しない。」状態にて、GNDとinput GPIO21の間の電圧を図ったところ、GPIO 21の電圧が安定しないのでLEDが点灯したり消灯したりする。

    ※電圧を図ろうと測定子を片方だけつけただけでも消灯すること有。

質問

実現しようとしていることを実現するために、回路を含めどのように改善すれば良いでしょうか?

プログラム

import Jetson.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) out_pin = 29 GPIO.setup(out_pin, GPIO.OUT,initial = GPIO.LOW) GPIO.output(out_pin, GPIO.LOW) in_pin = 21 GPIO.setup(in_pin, GPIO.IN) try: while True: if GPIO.input(in_pin) == GPIO.HIGH: input_value = GPIO.input(in_pin) print('BUtton Pressed') print(input_value) GPIO.output(out_pin,GPIO.LOW) else: input_value = GPIO.input(in_pin) print("else") print(input_value) GPIO.output(out_pin,GPIO.LOW) time.sleep(1) except KeyboardInterrupt: pass finally: GPIO.cleanup() print("終了します")

回路図

input側

3.3V - スイッチ - 抵抗 - GND         

        スイッチ/抵抗間から分岐-GPIO 21

output側

GPIO 29 - 抵抗 - LED - GND

開発環境

・Jetson nano

・VSCODE

・ブレッドボード上で結線

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

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

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

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

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

guest

回答2

0

3.3V - 抵抗 - スイッチ - GND  
として、       
スイッチ/抵抗間から分岐-GPIO 21
して下さい。
プルアップ抵抗と言います。

投稿2019/10/09 07:57

hillacken

総合スコア359

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

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

Yosuke_Tabata

2019/10/09 09:18

ご回答ありがとうございます。 プルアップも試しましたが、状態が逆転するだけでLEDの点灯/消灯が安定しないという現象は1k[ohm]の抵抗では改善されませんでした。
ozwk

2019/10/09 09:36

それ本当に1kですか?
guest

0

ベストアンサー

GPIO.output(out_pin,GPIO.LOW)

両方ともGPIO.LOWがでるようになってますよ

投稿2019/10/09 05:00

y_waiwai

総合スコア88040

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

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

Yosuke_Tabata

2019/10/09 05:04

GPIO.output(out_pin,GPIO.HIGH) でした。申し訳ありません。 結論から言うとプルダウン抵抗の大きさを1k→330ohmにすることで解決しました。 ご回答ありがとうございます。
y_waiwai

2019/10/09 05:06

それ、ちょっとはなしがおかしいような。。
Yosuke_Tabata

2019/10/09 09:21

と言いますと、どういうことでしょうか?汗 ちなみにプルアップでの回路も試しましたが、1kの抵抗を使った場合はon/offの動作が逆転するのみで、現象は同じでした。
y_waiwai

2019/10/09 09:33

まともに動いているものなら、1Kではダメで330だとOKということは起こりえません。 なにかが間違ってます。 #いやまあ、動いているならそれが正義っちゃーそういうはなしなんですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問