11.3.2014

Valovastus ja ledi - milloin on pimeää?

 Tässä on muutamaan otteeseen yritetty saada valovastuksen arvoilla ledi syttymään.
Siis: valovastuksen jännitteen arvo < x, jolloin ledi syttyy, muutoin ledi ei pala.
Tässä yksi monesta epäonnistuneesta versiosta:

Netistä löytyi muutama erilainen malli, joilla kytkentä on saatu toimimaan meidän vaatimalla tavalla tai siitä hieman poiketen.
Monien koodimuutosten (monta eri koodia tuli tehtyä) jälkeen päädyin tällaiseen:


    int analogInput = A0; // Potentiometrin keskimmäinen jalka kytketään tähän pinniin

    int arvo = 0; // jännitteen arvo tallentaan tähän muuttujaan
   
    const int ledPin = 12;

    void setup()
    {
     
    pinMode(ledPin, OUTPUT);

    // Seuraava komento avaa sarjaliikenteen tietokoneelle nopeudella 9600 bps:

    Serial.begin(9600);

    }

    void loop() {

    // Sitten luetaan jännite analogisesta inputista:

    arvo = analogRead(analogInput);

    // Tulostetaan saalis sarjaporttiin:

    Serial.print("Jännite = " );

    Serial.println(arvo); // "Serial.println" komento vaihtaa riviä tulostuksen jälkeen
   
    if (arvo<500)
    {
    digitalWrite(ledPin, HIGH);

    // pieni tauko:

    delay(5);
    }
   
else if (arvo>500)
  {
    digitalWrite(ledPin, LOW);
   
    delay(5);
  }
  
  }

Ja tältä tämä koodi näytti:

Seuraavaksi pitää pohtia, mikä tuo jännitteen raja-arvo on pimeälle. Tulee myös miettiä miten koodia ja kytkentää tulee muuttaa, että siinä on kaksi lediä (jotka toimivat samaan aikaan) ja kaksi valovastusta, joiden jännitteiden keskiarvoa arduino lukee.

- V (M on valloittamassa maailmaa, niittämässä mainetta ja kunniaa...)