קורס אמבדד – RB19-09 מבוא למיקרובקרים – Wi-Fi sockets ומיקרואלקטורניקה
- מבוא לאלקטרוניקה
pull up , pull down ארדואינו , מיקרובקר pull up , pull down – הסוד שצריך ללמוד
דיודה :
דיודה הינו רכיב שמאפשר זרימה של זרם רק בכיוון אחד
הזרם יזרום ( (1) לפי ההגדרה המקובלת ההיסטורית ) מה + למינוס –
דיודה פולטת אור : לד "מנורה" LED
דיודה : פוטודיוד – מקבלת אור – פוטנים ומייצרת וסוגרת מעגל חשמלי
.
2. שימוש ב קיפאד 3X4 KEYPAD esp32 keypad
https://esp32io.com/tutorials/esp32-keypad
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 |
#include <Keypad.h> #define ROW_NUM 4 // four rows #define COLUMN_NUM 3 // three columns char keys[ROW_NUM][COLUMN_NUM] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; byte pin_rows[ROW_NUM] = {18, 5, 17, 16}; // GPIO18, GPIO5, GPIO17, GPIO16 connect to the row pins byte pin_column[COLUMN_NUM] = {4, 0, 2}; // GPIO4, GPIO0, GPIO2 connect to the column pins Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); void setup() { Serial.begin(9600); } void loop() { char key = keypad.getKey(); if (key) { Serial.println(key); } } |
רכיב פאסיבי : נגד, קבל , סליל' דיודה – ריכיבים שלא משפעים על זרימת הזרם
רכיב אקטיבי , מוסטפט , טרנזיזטור , מגברים .. – רכיבים שמשפעים על זרימת הזרם
חיבור מנוע למיקרו בקר : (ראה סכמה בהמשך )
S-source , D-drain , G-gate
LOAD – עומס כוונה לרכיב חשמלי למשל : מנוע חשמלי או לד , מאוורר
נגדיר 1 לוגי = 3.3 וולט , 0 לוגי = 0 וולט
כאשר G=1 מוספט "יפתח" ויזרום זרם מ D ל S
כאשר G=0 מוספט "סגור" ולא ויזרום זרם מ D ל S – כלומר
הערה : כאשר מחברים צרכן עם התנהגות "סליל" כלומר שאוגר זרם ופורק אותו בסגירה כמו מנוע חשמלי , סלנואיד , מאוורר יש לחבר דיודהת הגנה במקביל לצרכן
דוגמאות :
(1) זרם זורם בפועל ממינוס לפלוס – מסיבות היסטוריות בפתירת מעגלים מתסכלים מ + ל –
פוטודיוד הוא סוג מיוחד של דיוד שפועל בתגובה לאור.
שיש אור – על הפוטו דיודה היא תיהיה בקצר
שאין אור – על הפוט דיודה היא תיהיה בנתק
קיבלנו מחלק מתח בין נגד , לדיודה ובחיבור נקרא את ערך המתח .
שיש אור שמואר על הפוטודיוד, הוא משתנה להיות מוליך ומאפשר לזרם חשמל לעבור דרכו כמו מתג שנדלק. במצב זה, הפוטודיוד מתנהג כמו מעגל קצר, והזרם יכול לעבור בקלות דרכו.
ככל שהאור חזק יותר כך ההתנהגות של הפוטדיוד תקטן
כאשר אין אור שנופל על הפוטודיוד, הוא משתנה להיות בהנגדות גבוהה מאוד כלומר נתק , דומה למצב שבו מתג כבוי. במצב זה, הפוטודיוד מתנהג כמו מעגל פתוח, ומונע את זרימת הזרם.
אז, כולל להסכם, כאשר יש אור, הפוטודיוד מאפשר לזרם לעבור דרכו, וכאשר אין אור, הוא מונע את הזרם. התכונה הזו הופכת אותו לשימושי ביישומים שונים, כגון חיישני אור, זיהוי שינויים בעוצמת האור,
סימולציה
https://www.tinkercad.com/things/7w5sghr1RGA-interfacing-with-photodiode-using-arduino
עבודה עם WIFI -sockets – chatGPT
דוגמא ל LOG
WIFI – WebSocketsServer WebSockets Server
יש להתקין את הספריות הבאות
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 |
#include <WiFi.h> #include <AsyncTCP.h> #include <ESPAsyncWebServer.h> // Replace with your network credentials const char* ssid = "T1"; const char* password = "magic111"; AsyncWebServer server(80); void setup() { Serial.begin(115200); // Connect to Wi-Fi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); // Print the IP address Serial.print("IP address: "); Serial.println(WiFi.localIP()); // Route for root / web page server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) { request->send(200, "text/html", "<!DOCTYPE html><html><head><title>Button Press</title></head><body><h1>Press the button!</h1><button onclick=\"sendMsg()\">Press me</button><script>function sendMsg(){var xhttp = new XMLHttpRequest(); xhttp.open('GET', '/button', true); xhttp.send();}</script></body></html>"); }); // Route to handle button press server.on("/button", HTTP_GET, [](AsyncWebServerRequest *request) { Serial.println("Button pressed!"); request->send(200, "text/plain", "Button pressed!"); }); // Start server server.begin(); } void loop() { // Your code here } |
לאחר החיבור יש לבדוק את IP שהתקבל
במקרה שלנו קיבלנו את ה
1 |
192.168.155.212 |
אזהרה : במקרה של סכנת הבטחה לטלפון יש לבדוק מול קצין הבטחה של החברה
או
תרגיל כיתה 1 : ESP32 Client , טלפון Server
התחבר לרשת משותפת לטלפון ול ESP32 למשל WIFI של הכיתה
בנה את התוכנה בשלבים – הרץ תוכנית
- הורד את התוכנה מהטלפון לרשת ה WI -FI
- הפעל את התוכנה ואתר את מספר ה IP שהתוכנה קיבלה בטלפון
- כתוב קוד ב chatGPT , ששושלח כל 1500 מילי שניה הודה ל Server ההודעה כוללת מספר שגדל ב 1 כל הודעה , כאשר ESP32 מתחבר הוא כותב לטרמניל connected , כאשר הוא מתנתק כותב NOT connected הרץ תוכנית
- הוסף לתוכנה הקיימת אפשרות שאם ה מקבלת הודעה L1 מ SERVER תלדיק את פין 2 ותכתוב הודעה לטרמינל L1 is on , תדליק לד ב PIN 2, אם תקבל הודעה L0 תכתוב למסך L1 IS OFF ותכבה pin 2 הרץ תוכנית
- הוסף לתוכנית לחצן המוגדל בחיבור PULLUP לפין 4 , בכל פעם שנלחץ לחצן ב ESP32 בין 4 תשלח הודעה לשרת P4=ON אחרת תשלח הודעה P4=OFF הרץ תוכנית
תרגיל כיתה 2 : תקשורת בין שני מיקרובקרים ESP32
- בקש מ chatGPT לכתוב קוד תוכנה Server I client בין שתי Esp32 אשר הודועת נכנסות ויוצאות בטרמינל בנוסף הרץ תוכנית
- בקש ששושלח כל 1500 מילי שניה הודה ל Server ההודעה כוללת מספר שגדל ב 1 כל הודעה , כאשר ESP32 מתחבר הוא כותב לטרמניל connected , כאשר הוא מתנתק כותב NOT connected
בנה את הקוד הבא לפי ההסבר באתר
כתיבת פרוייקט גמר (זמן כתיבת פרויקט גמר )
התקדם בכתיבת פורייקט גמר בכיתה העזר במרצה .