Advertisement
Guest User

Untitled

a guest
Oct 20th, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. typedef struct {
  2.   int motion;
  3.   int light;
  4.   int lightPin;
  5. } room; ///объявил тип room, который внутри представляет struct
  6.  
  7. void setup() {
  8.   pinMode(2, INPUT);    // датчик движения в прихожей
  9.   pinMode(3, INPUT);    // датчик движения в 1 зоне кухни
  10.   pinMode(4, INPUT);    // датчик движения во 2 зоне
  11.   pinMode(5, INPUT);    // датчик движения в ванной
  12.   pinMode(6,  OUTPUT);  // выход освещения прихожей
  13.   pinMode(9,  OUTPUT);  // выход освещения 1 зоны
  14.   pinMode(10, OUTPUT);  // выход освещения 2 зоны
  15.   pinMode(11, OUTPUT);  // выход освещения ванной
  16. }
  17. void loop() {
  18.   room hall;
  19.   hall.lightPin = 6;
  20.   hall.motion = digitalRead(2);
  21.   hall.light = BrightnessFunction(hall.motion, hall.lightPin);
  22.  
  23.   room kit1;
  24.   kit1.lightPin = 9;
  25.   kit1.motion = digitalRead(3);
  26.   kit1.light = BrightnessFunction(kit1.motion, kit1.lightPin);
  27.  
  28.   room kit2;
  29.   kit2.lightPin = 10;
  30.   kit2.motion = digitalRead(4);
  31.   kit2.light = BrightnessFunction(kit2.motion, kit2.lightPin);
  32.  
  33.   room bath;
  34.   bath.lightPin = 11;
  35.   bath.motion = digitalRead(5);
  36.   bath.light = BrightnessFunction(bath.motion, bath.lightPin);
  37. }
  38.  
  39. int BrightnessFunction(int motion, int lightPin)
  40. {
  41.   int brightness = 0;
  42.   int fade = 15;
  43.   switch (motion) {
  44.     case HIGH:
  45.       for (brightness >= 0; brightness = 255; brightness += fade);
  46.       analogWrite(lightPin, brightness);
  47.       delay (20);
  48.       break;
  49.     case LOW:
  50.       for (brightness <= 255; brightness = 0; brightness -= fade);
  51.       analogWrite(lightPin, brightness);
  52.       delay(10);
  53.       break;
  54.   }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement