Talaan ng mga Nilalaman:
- Hakbang 1: Mga KOMPONente
- Hakbang 2: Mga koneksyon
- Hakbang 3: CODING:
- Hakbang 4: RESULTA:
- Hakbang 5: Kumpletuhin ang Tutorial:
Video: Pagsukat ng kalapitan: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa tutorial na ito ipapaliwanag ko ang tungkol sa pagsukat ng kalapitan ng isang aparato at pag-publish ng mga halaga sa Thingsai, io cloud platform sa pamamagitan ng paggamit ng hall sensor at esp32 development board.
Ang sensor ng Hall effect ay isang aparato na ginagamit upang masukat ang lakas ng isang magnetic field. Ang output boltahe ay direktang proporsyonal sa lakas ng magnetic field sa pamamagitan nito. Ginagamit ang mga sensor ng epekto ng hall para sa proximity sensing, pagpoposisyon, pagtuklas ng bilis, at mga kasalukuyang application ng sensing.
Hakbang 1: Mga KOMPONente
Mga Bahagi ng Hardware:
1. Sensor ng Hall
2. esp32 development board
3. Mga wire ng lumulukso
Mga Bahagi ng Software:
1. Arduino IDE
2. BagayIO. AI
Hakbang 2: Mga koneksyon
Hall sensor ----------------- esp32
Aout ----------------------------- vp
Gnd ---------------------------- Gnd
Vcc ---------------- 3V3
Hakbang 3: CODING:
# isama
# isama
# isama
int count = 0, i, m, j, k;
int pagsukat;
int outputpin = A0; // ds18b20
// ///
para sa CLOUD // ///.
const char * host = "api.thingsai.io"; // O host =
devapi2.thethingscloud.com
const char * post_url = "/ aparato / aparatoData"; // O
/ api / v2 / bagaycloud2 / _table / data_ac
const char * time_server =
"baas.thethingscloud.com"; // ito ay upang i-convert ang timestamp
const int httpPort = 80;
const int httpsPort = 443;
const char * server =
"api.thingsai.io"; // Server URL
timestamp ng char [10];
WiFiMulti WiFiMulti;
// Gumamit ng klase ng WiFiClient upang lumikha ng mga koneksyon sa TCP
Client ng WiFiClient;
// ///
Pag-andar ng CALCULATION // ///.
int GiveMeTimestamp ()
{
matagal na hindi pinirmahan
timeout = millis ();
// client ng WiFiClient;
habang
(client.available () == 0)
{
kung (millis () -
timeout> 50000)
{
client.stop ();
ibalik ang 0;
}
}
habang (client.available ())
{
String line =
client.readStringUntil ('\ r'); // indexOf () ay isang funtion upang maghanap para sa smthng, nagbabalik ito ng -1 kung hindi nahanap
int pos =
line.indexOf ("\" timestamp / ""); // search for "\" timestamp / "" mula sa simula ng pagtanggap nakuha at kopyahin ang lahat ng data pagkatapos nito, ito ang magiging timestamp mo
kung (pos> =
0)
{
int j = 0;para sa (j = 0; j <10; j ++)
{timestamp [j] = linya [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
walang bisa ang pag-setup ()
{Serial.begin (115200);
antala (10);
// Nagsisimula kami sa pamamagitan ng
kumokonekta sa isang WiFi network
WiFiMulti.addAP ("wifi_name", "wifi_password");
Serial.println ();
Serial.println ();Serial.print ("Maghintay para sa WiFi …");habang (WiFiMulti.run ()! = WL_CONNected) {Serial.print (".");
pagkaantala (500);
}Serial.println ("");Serial.println ("Konektado sa WiFi");Serial.println ("IP address:");
Serial.println (WiFi.localIP ());
pagkaantala (500);
}
walang bisa loop ()
{
int analogValue =
analogRead (outputpin);
{
// ///
TANGGAPIN ANG RESPONSE // ///.
int pagsukat
= 0;
pagsukat =
hallRead ();Serial.print ("Pagsukat ng sensor ng Hall:");Serial.println (pagsukat);
pagkaantala (1000);Serial.print ("pagkonekta sa");Serial.println (host); // tinukoy nang paitaas: - host = devapi2.thethingscloud.com o 139.59.26.117
// ///.
/////////////////////////
Serial.println ("sa loob makakuha ng timestamp / n");
kung
(! client.connect (time_server, {
bumalik;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / timestamp HTTP / 1.1"); // Ano ang ginagawa ng bahaging ito, hindi ko nakuhaclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // tatawagan nito ang pagpapaandar
na makakakuha ng tugon ng timestamp mula sa server
Serial.println ("natanggap ang timestamp");
Serial.println (timestamp);Serial.println ("sa loob ng ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + timestamp;
PostValue =
PostValue + ", \" data / ": {" proximity / ":" + pagsukat + "}" + "}";Serial.println (PostValue);
/ * Lumikha ng isang halimbawa ng WiFiClientSecure * /
Client ng WiFiClientSecure;Serial.println ("Kumonekta sa server sa pamamagitan ng port 443");
kung
(! client.connect (server, 443)) {Serial.println ("Nabigo ang koneksyon!");
} iba pa {Serial.println ("Nakakonekta sa server!");
/ * lumikha ng
hiling */
client.println ( POST
/ aparato / aparatoData HTTP / 1.1 ");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Uri ng Nilalaman: application / json");client.println ("cache-control: no-cache");
client.println ( Pahintulot:
Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_mffw "client.print ("Haba ng Nilalaman:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
// ///
tapos na ang ulap at makuha ngayon ang form ng pagtugon cloud server // ///.
Serial.print ( Naghihintay para sa tugon
);
habang
(! client.available ()) {
antala (50);
//Serial.print (".");
}
/ * kung ang data ay
magagamit pagkatapos ay tumanggap at mag-print sa Terminal * /
habang
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * kung naka-disconnect ang server, itigil ang client * /
kung
(! client.connected ()) {Serial.println ();Serial.println ("Nakakonekta ang server");client.stop ();
}
}
Serial.println ( // ///. / / / / / // THE END
///////////////////// );
pagkaantala (3000);
}}
Hakbang 4: RESULTA:
Ang mga halagang nabasa mula sa sensor ay naipapadala sa ulap ng IOT at ang grap ay nilikha bilang kalapitan kumpara sa oras. Sa pamamagitan nito ang pag-andar ng sensor ay nasuri at ginamit ayon sa kinakailangang mga lugar ng aplikasyon.
Hakbang 5: Kumpletuhin ang Tutorial:
Ito ang kumpletong proyekto para sa pagsukat ng kalapitan ng isang aparato sa pamamagitan ng paggamit ng hall sensor esp32 at platform ng cloud ng Thingsai.io. Salamat
Inirerekumendang:
Pagsukat sa Bilis ng Motor Gamit ang Arduino: 6 Hakbang
Pagsukat sa Bilis ng Motor Gamit ang Arduino: Mahirap bang masukat ang rpm ng motor ??? Sa palagay ko hindi. Narito ang isang simpleng solusyon. Isang IR sensor at Arduino lamang sa iyong kit ang maaaring gawin ito. Sa post na ito bibigyan ko ng isang simpleng tutorial na nagpapaliwanag kung paano sukatin ang RPM ng anumang motor na gumagamit ng IR sensor at A
Pagsukat sa Temperatura: 7 Mga Hakbang
Pagsukat sa Temperatura:
Arduino Temperature at Humidity Pagsukat System - Technic Joe: 3 Mga Hakbang
Arduino Sistema ng Pagsukat ng Temperatura at Humidity | Technic Joe: Matapos bumuo ng dalawang walang silbi na laro kasama ang Arduino at sinasayang ang aking oras sa pamamagitan ng paglalaro sa kanila nais kong lumikha ng isang bagay na kapaki-pakinabang sa Arduino. Naisip ko ang ideya ng isang sistema ng pagsukat ng temperatura at airhumidity para sa mga halaman. Upang gawing medyo mo ang proyekto
Distansya sa Pagsukat ng kalapitan Sa Gesture Sensor APDS9960: 6 na Hakbang
Distansya sa Pagsukat ng kalapitan Sa Gesture Sensor APDS9960: Sa tutorial na ito matututunan natin kung paano sukatin ang distansya gamit ang isang kilos sensor APDS9960, arduino at Visuino. Panoorin ang video
Isang Napakasimple na Detector ng kalapitan: 9 Mga Hakbang
Isang Napakasimpleng Detalye ng kalapitan: Ang mga freak ng gadget, mga modelong riles, roboticist o cat-host ay gustung-gusto ang kagalingan ng kaalaman ng infrared na proximity ng Sharp IS471. Ito ay ang laki ng isang transistor, nagpapatakbo sa saklaw na 4-16 volt, at makakakita ng mga bagay na mga 4-9 pulgada ang layo sa pamamagitan ng