ラズパイを使ってタクトスイッチが押されたらLEDが点灯するプログラムを作成したいです。コンパイルを行いプログラムを走らせたところ常時LEDが点灯してしまいます。
『タクトスイッチが押されているときは点灯し、押していないときは消灯する』というのが所望のプログラムです。私の書いたコードのどこが間違っていますでしょうか?ご教示いただけますと幸いです。
私が書いたコードは下記の通りです。
#include <stdio.h> #include <wiringPi.h> #include <stdlib.h> int main (void) { wiringPiSetup(); pinMode(5,OUTPUT); pinMode(7,INPUT); if(digitalRead(7) == HIGH) { digitalWrite(5,HIGH); } else{ digitalWrite(5,LOW); } return 0; }
このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12251484777
teratailのローカルルールではありますが、
https://teratail.com/help#posted-otherservice
「やむを得ず複数のサイトに質問を投稿された場合は、質問内容にマルチポストをする理由を書き、他のサイトの投稿へのリンクを貼ってください。また、解決した際には必ずteratail及びすべての投稿に解決した旨と、どのように解決したかを記載してください。」
というのがありますので然るべく処置してください。
もしかするとC言語のプログラミング、プログラミング全般に関しても初めてというかんじでしょうか。コードの1行1行の意味は理解されていますか。
(プログラムを書いてみて、要望通りに動かなかったから質問してみた、というかんじでしょうか)
いや、なんとなく「ラズパイでDIY!プログラミングやってみよう」のような記事を読まれて挑戦してみたかんじかと思ったもので。(決してそういう動機を否定している訳ではありません)