3. Katse

K 3.1.1 Nuppude kasutamise võimalus (praegu ei kasuta fototakist)

const int button1Pin = 9;
const int button2Pin = 4;
const int ledPin =  13;   
void setup()
{
  pinMode(button1Pin, INPUT);
  pinMode(button2Pin, INPUT);
  pinMode(ledPin, OUTPUT);
}
void loop()
{
  int button1State, button2State;
  button1State = digitalRead(button1Pin);
  button2State = digitalRead(button2Pin);
  if (((button1State == LOW) || (button2State == LOW))   
      && !                                               
      ((button1State == LOW) && (button2State == LOW)))
  {
    digitalWrite(ledPin, HIGH);
  }
  else                          
  {
    digitalWrite(ledPin, LOW);
  }    	
  }

K 3.1.2 Nuppude kasutamise võimalus

int swPin=4;
int ledPin=13;
int switchstate=0;
void setup()
{
  pinMode(swPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  switchstate=digitalRead(swPin);
  if (switchstate==HIGH)
  {
  	digitalWrite(ledPin,HIGH);
  }
  else
  {
 	digitalWrite(ledPin,LOW); 
  }
}

K 3.2 Fototakisti abil valguse mõõtmine, valgustundlik LED

Kollane asja on fototakist

const int sensorPin = 0;
const int ledPin = 9;
int lightLevel, high = 0, low = 1023;
void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  lightLevel = analogRead(sensorPin);
  manualTune();
  analogWrite(ledPin, lightLevel);
  Serial.print(lightLevel);
  Serial.println("");          
  delay(1000);                
}
void manualTune()
{
  lightLevel = map(lightLevel, 300, 800, 0, 255);
  lightLevel = constrain(lightLevel, 0, 255);
} 
void autoTune()
{
   if (lightLevel < low)
  {                      
    low = lightLevel;
  }
  if (lightLevel > high)
  {
    high = lightLevel;
  }
  lightLevel = map(lightLevel, low+0, high-30, 0, 255);
  lightLevel = constrain(lightLevel, 0, 255);
}

Ülesanne «Öölamp» kasutada fototakist

int value;
int value1;
void setup()
{
  pinMode(5, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, INPUT);
  Serial.begin(9600);
}

void loop()
{
  value = analogRead(A0); //считываю значения с фоторезистора
  value = map(value,49,969,0,255); //меняю его значения с 49 до 969 на 0 до 255
  value = constrain(value,0,255); //ограничиваю значения
  value1 = analogRead(A1); //считываю значения с потенциометра
  value1 = map(value1,0,1023,0,2); //меняю его значения с 0 до 1023 на 0 до 2
  if (value1==1) //если состояние потенциометра равна 1
  {
  	analogWrite(3,value); //изменить яркость LED на значения фоторезистра
    analogWrite(5,value); //изменить яркость LED на значения фоторезистра
    analogWrite(6,value); //изменить яркость LED на значения фоторезистра
    analogWrite(9,value); //изменить яркость LED на значения фоторезистра
  }
  else if (value1==0) //если состояние потенциометра равна 0
  {
  	digitalWrite(3,LOW); //выключить LED
    digitalWrite(5,LOW); //выключить LED
    digitalWrite(6,LOW); //выключить LED
    digitalWrite(9,LOW);  //выключить LED 	
  }
  else //если состояние потенциометра равна 2 / исключение
  {
  	digitalWrite(3,HIGH); //включить LED
    digitalWrite(5,HIGH); //включить LED
    digitalWrite(6,HIGH); //включить LED
    digitalWrite(9,HIGH); //включить LED 
  }
}

Töö kirjeldus:

See on öölamp, mis koosneb 4 LED-ist, 1 potentsiomeetrist ja 1 fototakistist. Potentsiomeetril on 3 režiimi, kui režiim on 0, siis on kõik LED-id välja lülitatud, kui režiim on 1, siis sõltub kõigi LED-ide heledus fototakistist ehk kui see on hele siis on kõik LEDid eredad ja kui režiim 2 siis kõik LEDid põlevad lihtsalt.

Komponendid:

  • Arduino Uno
  • Arendusplaat
  • Takisti — 4 (220 ohm)
  • Takisti — 1 (10 kilooomi)
  • LED lamp — 4
  • juhtmed — 12
  • fototakisti — 1
  • potentsiomeeter — 1

https://www.tinkercad.com/things/jnxsCdASuH8

fototakisti kasutamine elus:

  • Fotogalvaanilised seadmed: fototakisteid kasutatakse fotodetektorites ja fotoelementides valguse tuvastamiseks ja selle muundamiseks elektrisignaaliks. Neid kasutatakse kaamerates, automaatsetes valgusandurites, turvasüsteemides ja muudes seadmetes.
  • Valgustus ja automaatjuhtimissüsteemid: valgustuse heleduse reguleerimiseks ja valgustite automaatseks hämardamiseks kasutatakse fototakisteid. Näiteks saab neid kasutada tänavavalgustites või targa kodu süsteemides, et vastavalt valgustasemele tuled automaatselt sisse ja välja lülitada.
  • Elektroonika ja side: fototakisteid kasutatakse optilistes sidesüsteemides (nt optilistes kiududes) optilise signaali tuvastamiseks ja teisendamiseks. Neid kasutatakse ka elektroonikas valgustugevuse mõõtmiseks või tagasisideelementidena optilistes ahelates.
  • Meditsiinitehnoloogia: fototakisteid kasutatakse meditsiiniseadmetes, näiteks vere hapnikusisalduse mõõtmiseks (pulssoksümeetrid). Neid kasutatakse ka pulsikellades ja muudes meditsiiniseadmetes, kus valgussignaale on vaja mõõta.
  • Autotööstus: fototakisteid kasutatakse autotööstuses, näiteks valgusandurid esitulede automaatseks aktiveerimiseks või sisevalgustuse juhtimissüsteemid. Neid kasutatakse ka takistuste kaugtuvastussüsteemides või armatuurlaua heleduse juhtimiseks.