
ArduinoのGPIOにled1が接続されスイッチが押下されると点滅するようになってます。
さらにled2を追加しled1とは逆のタイミングで光らせたいです。踏切の遮断機の赤のライトが左右交互に光るイメージです。しかしながら使用可能なGPIOはもうありません。
なるべく安価な方法でled1とは逆に光るled2を増設するにはどうしたら良いですか?
トランジスタなどで実現可能だと良いです。アナログ回路的な知識があまりないので質問致しました。
宜しくお願いいたします。
No.15
- 回答日時:
No10です。
前の回答と関連しますが、もしこの出力ポートがアナログ出力が可能なのであれば(内部にA/D変換機があるならば)3つの状態をアナログ値として出すという方法もあります。すなわち、全OFFは 0V、LED1は 1V、LED2は 2V のように出力するのです。外部にコンパレータとロジックが少々必要ですが、入力モードに切り替えるよりは正論的な使い方です。コンパレータは3つの値が識別できればよいのでちゃんとしたコンパレータICでなくとも抵抗分圧とトランジスタといった簡単なもので大丈夫と思います。
m-jiroさん、ご回答ありがとうございます。
残念ながら最後の一本はアナログ出力不可でして、しかしながら、そういう発想は有りませんでした。勉強になります。
No.14
- 回答日時:
Arduinoを使っているのだからスイッチもGPIOに接続されていて内部でなにか処理がされていると思っていました。
スイッチがLED点滅用だけでほかに使われていないならもっと簡単です。マイコンは点滅信号を出し続けてスイッチとANDを取るだけです。スケッチは変更なしで1つの74HC00と2個のLEDドライブのトランジスタでできます。スイッチがhigh側にあるかlow側にあるかわからないので必要なら74HC00の余っているゲートで反転させればいいです。スイッチがGPIOに接続されていないならhighでもlowでも好きな方にすればいいし。No.9の555は不要。GPIOとあるところをスイッチに接続。555の出力だったところにATtiny85を接続。もっと単純にLED点滅にしか使っていないならトランジスタでも7400でも7404でもいいから反転信号を作って交互に点滅させ、スイッチで電源を切ってしまえばいい。発振回路をマイコンで作っただけのものになります。5秒待ちのないブートローダーに書き換えればすぐに起動します。
ATtiny85は厳密にはArduinoではないのでは。
xs200さん、ご回答ありがとうございます。質問をわかりやすくするためにモーメンタリスイッチと記しましたが実際はsx200さんが思ってたとおり「内部でなにか処理がされている」のが実情で本当は物理的なスイッチは存在しません。ですので、知りたかった事はNO.9の様なご回答です。またATtinyを使ってますが開発プラットフォームはArduinoを使っております。
No.13
- 回答日時:
質問者さんの相談内容には、曖昧なところがあります。
(1)GPIOの出力をONにしたときに、LED1の点灯(所定の時間だけの点灯)から開始させたいのか、LED2の点灯(同)から開始させたいのか、それともどちらでもいいのか?です。
(2)またGPIOの出力をOFFにしたときは、LED1の点灯(所定の時間だけの点灯)で終わらせたいのか、LED2の点灯(同)で終わらせたいのか、それともどちらでもいいのか?です。
いずれにしても、中途半端な点灯時間を避けるためには、7400のようなナンドゲートだけではデジタル回路(論理回路)の設計はできず、7474(これは例です)のようなフリップフロップが必要になります。
デジタル回路設計技術しては中級になります。
No.12
- 回答日時:
回答No.9の回路では、最後は途中でプツンと切れますが、それでもいいのでしょうか?

