Czy w pokoju jest dobre światło do czytania – Arduino

Czy w pokoju jest dobre światło do czytania – Arduino

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Witam! Jest to mój pierwszy artykuł, proszę o wyrozumiałość jeśli coś będzie niejasne (śmiało piszcie w komentarzach!).

Słowem wstępu…

Zawsze chciałem wiedzieć czy w pokoju, w którym jestem, jest odpowiednie natężenie światła do czytania. Wiadomo – jak jest za ciemno, wzrok się męczy… Kiedy po raz pierwszy wpadło mi w ręce Arduino – od razu przypomniałem sobie o tym pomyśle. I tak, po przeniesieniu projektu do rzeczywistości, możecie teraz czytać ten artykuł…

Czego potrzebujemy ?

  • płytka Arduino (jak używam Mega 2560)
  • fotorezystor (ang. photocell)
  • dwie diody LED (ja użyłem czerwonej i zielonej)
  • przycisk (mikroswitch)
  • buzzer (niekoniecznie – powiadomienia dźwiękowe)
  • 3x rezystor 220 Ohm (bez buzzera wystarczą dwa)
  • 2x rezystor 10 kOhm
  • duża płytka stykowa
  • kabelki podłączniowe
  • dobre chęci :-)

Koszt tego wszystkiego (bez płytki Arduino) nie przekroczy (a przynajmniej nie powinien) 15 zł.

Montujemy !

1. Najpierw zajmiemy się przyciskiem, po kliknięciu na który, Arduino wykona test. A więc :

20140113_202046

Od jednej nóżki guzika, przez rezystor 10 kOhm prowadzimy kabel do, jak ja to nazywam, “listwy minusów”, od drugiego wyprowadzenia do “listwy plusów”, a od trzeciej do jednego z załączy DIGITAL (ja wybrałem 52). Zamontowane :-)

2. Teraz buzzer :-) Część nieobowiązkowa :-) Zdjęcie :

20140113_202654

Od minusa prowadzimy kabelek do “liswy minusów”, a od plusa przez rezystor 220 Ohmów do jednego z załączy cyfrowych (DIGITAL – u mnie pin 53).

3. Najważniejsza cześć – fotorezystor. Montujemy go jak na zdjęciu :

20140113_203252

Od jednej nóżki do “listwy plusów”, od drugiej przez rezystor 10 kOhm do “listwy minusów” oraz do jednego z załączy analogowych (ANALOG IN – ja mam A0).

4. Myślę, że z diodami każdy sobie poradzi bez fotografii. Od anody (plusa – dłuża “noga” diody) przez rezystor  220 Ohm do jednego z załączy DIGITAL, od katody (minusa) do “listwy minusów”. Ja diodę czerwoną podłączyłem do pinu 41, a zieloną do 40.

5. Na koniec podłączamy “listwę minusów” do załącza GND, a “listwę plusów” do pinu “5 V”.

6. Powinniśmy mieć coś takiego :

20140114_183715

Piszemy program

Bez zbędnych wstępów, w Arduino IDE piszemy następujący kod :

int pinFotorezystora = 0;
int pinCzerwonaLED = 41;
int pinZielonaLED = 40;
int pinGlosniczek = 53; // nie będę implementował głośniczka, jak ktoś chce może zrobić to na własną rękę
int pinGuziczek = 52;

void setup()
{
pinMode(pinCzerwonaLED, OUTPUT);
   pinMode(pinZielonaLED, OUTPUT);
}

void loop()
{

   if(digitalRead(pinGuziczek) == HIGH) // jeśli guziczek kliknięty
{

if(analogRead(pinFotorezystora) > 200 && analogRead(pinFotorezystora))
     {
digitalWrite(pinZielonaLED, HIGH);
       delay(1000)
digitalWrite(pinZielonaLED, LOW);
     }
else
     {
digitalWrite(pinCzerwonaLED, HIGH);
       delay(1000)
digitalWrite(pinCzerwonaLED, LOW);
     }

     delay(500);
}

}

Myślę, że nie trzeba go tłumaczyć, jakby ktoś miał jakieś uwagi i wątpliwości proszę pisać w komentarzach.

Słowo końcowe…

Miłego używania maszyny! Czytajcie tylko w dobrze oświetlonych pomieszczeniach!!!

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 2.67/5 (głosów: 3)

Podobne posty

2 komentarzy do “Czy w pokoju jest dobre światło do czytania – Arduino

  • Przydałby się jakiś schemat… Poza tym myślę, że dużo zależy od wartości fotorezystora. Jeśli zastosowałeś przykładowo 10k, a ktoś inny zastosuje np 100k to warunek
    if(analogRead(pinFotorezystora) > 200…
    raczej nie zapali zielonej diody. Druga sprawa to skąd taka wartość oświetlenia? Jeśli urządzenie jest skalowane “na oko” to można to robić zawsze na bieżąco i urządzenie jest zbędne.
    Trzecia sprawa to co robi zapis
    if(analogRead(pinFotorezystora) > 200 && analogRead(pinFotorezystora)) ?
    Nie jestem mocny w programowaniu i nie rozumiem po co jest część po operatorze sumy (&&)? Skoro pierwszy warunek jest spełniony to drugi chyba nie jest potrzebny?

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?