فهرست مطالب:
تصویری: اندازه گیری مجاورت: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در این آموزش قصد دارم در مورد اندازه گیری مجاورت یک دستگاه و انتشار مقادیر در پلتفرم ابری Thingsai، io با استفاده از سنسور سالن و برد توسعه esp32 توضیح دهم.
سنسور اثر هال دستگاهی است که برای اندازه گیری میدان مغناطیسی استفاده می شود. ولتاژ خروجی آن مستقیماً با قدرت میدان مغناطیسی از طریق آن متناسب است. سنسورهای اثر هال برای سنجش مجاورت ، موقعیت یابی ، تشخیص سرعت و برنامه های سنجش جریان استفاده می شود.
مرحله 1: اجزاء
اجزای سخت افزاری:
1. سنسور هال
2. صفحه توسعه esp32
3. سیم های جهنده
اجزای نرم افزاری:
1. Arduino IDE
2. ThingsIO. AI
مرحله 2: اتصالات:
سنسور هال ---------------------- esp32
Aout ------------------------------ vp
Gnd ----------------------------- Gnd
Vcc ------------------------------ 3V3
مرحله 3: کدگذاری:
#عبارتند از
#عبارتند از
#عبارتند از
int شمارش = 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"؛ // این برای تبدیل timestamp است
const int httpPort = 80؛
const int httpsPort = 443؛
const char* سرور =
"api.thingsai.io" ؛ // آدرس سرور
timestamp char [10]؛
WiFiMulti WiFiMulti؛
// برای ایجاد اتصالات TCP از کلاس WiFiClient استفاده کنید
مشتری WiFiClient ؛
/////////////////////////////////////// TIMESTAMP
عملکرد محاسبه /////////////////////////////////////
int GiveMeTimestamp ()
{
بدون امضا طولانی
timeout = millis ()؛
// مشتری WiFiClient ؛
در حالی که
(client.available () == 0)
{
if (millis () -
مهلت زمانی> 50000)
{
client.stop ()؛
بازگشت 0 ؛
}
}
while (client.available ())
{
خط رشته =
client.readStringUntil ('\ r')؛ // indexOf () یک کار برای جستجوی smthng است ، اگر یافت نشد -1 را برمی گرداند
int pos =
line.indexOf ("\" timestamp / "")؛ // "\" timestamp / "" را از ابتدای پاسخ جستجو کنید و پس از آن همه داده ها را کپی کنید ، این نشان زمان شما خواهد بود
if (pos> =
0)
{
int j = 0 ؛برای (j = 0 ؛ j <10 ؛ j ++)
{timestamp [j] = خط [pos + 12 + j] ؛
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{Serial.begin (115200) ؛
تأخیر (10) ؛
// شروع می کنیم با
اتصال به شبکه WiFi
WiFiMulti.addAP ("wifi_name" ،
"wifi_password")؛
Serial.println ()؛
Serial.println ()؛Serial.print ("منتظر وای فای باشید …") ؛در حالی که (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 (میزبان) ؛ // برعکس تعریف شده است:- host = devapi2.thethingscloud.com یا 139.59.26.117
/////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("در داخل دریافت timestamp / n")؛
اگر
(! client.connect (time_server،
{
برگشت؛
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1") ؛ // این قسمت چه می کند ، متوجه نشدمclient.println ("میزبان: baas.thethingscloud.com")؛client.println ("Cache-Control: no-cache") ؛client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8") ؛
client.println ()؛
GiveMeTimestamp ()؛ // تابع را فراخوانی می کند
که زمان پاسخ را از سرور دریافت می کند
Serial.println ("زمان دریافت شده") ؛
Serial.println (timestamp)؛Serial.println ("داخل ThingsCloudPost") ؛
String PostValue =
"{" device_id / ": 61121696007، \" slave_id / ": 2"؛
PostValue =
PostValue + "، \" dts / ":" + timestamp؛
PostValue =
PostValue +"، \" data / ": {" proximity / ":" +اندازه گیری +"}" +"}"؛Serial.println (PostValue) ؛
/ * ایجاد یک نمونه از WiFiClientSecure */
مشتری WiFiClientSecure ؛Serial.println ("اتصال به سرور از طریق درگاه 443") ؛
اگر
(! client.connect (سرور ، 443)) {Serial.println ("اتصال انجام نشد!") ؛
} دیگری {Serial.println ("به سرور متصل است!") ؛
/* ایجاد
درخواست */
client.println ( ارسال
/devices/deviceData HTTP/1.1 ") ؛client.println ("میزبان: api.thingsai.io") ؛//client.println("Connect: close ")؛client.println ("نوع محتوا: برنامه/json") ؛client.println ("cache-control: no-cache")؛
client.println ( مجوز:
حامل eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_mj5d؛client.print ("Content-Length:")؛client.println (PostValue.length ()) ؛
client.println ()؛client.println (PostValue) ؛
/////////////////////////////////// ارسال اطلاعات در
cloud تمام شده است و اکنون فرم پاسخ را دریافت کنید سرور cloud //////////////////
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 ( ////////////////////// END
///////////////////// );
تاخیر (3000) ؛
}}
مرحله 4: نتیجه:
مقادیری که از سنسور خوانده می شود با موفقیت به IOT ارسال می شود و نمودار به صورت مجاورت در برابر زمان ایجاد می شود. با این کار کارکرد سنسور با توجه به زمینه های مورد نیاز مورد تجزیه و تحلیل و استفاده قرار می گیرد.
مرحله 5: آموزش کامل:
این پروژه کامل اندازه گیری مجاورت یک دستگاه با استفاده از سنسور سالن esp32 و پلت فرم ابری thingsai.io است. متشکرم
توصیه شده:
اندازه گیری سرعت موتور با استفاده از آردوینو: 6 مرحله
اندازه گیری سرعت موتور با استفاده از آردوینو: آیا اندازه گیری دور در دقیقه موتور دشوار است ؟؟؟ فکر نمی کنم. در اینجا یک راه حل ساده وجود دارد. فقط یک سنسور IR و آردوینو در کیت شما می توانند این کار را انجام دهند. در این پست من یک آموزش ساده را توضیح خواهم داد که نحوه اندازه گیری RPM هر موتور با استفاده از سنسور IR و A
اندازه گیری زمان (ساعت اندازه گیری نوار): 5 مرحله (همراه با تصاویر)
Time Time (Tape Measure Clock): برای این پروژه ، ما (Alex Fiel & amp؛ Anna Lynton) یک ابزار اندازه گیری روزانه تهیه کردیم و آن را به ساعت تبدیل کردیم! طرح اولیه این بود که یک نوار اندازه گیری موجود را موتور کنید. در ساخت آن ، ما تصمیم گرفتیم که راحت تر بتوانیم پوسته خودمان را ایجاد کنیم
اندازه گیری ولتاژ اندازه جیبی DIY: 5 مرحله
اندازه گیری ولتاژ DC اندازه جیبی DIY: در این مقاله به شما نشان می دهم که چگونه می توانید ولتاژ DC اندازه جیب DIY را با زنگ پیزو برای بررسی مدار توسط خودتان بسازید. تنها چیزی که نیاز دارید دانش اولیه در زمینه الکترونیک و کمی زمان است. اگر س questionال یا مشکلی دارید می توانید
4 مرحله برای اندازه گیری مقاومت داخلی باتری: 4 مرحله
4 مرحله برای اندازه گیری مقاومت داخلی باتری: در اینجا 4 مرحله ساده وجود دارد که می تواند به شما در اندازه گیری مقاومت داخلی خمیر کمک کند
اندازه ربات اندازه واقعی: 6 مرحله
Life Size Robot Prop: Liza Trainer طی این سالها چیزهای بسیار جالبی ارائه کرده است. در اینجا یکی از بسیاری از خلاقیت های او وجود دارد که شگفت آور نیست ، با یک ایده ساده شروع می شود. لذت ببرید :). خوب بچه ها ، من مشکل را می بینم. نه ، من سرقت ادبی ندارم ، لیزا یک دوست است و