No.10
- 回答日時:
他の方の回答にあるようにLED2はLED1からインバーターを通せば逆動作になります。
しかしOFFの時には点灯したままになりますね。「 スイッチが押下されると点滅するようになってます。」とのことなのでLED2はこのスイッチとANDを取ったらどうですか? つまり単なるインバーターではなくNAND(AND型のインバーター)にするわけです。もっと簡単にはLED2の電源をこのスイッチから取ってもよいでしょう。
もう一つの方法は、いささか邪道なのですが、出力端子をスリーステートにする方法があります。つまりLEDを共にOFFにする時はポートの機能を「入力」に指定してハイインピーダンスにするのです。この時の出力電圧は(電源電圧が5Vなら)約2.5Vになります(後段回路から逆流してくる)。そして出力が4V以上ではLED1が、1V以下ではLED2が点灯するように後段回路を設計しておきます。
この方法ではプログラムの変更を要します。またポートは入力にも出力にも設定できるものでなくてはなりません。また電源電圧の半分という中途半端な電圧が加わるのでこの電圧で異常を生じないものでなくてはなりません。
ご回答ありがとうございます。前者は実現可能ですね、後者の案はno.7さんのご回答と同じ意味ですね、ここまで解説して頂いてわかりました。その発想は無かったです。
No.9
- 回答日時:
7404ではできません。
止めてもLED1か2のどちらかが点灯したままになります。いちばん安くて簡単なのはこれからの拡張が不要であってもNo.3の方法です。オンオフの時間、周期はプログラムで自由に決められます。外付け部品は不要です。秋月で190円。
汎用のICで組むと部品が多くなってしまいます。いまどきロジックを組んで作るなんて複雑で面倒です。
画像はGPIOがHIGHの間は交互に点滅、LOWなら両方とも消灯する回路例。周期など固定されてしまいます。なるべく安くなるようにしましたがめんどくさいと思いませんか?
NE555 20円 x1
TC74HC00AP 30円 x1
2N5401 10円 x2
抵抗、コンデンサ

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
方形波の高調波
-
ヘリコプターですが
-
エンジン
-
【パワー半導体・北海道のRapid...
-
74HC00の出力に小型リレーとLED...
-
汎用モーターメーカーの大手5社...
-
【電子レンジ】なぜ金属でもス...
-
【工具のラバーグリップの自作...
-
【DIY】金属製の直径270mm、幅2...
-
電気関係の本を見ると、主な半...
-
高速道路の逆走を防ぐ方法を発...
-
【シックネスゲージとギャップ...
-
ノギスは、
-
三相電力
-
【工業製品っぽくなくて工業製...
-
マキタの14.4Vと18Vバッテリー...
-
大気環境下でレコード盤のプレ...
-
ドラクエに出てくる「ほこら」...
-
【チタン製マグカップは電子レ...
-
3相ブラシレス DCモータのショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フランス語で「良い天気」など...
-
フランス語で「犬」
-
フランス語の意味を教えてくだ...
-
フランス語で「めだか」「シュ...
-
日本の「中学校」をフランス語で
-
フランス語でどう言うのでしょ...
-
フランス語で「結婚おめでとう...
-
フランス語で…
-
フランス語でエリジオンする単語
-
ギリシャ語で「がんばれ日本」
-
ギリシャ語「ΑΝ'ΑΓΚΗ」の読み方...
-
ce soir と le soir
-
フランス語:ca
-
フランス語 前未来 未来完了...
-
250mle の "e" というのは?
-
フランス語のフレーズについて質問
-
「なんとか de なんとか」 の d...
-
フランス語でmaison de ~
-
シェフ・ド・パルティエって?
-
イタリア語、フランス語で『幸...
おすすめ情報
質問が曖昧とのご指摘を受けたので補足いたします。
最終的にやりたい事はモーメンタリスイッチを押下してる間だけ、2つのledを交互に点滅させたいです。最初からどちらか一方のledが光ってるのもダメです。2つのledはスイッチを離した時は両方共に消灯して欲しいです。また必ずしもスイッチを離した瞬間に2つのLEDが消灯して欲しいわけではなく、スイッチを離した瞬間のラインをまたいでの発光等についてはこだわりません。マイコン(ATtiny85)の出力ピンには空きがなくGPIO一本でこれを実現したいです。またプログラムの変更は可能です。
先の補足について訂正させて頂きます。先の補足ではモーメンタリスイッチと表記しましたが、説明を簡素にする為で、実はこの物理的なスイッチはマイコン(ATtiny85 開発はArduino)には直接繋がっておらずI2C経由でその先のEsp32 に接続され、さらに無線を通じた先のモーメンタリースイッチなのでスイッチの信号を利用するのは不可能です。説明を簡略した事より誤解を生じさせ申し訳ありません。
>ただし、GPIOにled1をどう接続しているか、その情報が必要です。
Led1とGPIOは抵抗をかませて繋いでます。幼稚園レベルの接続です。
ご回答の程、宜しくお願いいたします。