Isi kandungan:

Pengukuran Jarak: 5 Langkah
Pengukuran Jarak: 5 Langkah

Video: Pengukuran Jarak: 5 Langkah

Video: Pengukuran Jarak: 5 Langkah
Video: Pengukuran Jarak Kelas 5 2024, Julai
Anonim
Pengukuran Jarak
Pengukuran Jarak

Dalam tutorial ini saya akan menerangkan tentang mengukur kedekatan peranti dan menerbitkan nilai ke dalam Thingsai, platform cloud io dengan menggunakan sensor dewan dan papan pengembangan esp32.

Sensor kesan Hall adalah peranti yang digunakan untuk mengukur magnitud medan magnet. Voltan keluarannya berkadar terus dengan kekuatan medan magnet yang melaluinya. Sensor kesan Hall digunakan untuk penginderaan jarak, kedudukan, pengesanan kelajuan, dan aplikasi penginderaan semasa.

Langkah 1: KOMPONEN

KOMPONEN
KOMPONEN
KOMPONEN
KOMPONEN
KOMPONEN
KOMPONEN

Komponen Perkakasan:

1. Sensor Dewan

2. lembaga pengembangan esp32

3. Wayar pelompat

Komponen Perisian:

1. Arduino IDE

2. PerkaraIO. AI

Langkah 2: Sambungan:

Sambungan
Sambungan

Sensor dewan ---------------------- esp32

Aout ------------------------------ vp

Gnd ----------------------------- Gnd

Vcc ------------------------------ 3V3

Langkah 3: KOD:

#sertakan

#sertakan

#sertakan

int count = 0, i, m, j, k;

pengukuran int;

int outputpin = A0; // ds18b20

//////////////////////////////////////// SEMUA PENGAKUAN

untuk CLOUD //////////////////////////////

const char * host = "api.thingsai.io"; // ATAU tuan rumah =

devapi2.thethingscloud.com

const char * post_url = "/ devices / deviceData"; // ATAU

/ api / v2 / thingscloud2 / _table / data_ac

const char * time_server =

"baas.thethingscloud.com"; // ini untuk menukar cap waktu

const int httpPort = 80;

const int httpsPort = 443;

const char * pelayan =

"api.thingsai.io"; // URL pelayan

cap masa char [10];

WiFiMulti WiFiMulti;

// Gunakan kelas WiFiClient untuk membuat sambungan TCP

Pelanggan WiFiClient;

/////////////////////////////////////// TIMESTAMP

Fungsi PENGHITUNGAN ///////////////////////////////////////

int GiveMeTimestamp ()

{

tidak bertanda panjang

tamat masa = milis ();

// Pelanggan WiFiClient;

sementara

(pelanggan. tersedia () == 0)

{

jika (milis () -

tamat masa> 50000)

{

pelanggan.stop ();

pulangan 0;

}

}

sementara (klien. tersedia ())

{

Garisan tali =

client.readStringUntil ('\ r'); // indexOf () adalah fungsi untuk mencari smthng, ia mengembalikan -1 jika tidak dijumpai

int pos =

line.indexOf ("\" cap waktu / ""); // cari "\" cap waktu / "" dari awal respons diterima dan salin semua data selepas itu, ini akan menjadi cap waktu anda

jika (pos> =

0)

{

int j = 0;untuk (j = 0; j <10; j ++)

{cap waktu [j] = garis [pos + 12 + j];

}

}

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////

persediaan tidak sah ()

{Serial.begin (115200);

kelewatan (10);

// Kami bermula dengan

menyambung ke rangkaian WiFi

WiFiMulti.addAP ("wifi_name", "wifi_password");

Bersiri.println ();

Bersiri.println ();Serial.print ("Tunggu WiFi …");semasa (WiFiMulti.run ()! = WL_CONNECTED) {Cetakan bersiri (".");

kelewatan (500);

}Serial.println ("");Serial.println ("WiFi disambungkan");Serial.println ("Alamat IP:");

Serial.println (WiFi.localIP ());

kelewatan (500);

}

gelung kosong ()

{

int analogValue =

analogRead (outputpin);

{

/////////////////////////////////////// HANTAR PERTANYAAN DAN

TERIMA RESPON ///////////////////////

pengukuran int

= 0;

pengukuran =

hallRead ();Serial.print ("Pengukuran sensor dewan:");Serial.println (pengukuran);

kelewatan (1000);Serial.print ("menyambung ke");Serial.println (hos); // ditentukan terbalik: - host = devapi2.thethingscloud.com atau 139.59.26.117

//////////////////////////////////// TIMESTAMP CODE SNIPPET

/////////////////////////

Serial.println ("masuk mendapat cap waktu / n");

sekiranya

(! client.connect (time_server, {

kembali;

//*-*-*-*-*-*-*-*-*-*

}client.println ("GET / api / cap waktu HTTP / 1.1"); // Apa bahagian ini lakukan, saya tidak fahamclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

pelanggan.println ();

BerikanMeTimestamp (); // ia akan memanggil fungsi

yang akan mendapat sambutan cap waktu dari pelayan

Serial.println ("cap waktu diterima");

Serial.println (cap waktu);Serial.println ("di dalam ThingsCloudPost");

String PostValue =

"{" device_id / ": 61121696007, \" slave_id / ": 2";

Nilai Pos =

PostValue + ", \" dts / ":" + cap waktu;

Nilai Pos =

PostValue + ", \" data / ": {" kedekatan / ":" + pengukuran + "}" + "}";Serial.println (Nilai Nilai);

/ * buat contoh WiFiClientSecure * /

Pelanggan WiFiClientSecure;Serial.println ("Sambungkan ke pelayan melalui port 443");

sekiranya

(! client.connect (pelayan, 443)) {Serial.println ("Sambungan gagal!");

} lain {Serial.println ("Bersambung ke pelayan!");

/ * buat

permintaan * /

client.println ( POST

/ devices / deviceData HTTP / 1.1 ");client.println ("Host: api.thingsai.io");//client.println("Connection: close ");client.println ("Jenis Kandungan: aplikasi / json");client.println ("cache-control: no-cache");

client.println ( Kebenaran:

Pembawa eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9td; m5tdclient.print ("Panjang Kandungan:");client.println (PostValue.length ());

pelanggan.println ();pelanggan.println (PostValue);

//////////////////////////////// POSTING data ke

cloud selesai dan sekarang dapatkan borang respons pelayan cloud //////////////////

Serial.print ( Menunggu tindak balas

);

sementara

(! client.available ()) {

kelewatan (50);

//Cetakan bersiri (".");

}

/ * jika data

tersedia kemudian terima dan cetak ke Terminal * /

sementara

(pelanggan. tersedia ()) {

char c =

pelanggan.baca ();Serial.write (c);

}

/ * jika pelayan terputus, hentikan pelanggan * /

sekiranya

(! client.connected ()) {Bersiri.println ();Serial.println ("Pelayan terputus");pelanggan.stop ();

}

}

Serial.println ( ////////////////////// AKHIRNYA

///////////////////// );

kelewatan (3000);

}}

Langkah 4: KEPUTUSAN:

KEPUTUSAN
KEPUTUSAN

Nilai-nilai yang dibaca dari sensor berjaya dihantar ke awan IOT dan grafik dibuat sebagai jarak vs masa. Dengan ini kerja sensor dianalisis dan digunakan sesuai dengan bidang aplikasi yang diperlukan.

Langkah 5: Tutorial Lengkap:

Ini adalah projek yang lengkap untuk mengukur jarak peranti dengan menggunakan sensor hall esp32 dan platform cloud thingsai.io. Terima kasih

Disyorkan: