קורס אמבדד – 006 – RB18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
#include <Keypad.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); const int BARIS = 4; const int KOLOM = 4; char keys[BARIS][KOLOM] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[BARIS] = {14, 12, 19, 18}; byte colPins[KOLOM] = {5, 4, 2, 15}; //Keypad customKeypad = Keypad(makeKeymap(Keys), rowPins, colPins, ROWS, COLS); //Masukkan info keypad pada library Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, BARIS, KOLOM); char Key; int number = 0; int password = 1379; int line=1; int col=10; /* lcd.setCursor(0, 1); lcd.clear(); */ void setup() { Serial.begin(9600); lcd.init(); lcd.setBacklight(HIGH); } void loop() { lcd.setCursor(0, 0); lcd.print("Eenter Password"); Key = keypad.getKey(); if (Key) { lcd.setCursor(1,10); Serial.print(Key); delay(250); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
{ "version": 1, "author": "yaniv maor", "editor": "wokwi", "parts": [ { "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 142, "left": 47.33, "attrs": {} }, { "type": "wokwi-membrane-keypad", "id": "keypad1", "top": -302.03, "left": -33.5, "attrs": {} }, { "type": "wokwi-lcd1602", "id": "lcd1", "top": 165.34, "left": 317.49, "attrs": { "pins": "i2c" } } ], "connections": [ [ "esp:TX0", "$serialMonitor:RX", "", [] ], [ "esp:RX0", "$serialMonitor:TX", "", [] ], [ "keypad1:R1", "esp:D14", "green", [ "v52.4", "h-62", "v86.67" ] ], [ "keypad1:R2", "esp:D12", "green", [ "v59.07", "h-61.33", "v148.67" ] ], [ "esp:D19", "keypad1:R3", "green", [ "h32.54", "v-116.5", "h-95.17" ] ], [ "keypad1:R4", "esp:D18", "green", [ "v51.07", "h96.33", "v137.33" ] ], [ "keypad1:C1", "esp:D5", "green", [ "v41.73", "h100.17", "v170.67" ] ], [ "keypad1:C2", "esp:D4", "green", [ "v35.07", "h100", "v142" ] ], [ "keypad1:C3", "esp:D2", "green", [ "v23.73", "h104.92", "v124" ] ], [ "keypad1:C4", "esp:D15", "green", [ "v13.07", "h103.83", "v148.67" ] ], [ "lcd1:GND", "esp:GND.1", "black", [ "h-71.57", "v94.28", "h-101.29" ] ], [ "esp:VIN", "lcd1:VCC", "red", [ "h-23.5", "v71.17", "h231.36", "v-103.56" ] ], [ "lcd1:SDA", "esp:D21", "#8f4814", [ "h-35.83", "v-33.41", "h-117.78", "v19.63" ] ], [ "lcd1:SCL", "esp:D22", "orange", [ "h-23.75", "v-49.46" ] ] ] } |
https://wokwi.com/projects/350785842040537683
תרגיל כיתה 1
בנה מערכת אמבדד לכספת לפי המערכת הבאה
- למערכת מחובר לד ירוק מצב – כספת סגורה
- לד ירוק מצב מערכת סגורה
- מנוע סרבו מסמל – מנעול פתוח או עצוב
- באזר
א. בזמן התחלת המעגל ,נשמע שצי ציפוצפים קצרים מאוד.
2 על המשתמש להקיש סיסמא אם תקין פותח הכל ל OPEN אחרת משפיעה צפוצפו 3 פעמים ואור מהבהב.
תרגיל כיתה 2
נתון המעגל לדוגמא הבא :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
#include <IRremote.h> int RECV_PIN = 7; int LED13 = 13; int LED12 = 12; int LED11 = 11; int LED10 = 10; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { pinMode(LED13, OUTPUT); pinMode(LED12, OUTPUT); pinMode(LED11, OUTPUT); pinMode(LED10, OUTPUT); pinMode(RECV_PIN, INPUT); irrecv.enableIRIn(); Serial.begin(9600); Serial.println("IR Remote Control"); } int flag = 0; void loop() { // put your main code here, to run repeatedly: if (irrecv.decode(&results)){ Serial.println(results.value,HEX); irrecv.resume(); if (results.value == 0xFF0CF3){ digitalWrite(LED13,HIGH); flag = 1; Serial.println("LAMP1 = ON"); }if (results.value == 0xFF18E7){ digitalWrite(LED13, LOW); flag = 0; Serial.println("LAMP1 = OFF"); }if (results.value == 0xFF5EA1){ digitalWrite(LED12, HIGH); flag = 1; Serial.println("FAN1 = ON"); }if (results.value == 0xFF08F7){ digitalWrite(LED12, LOW); flag = 0; Serial.println("FAN1"); }if (results.value == 0xFF1CE3){ if (flag == 0){ digitalWrite(LED11, HIGH); flag = 1; Serial.println("DOOR = OPEN"); }else { if (flag == 1){ digitalWrite(LED11, LOW); flag = 0; Serial.println("DOOR = LOCK"); } } }if (results.value == 0xFF42BD){ if (flag == 0){ digitalWrite(LED10, HIGH); flag = 1; Serial.println("PUMP = ON"); }else { if (flag == 1){ digitalWrite(LED10, LOW); flag = 0; Serial.println("PUMP = OFF"); } } } } } |
1.בנה מערכת אזעקה – מערכת אזעקה – מחוברת ל3 חיישני נפח
2.הפעלת \ כיבוי אזעקה יהיה לאחר הקשת קדו 55726 בשלט IR ליגויב הודלרת
3בזמן האזעקה אם התגלה פריצה באחד מה PIR תופעל אזעקה למשך מספר שניות – וומהבהב בלידם
3.אם משדרים את את הקוד זה מפסיק את האזעקה
STM32