Mündəricat:
Video: Yaxınlıq ölçülməsi: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu təlimatda, bir cihazın yaxınlığının ölçülməsi və dəyərlərin Thingsai, io bulud platformasında yayımlanması və hall sensoru və esp32 inkişaf etdirmə lövhəsindən istifadə edilməsi ilə izah ediləcək.
Hall effekti sensoru, maqnit sahəsinin böyüklüyünü ölçmək üçün istifadə olunan bir cihazdır. Çıxış gərginliyi onun üzərindəki maqnit sahəsinin gücü ilə düz mütənasibdir. Hall effektli sensorlar yaxınlıq algılama, yerləşdirmə, sürət algılama və cari algılama tətbiqləri üçün istifadə olunur.
Addım 1: BİLEŞENLER
Avadanlıq Komponentləri:
1. Hall Sensoru
2. esp32 inkişaf lövhəsi
3. Jumper telləri
Proqram Komponentləri:
1. Arduino IDE
2. Şeylər AI. AI
Addım 2: BAĞLANTILAR:
Zal sensoru ---------------------- esp32
Aout ------------------------------ vp
Gnd ----------------------------- Gnd
Vcc ------------------------------ 3V3
Addım 3: KODLAMA:
#daxil edin
#daxil edin
#daxil edin
int sayı = 0, i, m, j, k;
int ölçmə;
int çıxış pin = A0; // ds18b20
///////////////////////////////////////// BÜTÜN Bəyannamələr
CLOUD üçün ///////////////////////////////
const char* host = "api.thingsai.io"; // OR ana =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // OR
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // bu zaman damgasını çevirməkdir
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server URL
simvol işarəsi [10];
WiFiMulti WiFiMulti;
// TCP əlaqələri yaratmaq üçün WiFiClient sinifindən istifadə edin
WiFi müştəri;
////////////////////////////////////////// TIMESTAMP
HESAB VERMƏ funksiyası //////////////////////////////////////////////////////////////////////////
int GiveMeTimestamp ()
{
imzasız uzun
zaman aşımı = millis ();
// WiFiClient müştəri;
isə
(müştəri.available () == 0)
{
əgər (millis () -
vaxt aşımı> 50000)
{
client.stop ();
qaytarma 0;
}
}
while (client.available ())
{
String xətti =
client.readStringUntil ('\ r'); // indexOf () smthng axtaran bir funksiyadır, tapılmazsa -1 qaytarır
int pos =
line.indexOf ("\" zaman damgası / ""); // "\" zaman damgası / "" nı axtarın və sonra bütün məlumatları kopyalayın, bu sizin zaman damganız olacaq
əgər (pos> =
0)
{
int j = 0;üçün (j = 0; j <10; j ++)
{vaxt damgası [j] = sətir [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
boş quraşdırma ()
{Serial.begin (115200);
gecikmə (10);
// Başlayırıq
WiFi şəbəkəsinə qoşulma
WiFiMulti.addAP ("wifi_adı", "wifi_password");
Serial.println ();
Serial.println ();Serial.print ("WiFi gözləyin …");isə (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
gecikmə (500);
}Serial.println ("");Serial.println ("WiFi bağlıdır");Serial.println ("IP ünvanı:");
Serial.println (WiFi.localIP ());
gecikmə (500);
}
boşluq döngəsi ()
{
int analogValue =
analogRead (çıxış pin);
{
////////////////////////////////////////////////////////// SORĞU GÖNDƏRİN VƏ
CAVAB ALIN ///////////////////////
int ölçmə
= 0;
ölçmə =
hallRead ();Serial.print ("Hall sensoru ölçümü:");Serial.println (ölçü);
gecikmə (1000);Serial.print ("qoşulur");Serial.println (ev sahibi); // tərs olaraq təyin olunur:- host = devapi2.thethingscloud.com və ya 139.59.26.117
////////////////////////////////////////////////////////////////// TIMESTAMP KODU SNIPPET
/////////////////////////
Serial.println ("daxilində zaman damgası alın / n");
əgər
(! client.connect (time_server, {
qayıtmaq;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/zaman damgası HTTP/1.1"); // Bu hissə nə edir, başa düşmədimclient.println ("Host: baas.thethingscloud.com");client.println ("Önbelleğe Nəzarət: önbelleği yoxdur");client.println ("Poçtalyon-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
müştəri.println ();
GiveMeTimestamp (); // funksiyanı çağıracaq
zaman damgası cavabını serverdən alacaq
Serial.println ("vaxt damgası alındı");
Serial.println (vaxt damgası);Serial.println ("ThingsCloudPost daxilində");
String PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + zaman damgası;
PostValue =
PostValue +", \" data / ": {" yaxınlıq / ":" +ölçü +"}" +"}";Serial.println (PostValue);
/ * WiFiClientSecure nümunəsi yaradın */
WiFiClientSecure müştəri;Serial.println ("Serverə 443 portu ilə qoşulun");
əgər
(! client.connect (server, 443)) {Serial.println ("Bağlantı uğursuz oldu!");
} başqa {Serial.println ("Serverə qoşuldu!");
/* HTTP yaradın
tələb */
client.println ( POST
/cihazlar/cihazData HTTP/1.1 ");client.println ("Host: api.thingsai.io");//client.println("Bağlantı: yaxın ");client.println ("Məzmun Növü: application/json");client.println ("cache-control: no-cache");
client.println ( İcazə:
Taşıyıcı eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m ")client.print ("Məzmun-Uzunluq:");müştəri.println (PostValue.length ());
müştəri.println ();client.println (PostValue);
////////////////////////////////////////////////// Məlumatların yerləşdirilməsi
bulud tamamlandı və indi bulud serverinin cavab formasını əldə edin /////////////////
Serial.print ( Cavab gözləyirik
);
isə
(! müştəri.available ()) {
gecikmə (50);
//Serial.print (".");
}
/* məlumatlar varsa
mövcuddur, sonra alın və Terminalda çap edin */
isə
(müştəri.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * server bağlantısı kəsilərsə, müştərini dayandırın */
əgər
(! client.connected ()) {Serial.println ();Serial.println ("Server bağlantısı kəsildi");client.stop ();
}
}
Serial.println ( ////////////////////// SON
///////////////////// );
gecikmə (3000);
}}
Addım 4: NƏTİCƏ:
Sensordan oxunan dəyərlər uğurla IOT buluduna göndərilir və qrafik zamana qarşı yaxınlıq olaraq yaradılır. Bununla sensorun işi təhlil edilir və lazımi tətbiq sahələrinə uyğun olaraq istifadə olunur.
Addım 5: Tam Təlimat:
Zal sensoru esp32 və thingsai.io bulud platformasından istifadə edərək cihazın yaxınlığını ölçmək üçün tam bir layihədir. Çox sağ ol
Tövsiyə:
Raspberry Pi - TMD26721 İnfraqırmızı Rəqəmsal Yaxınlıq Dedektoru Java Dərsliyi: 4 addım
Raspberry Pi-TMD26721 İnfraqırmızı Rəqəmsal Yaxınlıq Dedektoru Java Dərsliyi: TMD26721, tək bir 8 pinli səth montaj modulunda tam yaxınlıq aşkarlama sistemi və rəqəmsal interfeys məntiqi təmin edən infraqırmızı rəqəmsal yaxınlıq detektoru. dəqiqlik. Bir pro
Visuino İndüktif Yaxınlıq Sensorundan Necə İstifadə Edilir: 7 Addım
Visuino İndüktif Yaxınlıq Sensorundan Necə İstifadə Edilir: Bu dərslikdə metal Yaxınlığı aşkar etmək üçün İndüktif Yaxınlıq Sensorundan və Arduino UNO və Visuino ilə əlaqəli bir LEDdən istifadə edəcəyik
Magicbit [Magicblocks] ilə yaxınlıq sensoru yaradın: 6 addım
Magicbit [Magicblocks] ilə Yaxınlıq Sensoru yaradın: Bu dərslik sizə Magicblocks istifadə edərək Magicbit ilə Yaxınlıq Sensorundan istifadə etməyi öyrədəcək. ESP32 -ə əsaslanan bu layihədə inkişaf etdirmə lövhəsi olaraq magicbit istifadə edirik. Bu səbəbdən hər hansı bir ESP32 inkişaf lövhəsi bu layihədə istifadə edilə bilər
IR Yaxınlıq Sensorundan, Dinamikdən və Arduino Unodan İstifadə Edilən Hava Piano (Təkmilləşdirilmiş/2-ci hissə): 6 addım
IR Yaxınlıq Sensoru, Dinamik və Arduino Uno istifadə edərək Hava Piano (Təkmilləşdirilmiş/2-ci hissə): Bu, hava pianosunun əvvəlki layihəsinin təkmilləşdirilmiş versiyasıdır. Burada çıxış olaraq JBL dinamikindən istifadə edirəm. Rejimləri tələblərə uyğun olaraq dəyişdirmək üçün toxunuşa həssas bir düyməni də daxil etdim. Məsələn- Hard Bass rejimi, Normal rejim, Yüksək fr
IR yaxınlıq sensoru: 4 addım (şəkillərlə)
IR Proximity Sensor .: Bu layihədə, IR LEDləri, LM358 Dual Op-Amp və hər hansı bir yerli elektronika mağazasında tapa biləcəyiniz bəzi əsas elektron komponentləri istifadə edərək sadə bir IR yaxınlıq sensoru necə edəcəyimi izah edəcəyəm