フォトレジスターとLEDライトを使用した環境光センサー!
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
| |||
|
このプロジェクトについて
私はしばらくの間Arduinoを使用していて、自分のプロジェクトを最初から設計するのは過去のことだと判断しました。 AlexGlowとJoeCoburnからオンラインで見つけたいくつかの回路を変更して、このプロジェクトにより適したものにしました。問題が見つかった場合、または私のデザインよりもうまく機能するものを見つけたと思われる場合は、以下にコメントしてください。折り返しご連絡いたします。
配線
ブレッドボードの右側に、アナログピン0(任意のアナログピンが機能します)と5Vに配線されたフォトレジスタがあります。接地された1Kオームの抵抗を通過します。ブレッドボードの反対側にあるLED(任意の色)をデジタルピン13(任意のデジタルピンが機能します)と接地された220オームの抵抗(100オームも機能します)に配線しました。最初のLEDの少し右側に、同じ方法で異なる色のLEDを配線しましたが、デジタルピンが異なります。
仕組み
フォトレジスタが450を超える値を読み取ると、「かなり軽いです!」と出力されます。シリアルモニターをオンにして、次のようにすべてのLEDをオフにします。
if(light> 450){//明るい場合... Serial.println( "かなり軽い!"); digitalWrite(13、LOW); //左のLEDをオフにしますdigitalWrite(12、LOW); //右のLEDをオフにします}
230〜450の値を読み取ると、「平均的な光です!」と出力されます。シリアルモニターで、次のように左側のLEDをオンにします。
else if(light> 229 &&light <451){//平均的な光の場合... Serial.println( "平均的な光です!"); digitalWrite(13、HIGH); // digitalWrite(12、LOW);のLEDを左に回します。 //右のLEDをオフにします}
これは、説明するために230未満の値を残すだけです。値が230未満の場合、「かなり暗いです!」と出力されます。シリアルモニターで、次のように両方のLEDをオンにします。
else {//暗い場合... Serial.println( "かなり暗い!"); digitalWrite(13、HIGH); // digitalWrite(12、HIGH);のLEDを左に回します。 //右のLEDをオンにします}
次のように、シリアルモニターへの情報の過負荷を防ぐために、ループの最後に1000の遅延を追加しました。
delay(1000); //コンピュータにスパムを送信しないでください!
何かをアップロードまたは実行する前に、回路図面を確認し、コードを確認してください。
コード
- LED_PR_Light_Read
LED_PR_Light_Read Arduino
int light =0; //現在のライト値を保存しますvoidsetup(){//セットアップコードをここに配置して、1回実行します:Serial.begin(9600); //コンピュータと通信するようにシリアルを設定しますpinMode(13、OUTPUT); //デジタルピン13を出力pinMode(12、OUTPUT);として設定します。 //デジタルピン12を出力として構成します} void loop(){//メインコードをここに配置して、繰り返し実行します:light =analogRead(A0); // PRから値を読み取って保存しますSerial.println(light); //現在のライト値を出力しますif(light> 450){//明るい場合... Serial.println( "かなり明るいです!"); digitalWrite(13、LOW); //左のLEDをオフにしますdigitalWrite(12、LOW); //右のLEDをオフにします} else if(light> 229 &&light <451){//平均的な光の場合... Serial.println( "平均的な光です!"); digitalWrite(13、HIGH); // digitalWrite(12、LOW);のLEDを左に回します。 //右のLEDをオフにします} else {//暗い場合... Serial.println( "かなり暗いです!"); digitalWrite(13、HIGH); // digitalWrite(12、HIGH);のLEDを左に回します。 // LEDを右にオンにします} delay(1000); //コンピュータにスパムを送信しないでください!}
回路図
製造プロセス