[IoT EDGE V.3 Board] I²C Communication Port Test. (SCL,SDA)
2 min readMay 6, 2021
Device
- IoT EAGE V.3 Board
- MLX90614
- LCD 16x2 I2C
Software
- Arduino IDE (Download)
Library for Arduino IDE
Model Test
- IoT EAGE V.3 Board’s Master
- MLX90614 Slave 1
- LCD 16x2 I2C Slave 2
Source Code
- I2C Communication (Download)
Explain
ในการทดสอบการใช้งานบอร์ด IoT EAGE V.3 ในบทความนี้ความจะทดสอบการสื่อสารแบบ I²C โดยเราจะให้ Slave สองตัว 2 ส่งข้อมูลให้กับ Master และกำหนด Address ไม่ให้เหมือนกัน เพื่อจะให้สื่อสารกันได้ Slave ตัวที่ 1 เป็นตัววัดอุณหภูมิ Slave 2 เป็น จอ LCD แสดงผล อุณหภูมิ
Method
- เขียน Code
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <Wire.h>
#include “MLX90614.h”esl::MLX90614 mlx90614;void setup() {
Serial.begin(115200);
while (!Serial) ;
Wire.begin();
mlx90614.init( );
Serial.print( “Address = 0x” );
Serial.println( mlx90614.readSlaveAddress(), HEX );lcd.begin(16,2);
lcd.init();
lcd.backlight();}void loop() {
float f;
Serial.print( “Ambient temp. (Ta): “ );
f = mlx90614.readAmbientTemperature(); // ambient temperature
if ( !mlx90614.is_crc_error() ) {
Serial.println(f);
}
Serial.print( “Object1 temp. (To): “ );
f = mlx90614.readObjectTemperature(); // object1 temperature
if ( !mlx90614.is_crc_error() ) {
Serial.println(f);
lcd.setCursor(0,0);
lcd.printf(“Temp. = %.2f C”,f);
}
delay(1000);
}
2.เลือก Board Type ให้เลือกเป็น ESP32 Dev Module และ เลือก Port
3.Upload Program ให้กับ IoT EAGE Board V.3
4.ต่อวงจรแล้วดูผล ผ่าน LCD
Reference