Мазмұны:
Бейне: Жақындықты өлшеу: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл оқулықта мен залды сенсор мен esp32 даму тақтасының көмегімен құрылғының жақындығын өлшеу және мәндерді Thingsai, io бұлт платформасында жариялау туралы түсіндіремін.
Холл әсерінің сенсоры - магнит өрісінің шамасын өлшеуге арналған құрылғы. Оның шығыс кернеуі ол арқылы өтетін магнит өрісінің кернеулігіне тура пропорционал. Холлдық эффект сенсорлары жақындықты сезу, позициялау, жылдамдықты анықтау және ағымдағы сенсорлық қосымшалар үшін қолданылады.
1 -қадам: ҚҰРАМДАР
Аппараттық компоненттер:
1. Холл сенсоры
2. esp32 әзірлеу тақтасы
3. Өткізгіш сымдар
Бағдарламалық қамтамасыз ету компоненттері:
1. Arduino IDE
2. Заттар AI. AI
2 -қадам: Байланыс:
Холл сенсоры ---------------------- esp32
Аут ------------------------------ vp
Gnd ---------------------------- Gnd
Vcc ------------------------------ 3V3
3 -қадам: КОД:
#қосу
#қосу
#қосу
int count = 0, i, m, j, k;
int өлшеу;
int outputpin = A0; // ds18b20
///////////////////////////////////////// БАРЛЫҚ ДЕКЛАРАЦИЯ
CLOUD үшін ///////////////////////////////
const char* host = «api.thingsai.io»; // НЕМЕСЕ хост =
devapi2.thethingscloud.com
const char* post_url = «/devices/deviceData»; // НЕМЕСЕ
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
«baas.thethingscloud.com»; // бұл уақыт белгісін түрлендіру
const int httpPort = 80;
const int httpsPort = 443;
const char* сервер =
«api.thingsai.io»; // Сервердің URL мекенжайы
таңбаның уақыт белгісі [10];
WiFiMulti WiFiMulti;
// TCP қосылымдарын жасау үшін WiFiClient класын қолданыңыз
WiFiClient клиенті;
////////////////////////////////////////// TIMESTAMP
Есептеу функциясы ////////////////////////////////////////////////////////////////////////////////////////////
int GiveMeTimestamp ()
{
қол қойылмаған ұзақ
күту уақыты = millis ();
// WiFiClient клиенті;
кезінде
(client.available () == 0)
{
егер (миллис () -
күту уақыты> 50000)
{
client.stop ();
қайтару 0;
}
}
while (client.available ())
{
Жол жолы =
client.readStringUntil ('\ r'); // indexOf () -smthng іздеу функциясы, ол табылмаса -1 қайтарады
int pos =
line.indexOf («\» уақыт белгісі / «»); // жауаптың басынан бастап «\» уақыт белгісін / «» іздеңіз және содан кейін барлық деректерді көшіріңіз, бұл сіздің уақыт белгісі болады
егер (pos> =
0)
{
int j = 0;үшін (j = 0; j <10; j ++)
{уақыт белгісі [j] = жол [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
жарамсыз орнату ()
{Serial.begin (115200);
кешіктіру (10);
// Біз бастаймыз
WiFi желісіне қосылу
WiFiMulti.addAP («wifi_name», «wifi_password»);
Serial.println ();
Serial.println ();Serial.print («WiFi күтіңіз …»);while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print («.»);
кешіктіру (500);
}Serial.println («»);Serial.println («WiFi қосылған»);Serial.println («IP мекенжайы:»);
Serial.println (WiFi.localIP ());
кешіктіру (500);
}
бос цикл ()
{
int analogValue =
analogRead (шығыс түйреуі);
{
////////////////////////////////////////// СҰРАҚТЫ Жіберу ЖӘНЕ
ЖАУАП АЛУ ///////////////////////
int өлшеу
= 0;
өлшеу =
hallRead ();Serial.print («Холл сенсорының өлшемі:»);Serial.println (өлшеу);
кешіктіру (1000);Serial.print («қосылуда»);Serial.println (хост); // жоғарыдан анықталған:- хост = devapi2.thethingscloud.com немесе 139.59.26.117
///////////////////////////////////////////////////// УАҚЫТТЫҢ КОДЫН СНИППЕТ
/////////////////////////
Serial.println («ішінде уақыт белгісін алу / n»);
егер
(! client.connect (time_server, {
қайтару;
//*-*-*-*-*-*-*-*-*-*
}client.println («GET/api/уақыт белгісі HTTP/1.1»); // Бұл бөлім не істейді, мен түсінбедімclient.println («Хост: baas.thethingscloud.com»);client.println («Кэшті басқару: кэшсіз»);client.println («Пошташы-Токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8»);
client.println ();
GiveMeTimestamp (); // ол функцияны шақырады
ол серверден уақыт белгісінің жауабын алады
Serial.println («уақыт белгісі алынды»);
Serial.println (уақыт белгісі);Serial.println («ThingsCloudPost ішінде»);
Жолдың мәні =
«{» device_id / «: 61121696007, \» slave_id / «: 2»;
PostValue =
PostValue + «, \» dts / «:» + уақыт белгісі;
PostValue =
PostValue +«, \» data / «: {» proximity / «:» +өлшеу +«}» +«}»;Serial.println (PostValue);
/ * WiFiClientSecure данасын жасаңыз */
WiFiClientSecure клиенті;Serial.println («443 порт арқылы серверге қосылу»);
егер
(! client.connect (сервер, 443)) {Serial.println («Байланыс сәтсіз болды!»);
} басқа {Serial.println («Серверге қосылды!»);
/* HTTP құру
сұраныс */
client.println («POST
/devices/deviceData HTTP/1.1 «);client.println («Хост: api.thingsai.io»);//client.println( Байланыс: жабу «);client.println («Content-Type: application/json»);client.println («кэшті басқару: кэшсіз»);
client.println («Авторизация:
Көшіруші eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m «)client.print («Content-Length:»);client.println (PostValue.length ());
client.println ();client.println (PostValue);
Деректерді орналастыру //
бұлт жасалды, енді бұлт серверінің жауап формасын алыңыз /////////////////
Serial.print («Жауап күтілуде
);
кезінде
(! client.available ()) {
кешіктіру (50);
//Serial.print («.»);
}
/* егер деректер болса
қол жетімді, содан кейін алыңыз және Терминалға басып шығарыңыз */
кезінде
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * егер сервер ажыратылса, клиентті тоқтату */
егер
(! client.connected ()) {Serial.println ();Serial.println («Сервер ажыратылды»);client.stop ();
}
}
Serial.println («////////////////////// СОҢЫ
///////////////////// );
кешіктіру (3000);
}}
4 -қадам: Нәтиже:
Сенсордан оқылатын мәндер IOT бұлтына сәтті жіберіледі және график уақытқа жақындық ретінде құрылады. Осының арқасында сенсордың жұмысы талданылады және қолдану аймағына сәйкес қолданылады.
5 -қадам: Толық оқулық:
Бұл esp32 залы сенсоры мен thingsai.io бұлтты платформасын қолдану арқылы құрылғының жақындығын өлшеуге арналған толық жоба. Рақмет сізге
Ұсынылған:
Arduino көмегімен қозғалтқыш жылдамдығын өлшеу: 6 қадам
Arduino көмегімен қозғалтқыш жылдамдығын өлшеу: қозғалтқыштың айналу жиілігін өлшеу қиын ба? Мен олай ойламаймын. Қарапайым шешімдердің бірі - сіздің жинағыңыздағы бір ғана IR сенсоры мен Arduino мұны істей алады. Бұл жазбада мен IR сенсоры мен А көмегімен кез келген қозғалтқыштың айналу жиілігін өлшеуді түсіндіретін қарапайым оқулық беремін
Температураны өлшеу: 7 қадам
Температураны өлшеу:
Arduino температурасы мен ылғалдылығын өлшеу жүйесі - Техникалық Джо: 3 қадам
Arduino температурасы мен ылғалдылығын өлшеу жүйесі | Техникалық Джо: Arduino -мен екі пайдасыз ойын ойнап, оларды ойнап уақытты босқа өткізгеннен кейін мен Arduino -мен пайдалы нәрсе жасағым келді. Мен өсімдіктер үшін температура мен ауа ылғалдылығын өлшеу жүйесі туралы идеямен келдім. Жобаны сәл жеңілдету үшін
XinaBox пен термистордың көмегімен температураны өлшеу: 8 қадам
XinaBox пен термистордың көмегімен температураны өлшеу: XinaBox xChip аналогты кірісін және термисторлық зондты пайдаланып сұйықтықтың температурасын өлшеңіз
ADXL345 және бөлшек фотоны көмегімен үдеуді өлшеу: 4 қадам
ADXL345 пен бөлшек фотонының көмегімен үдеуді өлшеу: ADXL345-ұсақ, жіңішке, ультра қуатты 3 ± осьті акселерометр, жоғары ажыратымдылықпен (13 биттік) ± 16 г дейін. Сандық шығыс деректері 16 биттік қосалқы ретінде форматталған және I2 C сандық интерфейсі арқылы қол жетімді. Ол өлшейді