מדריך חיבור חיישן מגע מתכתי KY-036 ל-Arduino ו-ESP32:
במדריך זה נלמד כיצד לחבר חיישן מגע מתכתי KY-036 לבקר Arduino UNO ולבקר ESP32.
נראה איך החיישן מזהה מגע באלקטרודת המתכת,
איך לקרוא את היציאה האנלוגית והיציאה הדיגיטלית,
ואיך להשתמש במגע כפקודת הפעלה בפרויקטים אינטראקטיביים.
מהו חיישן KY-036?
KY-036 הוא מודול לזיהוי מגע באלקטרודת מתכת.
כאשר נוגעים בקצה המתכתי של החיישן,
האות החשמלי במעגל החישה משתנה והמודול מאפשר לבקר לזהות את המגע.
החיישן מתאים לפרויקטים של כפתורי מגע,
ממשקים אינטראקטיביים, הפעלת LED או Buzzer,
מערכות בקרה וניסויים עם Arduino ו-ESP32.
חשוב לדעת: KY-036 אינו גלאי מתכות.
הוא אינו מזהה חפצי מתכת ממרחק,
אלא מיועד לזהות מגע ישיר באלקטרודת המתכת שלו.
איך החיישן עובד?
החיישן כולל אלקטרודת מתכת בחלק הקדמי של המודול.
כאשר נוגעים באלקטרודה, יחידת החישה מגיבה לשינוי באות החשמלי
ומעבירה אותו לשתי יציאות שונות.
- AO — יציאה אנלוגית שמציגה את השינוי באות החישה.
- DO — יציאה דיגיטלית HIGH / LOW לפי סף שנקבע מראש.
על המודול נמצא פוטנציומטר שמאפשר לכוון את סף הזיהוי של היציאה הדיגיטלית.
שבב ההשוואה LM393 משווה בין האות מהחיישן לבין הסף שנקבע,
ומשנה את מצב היציאה DO כאשר הסף נחצה.
חשוב לשים לב שהיציאה האנלוגית פועלת בצורה הפוכה:
כאשר אות החישה מתחזק, המתח ביציאת AO יורד.
לכן במקרים רבים מגע חזק וברור יגרום לערך ADC נמוך יותר.
פינים במודול KY-036
| פין | תפקיד |
|---|---|
| VCC / + | מתח הזנה למודול |
| GND / G | אדמה |
| AO | יציאה אנלוגית ישירה מיחידת החישה |
| DO | יציאה דיגיטלית לפי סף הזיהוי |
רכיבים נדרשים
- חיישן מגע מתכתי KY-036
- Arduino UNO או ESP32
- Breadboard
- חוטי Dupont
- כבל USB
חיבור KY-036 ל-Arduino UNO

| KY-036 | Arduino UNO |
| VCC / + | 5V |
| GND / G | GND |
| AO | A0 |
| DO | D3 |
הסבר חיבור
ב-Arduino UNO מחברים את AO לכניסה האנלוגית A0
ואת DO לפין הדיגיטלי D3.
כך ניתן לקרוא גם את עוצמת האות היחסית
וגם מצב דיגיטלי פשוט של זיהוי מגע לפי הסף שנקבע בפוטנציומטר.
לפני הבדיקה מומלץ לסובב את הפוטנציומטר בהדרגה
עד שהנורית הדיגיטלית שעל המודול מגיבה בצורה יציבה בזמן מגע.
קוד Arduino בסיסי לקריאת החיישן
const int touchAnalogPin = A0;
const int touchDigitalPin = 3;
void setup() {
Serial.begin(9600);
pinMode(touchDigitalPin, INPUT);
Serial.println("KY-036 touch sensor ready");
}
void loop() {
int analogValue = analogRead(touchAnalogPin);
int digitalValue = digitalRead(touchDigitalPin);
Serial.print("Analog value: ");
Serial.print(analogValue);
Serial.print(" | Digital value: ");
Serial.println(digitalValue);
if (digitalValue == HIGH) {
Serial.println("Touch detected");
} else {
Serial.println("No touch detected");
}
Serial.println("-------------------");
delay(500);
}הסבר הקוד
הקוד קורא את שתי היציאות של החיישן.
הערך האנלוגי מתקבל דרך A0,
והערך הדיגיטלי מתקבל דרך D3.
כאשר האות עובר את הסף שנקבע בפוטנציומטר,
היציאה הדיגיטלית עוברת למצב HIGH.
אם במודול מסוים מתקבלת התנהגות שונה,
יש לבדוק את הערכים בפועל ב-Serial Monitor
ולכוון מחדש את הפוטנציומטר.
הבנת היציאה האנלוגית
יציאת AO מאפשרת לראות שינוי הדרגתי באות החיישן.
בניגוד לחיישנים רבים, האות של KY-036 הפוך:
אות חישה חזק יותר גורם בדרך כלל לערך מתח נמוך יותר.
לכן אין להניח שערך ADC גבוה יותר תמיד מציין מגע חזק יותר.
יש לבדוק את הערכים ללא מגע ובזמן מגע
ולהשתמש בתוצאות שמתקבלות בפועל.
לדוגמה, ניתן למדוד:
- ערך כאשר אין מגע באלקטרודה.
- ערך בזמן מגע קל.
- ערך בזמן מגע יציב.
לאחר מכן ניתן להשתמש בערכים האלה כדי ליצור סף בתוכנה
במקום להסתמך רק על היציאה הדיגיטלית.
חיבור KY-036 ל-ESP32

הערה חשובה לפני החיבור
ESP32 עובד ברמת לוגיקה של 3.3V.
לכן בחיבור ל-ESP32 מומלץ להזין את KY-036 מ-3V3.
כך גם היציאה האנלוגית וגם היציאה הדיגיטלית נשארות
בתחום מתח שמתאים לבקר.
אין להזין את המודול מ-5V ולחבר את AO או DO ישירות ל-ESP32
ללא בדיקת רמת המתח והתאמה מתאימה.
| KY-036 | ESP32 |
| VCC / + | 3V3 |
| GND / G | GND |
| AO | GPIO34 |
| DO | GPIO27 |
הסבר חיבור
ב-ESP32 מחברים את AO לפין ADC כמו GPIO34
ואת DO לפין דיגיטלי רגיל כמו GPIO27.
GPIO34 מתאים לקריאה אנלוגית,
ואינו נדרש להוציא אות כלשהו אל החיישן.
גם כאן יש לכוון את הפוטנציומטר
עד שהיציאה הדיגיטלית מגיבה בצורה יציבה למגע.
קוד ESP32 בסיסי לקריאת החיישן
const int touchAnalogPin = 34;
const int touchDigitalPin = 27;
void setup() {
Serial.begin(115200);
pinMode(touchDigitalPin, INPUT);
analogReadResolution(12);
Serial.println("KY-036 touch sensor ready");
}
void loop() {
int analogValue = analogRead(touchAnalogPin);
int digitalValue = digitalRead(touchDigitalPin);
Serial.print("Analog value: ");
Serial.print(analogValue);
Serial.print(" | Digital value: ");
Serial.println(digitalValue);
if (digitalValue == HIGH) {
Serial.println("Touch detected");
} else {
Serial.println("No touch detected");
}
Serial.println("-------------------");
delay(500);
}הסבר הקוד
הקוד עבור ESP32 עובד באותו עיקרון כמו הקוד עבור Arduino.
הוא קורא את AO דרך GPIO34
ואת DO דרך GPIO27.
הקריאה האנלוגית משמשת לבדיקה מפורטת יותר של האות,
והיציאה הדיגיטלית מאפשרת לקבל החלטה פשוטה לפי הסף שנקבע.
אם החיישן מזהה מגע כל הזמן או אינו מזהה כלל,
יש לכוון את הפוטנציומטר ולבדוק שוב את הערכים.
שימוש ככפתור מגע
אחד השימושים הפשוטים ביותר ב-KY-036
הוא החלפת כפתור מכני בחיישן מגע.
כאשר מתקבל HIGH ביציאה הדיגיטלית,
ניתן להפעיל פעולה כמו:
- הדלקת LED.
- הפעלת Buzzer.
- שינוי מצב בתוכנית.
- הפעלת ממסר או מערכת בקרה.
- שליחת פקודה למערכת בית חכם.
בפרויקט שבו כל מגע צריך לשנות מצב פעם אחת,
מומלץ לזהות את רגע המעבר ממצב ללא מגע למצב מגע,
ולא לבצע את הפעולה שוב ושוב כל עוד האצבע נשארת על החיישן.
דוגמה להפעלה וכיבוי של LED בכל מגע
const int touchPin = 3;
const int ledPin = 13;
bool ledState = false;
bool previousTouchState = false;
void setup() {
pinMode(touchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
bool currentTouchState = digitalRead(touchPin);
if (currentTouchState == HIGH && previousTouchState == LOW) {
ledState = !ledState;
digitalWrite(ledPin, ledState);
}
previousTouchState = currentTouchState;
delay(30);
}הסבר הקוד
הקוד אינו משנה את מצב ה-LED כל עוד האצבע נשארת על החיישן.
הפעולה מתבצעת רק ברגע שבו המצב משתנה מ-LOW ל-HIGH.
כל מגע חדש הופך את מצב ה-LED:
אם הוא כבוי הוא נדלק,
ואם הוא דולק הוא נכבה.
כיוון רגישות החיישן
הפוטנציומטר שעל המודול קובע את סף ההפעלה של היציאה הדיגיטלית.
מומלץ לבצע את הכיוון בשלבים:
- לחבר את החיישן ולהפעיל את המערכת.
- לבדוק את נורית מצב היציאה ללא מגע.
- לגעת באלקטרודה ולסובב את הפוטנציומטר בהדרגה.
- לעצור כאשר מתקבלת תגובה ברורה ויציבה למגע.
אם הסף רגיש מדי,
החיישן עלול לזהות הפרעות או מגע חלש מאוד.
אם הסף אינו רגיש מספיק,
ייתכן שמגע רגיל לא יפעיל את היציאה.
שגיאות נפוצות
אם החיישן אינו מגיב,
יש לבדוק קודם את סדר הפינים ואת מתח ההזנה.
אם היציאה הדיגיטלית נשארת תמיד באותו מצב,
יש לכוון את הפוטנציומטר ולבדוק את נורית החיווי שעל המודול.
אם הערך האנלוגי נראה הפוך מהצפוי,
זו אינה בהכרח תקלה:
ב-KY-036 אות חישה חזק יותר יכול לגרום לערך אנלוגי נמוך יותר.
אם הקריאות אינן יציבות,
מומלץ לקצר חוטים ארוכים,
לוודא חיבור GND תקין
ולהרחיק את המודול ממקורות הפרעה חשמליים חזקים.
טיפים לעבודה נכונה
- לכוון את הפוטנציומטר לפי תנאי העבודה בפועל.
- לבדוק את AO ו-DO לפני כתיבת תנאים סופיים בקוד.
- להשתמש ב-DO לפעולות פשוטות של מגע / אין מגע.
- להשתמש ב-AO כאשר רוצים לנתח את השינוי באות בצורה מפורטת יותר.
- להוסיף זיהוי מעבר או השהיה קצרה אם משתמשים בחיישן ככפתור.
- לא להשתמש במודול כגלאי מתכות, משום שזה אינו הייעוד שלו.
פרויקט לדוגמה
מערכת אזעקה במגע עם KY-036, Buzzer ו-LED דו-צבעי

בפרויקט זה משתמשים בחיישן מגע KY-036 יחד עם Arduino UNO
כדי לבנות מערכת אזעקה שמופעלת באמצעות מגע.
המערכת כוללת גם Buzzer פעיל מסוג KY-012
ו-LED דו-צבעי מסוג KY-011.
כאשר החיישן מזהה מגע,
ה-Buzzer מופעל והנורית האדומה נדלקת.
כאשר אין מגע,
האזעקה כבויה והנורית הירוקה משמשת כחיווי למצב רגיל.
מעבר לחיישן עצמו, הפרויקט משלב חיווי קולי וחזותי,
ולכן הוא מתאים ללמידה על חיישני מגע,
יציאות דיגיטליות ותגובה לאירוע.
סיכום
KY-036 הוא מודול פשוט ונוח לזיהוי מגע באלקטרודת מתכת
בפרויקטים עם Arduino ו-ESP32.
היציאה האנלוגית מאפשרת לבדוק את השינוי היחסי באות,
והיציאה הדיגיטלית מאפשרת לקבל מצב פשוט של זיהוי לפי סף שנקבע בפוטנציומטר.
החיישן מתאים לכפתורי מגע,
ממשקים אינטראקטיביים,
מערכות אזעקה בסיסיות והפעלת רכיבים באמצעות מגע.
חשוב לזכור שהחיישן מיועד לזיהוי מגע ישיר
ואינו גלאי מתכות או חיישן מרחק.