ÖÖlamp

3.1. Katse Nuppude ja Slideswitch’i kasutamise võimalus

Skeem:

const int button1Pin = 2;  //viik kunu on ühebdatud nupp1

const int button2Pin = 3; //viik kuhu on ühendatud nupp2

const int ledPin =  13;   

void setup()

{

  pinMode(button1Pin, INPUT); //algväärtuse nupu viigu sisendiks

  pinMode(button2Pin, INPUT); //algväärtuse nupu viigu sisendiks

  pinMode(ledPin, OUTPUT);   //algväärtuse LED viigu väljundiks
 

}

void loop()

{

  int button1State, button2State;  //nupu oleku muutujad ( переменные для сохранения состояния кнопок)

  // Поскольку кнопки имеют только два состояния (нажаты и не нажаты) мы будем

  // работать с ними используя цифровые порты ввода. Для того чтобы считывать

  // digitalRead() функция позволяет получить один параметр с цифрового порта и возвратить либо HIGH (+5V), либо LOW ("0").

  button1State = digitalRead(button1Pin);// salvestame muutujasse nupu hetke väärtuse

  button2State = digitalRead(button2Pin);

  if (((button1State == LOW) || (button2State == LOW))   // kui nupu on alla vajutatud (сравниваем, нажата ли одна из кнопок)

      && !                                               // и если нет

      ((button1State == LOW) && (button2State == LOW))) // kui nupude on alla vajutatud (сравниваем, нажаты ли обе кнопки тогда...)

  {

    digitalWrite(ledPin, HIGH);  // süütame LEDi (включаем светодиод)

  }

  else                          

  {

    digitalWrite(ledPin, LOW);  // kustutame LEDi (выключаем светодиод)

  }    	

  }

3.2. Katse Photoresistor

Skeem:

const int sensorPin = 0;
int lightLevel, high = 0, low = 1023;

const int ledPin = 9;


void setup()

{

  pinMode(ledPin, OUTPUT); 

}

void loop()

{
   manualTune(); 
}

void manualTune()

{

  lightLevel = map(lightLevel, 300, 800, 0, 255); 
  lightLevel = constrain(lightLevel, 0, 255);
   lightLevel = analogRead(sensorPin);  
  analogWrite(ledPin, lightLevel);
  Serial.print(lightLevel);     
  Serial.println("");          
  delay(1000);                

} 

Öölamp

Komponeendid:

Arduino Uno
Arendusplaat
LED
Resistor 2x

Photoresistor

Cabel 10x

Potentsiomeetr

Skeem:

Programm:

const int sensorPin = 0;
int lightLevel, high = 0, low = 1023;

const int ledPin = 9;

int potentiaPin = 5;
int potentiaValue = 0;
int Value_new;

void setup()

{

  pinMode(ledPin, OUTPUT); 

}

void loop()

{
  Value_new = analogRead(potentiaPin);
  Value_new=map(Value_new, 0, 1023, 1, 2);
  if (Value_new == 1)
  {
   manualTune(); 
  }
  else if (Value_new ==2)
  {
    digitalWrite(ledPin, LOW);
  } 

}

void manualTune()

{

  lightLevel = map(lightLevel, 300, 800, 0, 255); 
  lightLevel = constrain(lightLevel, 0, 255);
  lightLevel = analogRead(sensorPin);  
  analogWrite(ledPin, lightLevel);
  Serial.print(lightLevel);     
  Serial.println("");          
  delay(1000);                

} 

Link

Ööbikut kasutatakse igapäevaelus.