1#include <IRremote.h>
2#include <IRremoteInt.h>
3
4#include <Servo.h>
5
6#include <LiquidCrystal.h>
7
8LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
9int RECV_PIN=8;
10IRrecv irrecv(RECV_PIN);
11decode_results results ;
12Servo myservo;
13int angle = 0;
14
15void setup()
16{
17 lcd.begin(16, 2);
18 myservo.attach(9);
19 myservo.write(angle);
20 irrecv.enableIRIn();
21
22 lcd.setCursor(0, 0);
23 lcd.print("Betoltes...");
24 delay(800);
25 lcd.clear();
26 lcd.print("Betoltes>");
27 delay(400);
28 lcd.clear();
29 lcd.print("Betoltes>>");
30 delay(400);
31 lcd.clear();
32 lcd.print("Betoltes>>>");
33 delay(400);
34 lcd.clear();
35 lcd.print("Betoltes>>>>");
36 delay(400);
37 lcd.clear();
38 lcd.print("Betoltes>>>>>");
39 delay(400);
40 lcd.clear();
41 lcd.print("Betoltes>>>>>>");
42 delay(400);
43 lcd.clear();
44 lcd.print("Betoltes>>>>>>>");
45 delay(400);
46 lcd.clear();
47 lcd.print("Motor szoge:");
48 lcd.setCursor(0, 1);
49 lcd.print(angle);
50}
51
52void loop()
53{
54
55 if(irrecv.decode(&results))
56 {
57 translateIR();
58 myservo.write(angle);
59
60 if (angle>180)
61 {
62 lcd.clear();
63 lcd.setCursor(0, 0);
64 lcd.print("Motor szoge:");
65 lcd.setCursor(0, 1);
66 lcd.print("Maximum szog");
67 angle = 190;
68 }
69 else if (angle<0)
70 {
71 lcd.clear();
72 lcd.setCursor(0, 0);
73 lcd.print("Motor szoge:");
74 lcd.setCursor(0, 1);
75 lcd.print("Minimum szog");
76 angle = -10;
77 }
78 else
79 {
80 lcd.clear();
81 lcd.setCursor(0, 0);
82 lcd.print("Motor szoge:");
83 lcd.setCursor(0, 1);
84 lcd.print(angle);
85 }
86 irrecv.resume();
87 }
88}
89 void translateIR()
90 {
91 switch(results.value) {
92 case 0xFF6897:
93 angle = 0;
94 break;
95
96 case 0xFF30CF:
97 angle = angle + 10;
98 break;
99
100 case 0xFF18E7:
101 angle = angle -10;
102 break;
103
104 case 0xFF7A85:
105 angle = 180;
106 break;
107
108 }
109 }