Akıllı Dokunmatik Kontrollü Çoklu Kapı Zili Sistemi Yapma

Akıllı Dokunmatik Kontrollü Çoklu Kapı Zili Sistemi Yapma

 

Teknoloji her geçen gün ilerliyor ve her şey daha akıllı hale geliyor. Yeni özellikler ve stillerle gelişen kapı zilleri de dahil olmak üzere evlerimizde kullandığımız bazı geleneksel cihazlar artık daha akıllı hale geliyor. Bugün dokunmatik anahtar sistemi ile piyasada birçok süslü kapı zili bulacaksınız, ancak bunların kurulumu çok pahalıdır ve herkes bunları karşılayamaz.

Bu yüzden, kendi dokunmatik ekran kapı zilini yapmanıza yardımcı olmaya karar verdik. Bu kapı zili, size tamamen yeni bir deneyim kazandıracak birçok benzersiz özelliğe sahiptir. Bu kapı zilinin ilginç bir özelliği, evinizdeki veya ofisinizdeki her oda için ayrı çanlara sahip olmasıdır. Ayrıca ziyaretçilerin ofisin kapalı olup olmadığını veya herhangi bir aile üyesinin mevcut olup olmadığını bildirmek için özel bir bildirim sistemi vardır.

1: Yazarın prototipi

Akıllı dokunmatik kontrollü çoklu kapı zili sisteminin devre şeması Şekil 2’de gösterilmiştir. Arduino Uno, 6.1cm (2.4 inç) TFT ekran, Bluetooth HC-05 ve dört piezo sesli uyarıcıdan oluşur.

2: Akıllı dokunmatik kontrollü çoklu kapı zili sisteminin devre şeması

Arduino kütüphanesini kurma

Arduino IDE’ye gerekli kütüphaneyi kurun. Bunun için Çizim menüsüne gidin ve Kütüphaneyi Yönet’e tıklayın. Kütüphane adlarını (Adafruit GFX ve TouchScreen) arayın ve Yükle’ye tıklayın.

Her dokunmatik ekranın kendi kütüphanesi vardır. Bu nedenle, TFT ekran modelinize göre bir kütüphane bulun ve kurun. Burada MCUFriend 2.4 TFT LCD kütüphanesi St7789v’yi kullandık ve Arduino IDE’ye kurduk. Ayrıntılar için Şekil 3, 4 ve 5’e bakın.

3: Kütüphane Yöneticisini Açma4: Adafruit GFX kütüphanesini kurma5: TouchScreen kitaplığının kurulması

Kodlama Arduino

Koddaki kütüphaneleri başlatın ve ayrı odalar veya ofis kabinleri için kontrol etmek istediğiniz gerekli değişkenleri (örneğin, home1, home2, home3 ve home4) bildirin. Ardından, aşağıdaki koda TFT ekran için yazı tipleri ve renk kodları ekleyin:

#include <Fonts / FreeMonoBold24pt7b.h>
#include <Fonts / FreeMonoBold9pt7b.h>
#include <Fonts / FreeSerif12pt7b.h>
#include
/// font
// home bölüm
int home1 = 13;
int home2 = 12;
int home3 = 11;
int home4 = 10;
// ev bölümü

Ardından, temas noktalarını almak için bir işlev oluşturun. Bu işlevde, dokunmatik ekranın temas noktalarını okumasını sağlamak için basınç aralığını ayarlayın. Bundan sonra, temas noktalarını tanımlamak için değerleri TFT ekranın genişliği ve yüksekliğiyle eşleştirin. Bu özelliklere ulaşmak için kod aşağıda verilmiştir.

sabit int XP = 6, XM = A1, YP = A2, YM = 7;
// ID = 0x9341
const int TS_LEFT = 901, TS_RT = 123, TS_
TOP = 119, TS_BOT = 881;
Dokunmatik Ekran ts = Dokunmatik Ekran (XP, YP, XM,
YM, 300);
Adafruit_GFX_Düğmesi on_btn, off_btn, on_
btn1, off_btn1;

