"LAPORAN PROJECT #6 SISTEM EMBEDDED II2260"
“COMMUNICATION PROTOCOL PADA ESP32”
Muhammad Ichsandro Daniswara Noor – 18219094
ABSTRAK
Sensor BME-280 adalah papan sensor yang dapat digunakan untuk mengukur suhu, tekanan atmosfer, ketinggian, dan kelembaban secara akurat dan cepat. Sensor MPU-6050 adalah sebuah modul berinti MPU-6050 yang berisi sebuah MEMS Accelerometer dan sebuah MEMS Gyro yang saling terintegrasi. Percobaan kali ini adalah menggunakan sensor BME-280 dan MPU6050 untuk mengukur suhu, kelembaban, ketinggian, tekanan atmsofer, percepatan gravitasi dan kecepatan gerak serta menampilkan nilainya pada layar oled.
Kata kunci: ESP32, Arduino IDE, BME-280, MPU-6050, Oled Display.
I. PENDAHULUAN
I2C
Inter-Integrated Circuit adalah komunikasi dua jalur antara IC atau modul yang berbeda di mana dua jalur tersebut adalah SDA Serial Data Line) dan SCL (Serial Clock Line). Kedua saluran harus dihubungkan ke suplai positif menggunakan resistor pull-up. I2C dapat memberikan kecepatan hingga 400Kbps dan menggunakan sistem pengalamatan 10 bit atau 7 bit untuk menargetkan perangkat tertentu pada bus i2c sehingga dapat menghubungkan hingga 1024 perangkat. I2C memiliki panjang komunikasi yang terbatas dan ideal untuk komunikasi onboard. Jaringan I2C mudah diatur karena hanya menggunakan dua kabel dan perangkat baru dapat dengan mudah dihubungkan ke dua jalur bus I2C yang umum. Sama seperti SPI, mikrokontroler umumnya memiliki pin I2C untuk menghubungkan perangkat I2C.
UART
Universal Asynchronous Receiver-Transmitter adalah implementasi perangkat keras yang mendukung komunikasi serial dua arah, asinkron. UART membutuhkan dua jalur data, satu untuk mengirim dan satu untuk menerima. Jalur transmisi dari satu perangkat (Tx) terhubung ke jalur penerima dari perangkat kedua (Rx) dan sebaliknya untuk transmisi di kedua arah. UART hanya dapat menghubungkan antara dua perangkat.
UART dapat beroperasi antar perangkat dalam:
1. Transmisi data Simplex dalam satu arah saja
2. Transmisi data Half Duplex di kedua arah, tetapi tidak secara bersamaan
3. Transmisi data Full Duplex di kedua arah secara bersamaan
Kecepatan transmisi data UART disebut sebagai Tingkat BAUD dan secara default disetel ke 115.200 (Tingkat BAUD didasarkan pada kecepatan transmisi simbol tetapi serupa dengan kecepatan bit). Seperti halnya antarmuka ke GPIO, voltase harus dipertimbangkan. Beberapa pin mikrokontroler beroperasi pada 3.3v sementara perangkat lain dapat beroperasi pada 5v atau bahkan lebih tinggi. Konverter level tegangan diperlukan untuk menghubungkan mikrokontroler ke perangkat semacam itu. Pada output UART, bit biasanya diwakili oleh voltase level logic. Bit ini dapat menjadi RS-232, RS-422, RS-485
SPI
Serial Peripheral Interface adalah serial komunikasi dua arah dan sinkron. Seperti I2C, SPI dapat digunakan untuk jarak yang relatif pendek. Tidak seperti I2C, SPI beroperasi pada dupleks penuh, yang berarti data dapat dikirim dan diterima secara bersamaan. Selain itu, dapat beroperasi pada kecepatan transmisi data yang lebih cepat, dengan kecepatan hingga 10 Mbps atau lebih. Ini sangat ideal untuk komunikasi data berkecepatan tinggi. SPI dapat berkomunikasi dengan banyak perangkat melalui dua cara yaitu pertama adalah dengan memilih setiap perangkat dengan jalur Chip Select. Jalur Chip Select yang terpisah diperlukan untuk setiap perangkat. Kedua adalah melalui daisy chain di mana setiap perangkat terhubung satu sama lain melalui data keluar ke data masuk yang sejalan dengan perangkat berikutnya.
Tidak ada batasan yang ditentukan untuk jumlah perangkat SPI yang dapat dihubungkan. Namun, ada batasan praktis karena batasan jumlah baris pemilihan perangkat keras yang tersedia pada master dalam metode pertama, atau kompleksitas penyampaian data melalui perangkat dalam metode rantai daisy kedua.
Pin GPIO default yang digunakan untuk SPI:
1. MOSI: Master Out Slave In
2. MISO: Master In Slave Out
3. SCLK: Serial Clock
4. CS: Chip Select
II. METODOLOGI
Metodologi yang digunakan untuk penyelesaian tugas Project #6 diilustrasikan dalam diagram berikut:
Leslie, Aasestrand, P., Tannenbaum, J., Paulo, Gary, Albin, T., . . . Stockton, A. (2020, July 30). ESP32 with BME280 using Arduino Ide (PRESSURE, Temperature, humidity). Retrieved February 21, 2021, from https://randomnerdtutorials.com/esp32-bme280-arduino-ide-pressure-temperature-humidity/
Domenico, Hennig, K., Sacha, Alex, Sygghy, Santos, S., . . . Chuck. (2021, February 09). ESP32 MPU-6050 accelerometer and Gyroscope (Arduino). Retrieved February 21, 2021, from https://randomnerdtutorials.com/esp32-mpu-6050-accelerometer-gyroscope-arduino/
Software. (n.d.). Arduino. https://www.arduino.cc/en/software/
Komentar
Posting Komentar