Sensor Hall adalah sensor yang menggunakan efek Hall untuk mendeteksi keberadaan dan kekuatan medan magnet. Sensor ini biasanya digunakan untuk mengukur jarak, menentukan posisi, mendeteksi kecepatan, dan mengukur arus.
Sensor-sensor ini sangat murah, bahkan kamu bisa membeli banyak sekaligus dengan sedikit uang. Tapi kalau sensor sederhana seperti ini dipasangkan dengan alat pintar seperti ESP32 yang bisa terhubung ke WiFi, awalnya mungkin terlihat seperti tidak perlu. Tapi siapa tahu, suatu hari kamu punya ide keren untuk memakainya! Misalnya, membuat sensor pintu yang terhubung ke WiFi. Lihat? Kamu sudah mulai punya ide seru!
Jadi, mari pelajari cara membaca sensor Hall di ESP32. Namun pertama-tama, mari kita bahas cara kerja sensor efek Hall.
Bagaimana Hall Effect Sensor Bekerja
Hall Effect Sensor menggunakan fenomena yang disebut efek Hall, yang ditemukan oleh Edwin Hall pada tahun 1879. Konsep dasarnya sederhana:
Bayangkan ada sebuah papan sirkuit datar yang bisa menghantarkan listrik, mirip seperti komponen dalam perangkat IoT. Jika kita sambungkan baterai ke sisi kiri dan kanan papan itu, listrik akan mengalir seperti barisan orang berjalan lurus dari satu sisi ke sisi lain. Kalau kamu ukur listrik di bagian atas dan bawah papan itu, hasilnya hampir nol, seperti tidak ada perbedaan di sana, selama tidak ada magnet yang mengganggu.
Ketika ada magnet di dekat arus listrik yang mengalir, magnet itu bisa mendorong elektron (partikel kecil yang membawa listrik) keluar dari jalur lurusnya. Dorongan ini membuat elektron menumpuk di satu sisi papan, sementara sisi lainnya hampir kosong. Akibatnya, sisi dengan banyak elektron menjadi lebih “bermuatan” dibanding sisi yang lain, sehingga muncul perbedaan listrik yang disebut tegangan Hall. Peristiwa ini dinamakan efek Hall.
Semakin kuat magnetnya, semakin besar dorongan yang membuat elektron berbelok. Semakin besar arus listriknya, semakin banyak elektron yang terdorong. Akibatnya, tegangan Hall juga menjadi lebih besar. Artinya, tegangan Hall akan naik jika arus listrik atau kekuatan magnet meningkat.
Jadi, jika kita tahu berapa besar arus listriknya dan mengukur tegangan Hall, kita bisa menghitung seberapa kuat magnetnya.
Sensor Effect Hall ESP32
ESP32 memiliki Hall Effect Sensor internal yang terletak di bawah penutup logam modul ESP32-WROOM-32 itu sendiri.
Diintegrasikan ke dalam ESP32 berarti Anda dapat dengan mudah menghubungkan pembacaan sensor dengan fungsi WiFi atau Bluetooth, sehingga memudahkan pemantauan dan kontrol jarak jauh.
Meskipun sensor Hall bawaan mungkin tidak seakurat sensor khusus untuk pekerjaan yang butuh hasil presisi tinggi, sensor ini tetap bisa dipakai untuk banyak hal. Misalnya, mendeteksi ada atau tidaknya magnet, menyalakan sesuatu ketika magnet mendekat, atau membuat proyek belajar sederhana untuk memahami bagaimana efek Hall bekerja.
Membaca Sensor Hall
Membaca sensor hall pada ESP32 sangatlah mudah. Di Arduino IDE, Anda menggunakan fungsi hallread() . Fungsi ini mengembalikan nilai integer yang mewakili tegangan Hall
hallRead();
Contoh Kode
Mari kita membaca sensor hall menggunakan contoh dari perpustakaan. Buka Arduino IDE Kamu, dan navigasikan ke File > Examples > ESP32, dan buka sketsa HallSensor.
Contoh ini hanya membaca sensor Hall internal pada ESP32 dan menampilkan hasilnya pada monitor serial.
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
val = hallRead();
// print the results to the serial monitor:
//Serial.print("sensor = ");
Serial.println(val);//to graph
}
Setelah Kamu mengunggah sketsa, buka monitor serial pada baud rate 9600 dan tekan tombol EN pada ESP32.
Sekarang coba dekatkan magnet ke chip ESP32, Kamu akan melihat bahwa pembacaannya berubah tergantung jarak dan polaritas magnet.
Memvisualisasikan sinyal dalam Serial Plotter akan membantu Kamu memahami bahwa: ketika tidak ada medan magnet yang terdeteksi, keluarannya tetap sekitar 100. Jika kutub selatan magnet didekatkan, keluarannya meningkat menuju 200, dan jika kutub utara magnet magnet didekatkan, maka keluarannya mengecil menuju 0.