int pixel_x, pixel_y; // Touch_getXY ()
güncellemeler global vars
bool Touch_getXY (void)
{
TSPoint p = ts.getPoint ();
pinMode (YP, ÇIKIŞ); // paylaşılan pinleri geri
yükle pinMode (XM, OUTPUT);
digitalWrite (YP, YÜKSEK); // çünkü TFT kontrol pimleri
digitalWrite (XM, HIGH);
bool basıldı = (pz> MINPRESSURE && pz
<MAXPRESSURE); if (basıldığında) {pixel_x = harita (px, TS_LEFT, TS_RT, 0, tft.width ()); //.kbv bana mantıklı geliyor pixel_y = map (py, TS_TOP, TS_BOT, 0, tft.height ()); } geri dönüş basıldı; }

Ardından, Arduino’nun pin modlarını bildirmek için bir kurulum işlevi oluşturun ve dokunmatik ekran modülünün ekranında görüntülemek istediğiniz düğmeleri oluşturun.

Aşağıda verilen kodda, dört ofis odası için dört düğme oluşturduk. Ayrıca çanların çalışma durumunu göstermek için birkaç bildirim noktası oluşturduk. Bu bildirim noktalarının rengi duruma göre değişecektir. Örneğin, ofis kapatıldığında kırmızıya, açık olduğunda yeşile döner. Bu özelliklere ulaşmak için kod aşağıda verilmiştir.

void setup (void) {Serial.begin (9600); pinMode (home1, ÇIKIŞ); pinMode (home2, ÇIKIŞ); pinMode (home3, ÇIKIŞ); pinMode (home4, ÇIKIŞ); uint16_t ID = tft.readID (); eğer (ID == 0xD3D3) ID = 0x9486; // salt yazma kalkanı tft.begin (ID); tft.setRotation (0); // PORTRE tft.fillScreen (BLACK); // left.up.size. boyut tft.setFont (& FreeMonoBold9pt7b); on_btn.initButton (& tft, 105, 90, 190, 40, GREE, SİYAH, GREE, “Ofis 1”, 1); off_btn.initButton (& tft, 105, 140, 190, 40, YEŞİL, SİYAH, YEŞİL, “Ofis 2”, 1); on_btn1.initButton (& tft, 105, 190, 190, 40, GREE, SİYAH, YEŞİL, “Ofis 3”, 1); off_btn1.initButton (& tft, 105, 240, 190, 40, GREE, SİYAH, YEŞİL, “Ofis 4”, 1); on_btn.drawButton (yanlış); off_btn.drawButton (yanlış); on_btn1.drawButton (yanlış); off_btn1.drawButton (yanlış);

Şimdi, düğmelerin durumunu, yani dokunmatik düğmelere basılı olup olmadığını kontrol etmek ve döndürmek için bir işlev oluşturun. Bu özelliklere ulaşmak için kod aşağıda verilmiştir.

Adafruit_GFX_Button * düğmeleri [] = {& on_btn, & off_btn, & on_btn1, & off_btn1, NULL}; bool update_button (Adafruit_GFX_Button * b, bool aşağı) {b-> basın (aşağı && b-> içerir (pixel_x,
pixel_y));
eğer (b-> justReleased ())
b-> drawButton (yanlış);
if (b-> justPressed ())
b-> drawButton (true);
geri dönüş;
}
bool update_button_list (Adafruit_GFX_
Düğme ** pb)
{
bool down = Touch_getXY ();
for (int i = 0; pb [i]! = NULL; i ++) {
update_button (pb [i], aşağı);
}
Aşağı dönmesi;
}

Döngü işlevinde, düğmelerin durumunu kontrol edecek ve görevleri koda göre gerçekleştirecek birkaç ‘if koşulu’ oluşturun.

Test yapmak

Bileşenleri bağladıktan sonra kabloları ve devre bağlantılarını çapraz kontrol edin. Tüm bağlantılar uygunsa, Arduino kartını 5V DC ila 12V DC ile açın — ayrıca cep telefonu şarj cihazı veya herhangi bir 9V pil gibi bir AC-DC adaptörü de kullanabilirsiniz.

Bu dokunmatik kontrollü çoklu kapı zili binanın ana kapısına monte edilmelidir. Ardından kapı zili hoparlörün kablolarını ilgili odaya veya ofis kabinine uzatın.

Arduino’yu açtığınızda, TFT ekranındaki odalarda kişi adlarını içeren bir menü alacaksınız. Varsayılan olarak, ekrandaki düğmeler ve durum mavi olur. Diyelim ki ofis 1’e dokunursanız, yeşil olur ve kapı zili çalar. Zili çalmak istediğiniz isme / ofise dokunun. Ofis kapalı veya yolcu ofis dışında gibi durumu değiştirmek isterseniz, Bluetooth modülünü (HC-05) kullanarak yapabilirsiniz. HC-05 modülü aracılığıyla devreyi akıllı telefonunuzdaki uygun bir Bluetooth uygulamasına bağlamanız yeterlidir.

Akıllı telefondaki Bluetooth ve HC-05 bağlandıktan sonra, durumu değiştirmek için kodda önceden ayarlanmış komutları gönderin. Kişi ofis odası 3 dışındayken bildirimin ekran görüntüsü, Şekil 6’da gösterildiği gibi durum noktası beyaza dönecektir. Bluetooth uygulaması Google Play Store’da kolayca kullanılabilir.

6: Birisi ofis odasının dışındayken bildirim 3 ekran görüntüsü

Her piezo zili, uygun bir sürücü devresi ile birlikte gerçek bir kapı zili ile değiştirilebilir.

unknown dokunmatik_kapi_zili.pdf

Kaynak kodunu indirmek için; Buraya Tıkla

https://electronicsforu.com/electronics-projects/smart-touch-controlled-multi-doorbell-system

Posted in Makaleler.