Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef struct {
- int motion;
- int light;
- int lightPin;
- } room; ///объявил тип room, который внутри представляет struct
- void setup() {
- pinMode(2, INPUT); // датчик движения в прихожей
- pinMode(3, INPUT); // датчик движения в 1 зоне кухни
- pinMode(4, INPUT); // датчик движения во 2 зоне
- pinMode(5, INPUT); // датчик движения в ванной
- pinMode(6, OUTPUT); // выход освещения прихожей
- pinMode(9, OUTPUT); // выход освещения 1 зоны
- pinMode(10, OUTPUT); // выход освещения 2 зоны
- pinMode(11, OUTPUT); // выход освещения ванной
- }
- void loop() {
- room hall;
- hall.lightPin = 6;
- hall.motion = digitalRead(2);
- hall.light = BrightnessFunction(hall.motion, hall.lightPin);
- room kit1;
- kit1.lightPin = 9;
- kit1.motion = digitalRead(3);
- kit1.light = BrightnessFunction(kit1.motion, kit1.lightPin);
- room kit2;
- kit2.lightPin = 10;
- kit2.motion = digitalRead(4);
- kit2.light = BrightnessFunction(kit2.motion, kit2.lightPin);
- room bath;
- bath.lightPin = 11;
- bath.motion = digitalRead(5);
- bath.light = BrightnessFunction(bath.motion, bath.lightPin);
- }
- int BrightnessFunction(int motion, int lightPin)
- {
- int brightness = 0;
- int fade = 15;
- switch (motion) {
- case HIGH:
- for (brightness >= 0; brightness = 255; brightness += fade);
- analogWrite(lightPin, brightness);
- delay (20);
- break;
- case LOW:
- for (brightness <= 255; brightness = 0; brightness -= fade);
- analogWrite(lightPin, brightness);
- delay(10);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement