본문 바로가기
Programming/Arduino

릴레이(Relay) 2ch + OLED (I2C) 릴레이 상태 체크 하기 (Relay Monitoring)

by 크레노트 2019. 1. 19.
반응형

안녕하세요. 


이번에는 OLED 0.96 와 릴레이를 사용하여 릴레이의 상태를


실시간으로 체크하도록 하겠습니다.


일단 제가 사용한 OLED는 I2C방식입니다. SPI와 같은 다른 방식도 있으니 


필요에 맞게 상황에 맞게 사용하시면 되겠습니다.


먼저 선연결은 아래 표처럼 하였습니다.

 

 OLED

Arduino mega 

 VCC

 5v

 GND

GND 

 SDA

 20

 SCL

 21


제가 사용하는 메가는 핀 옆에 친절하게 표시가 되어 있네요!


 Relay 2ch

Arduino mega 

 VCC

 5v

 GND

 GND

 INT1

 3

 INT2

 2


그리고 또 한가지 OLED를 사용할려면 라이브러리를 다운 받아야 하는데요.


u8glib : https://code.google.com/archive/p/u8glib/


여기 사이트에 들어가서 받으시면 됩니다.


마지막으로 제가 코드와 작동 영상으로 이번글을 마무리 하겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// OLED 라이브러리 파일
#include "U8glib.h"
//릴레이 핀지정
int relay_int1=3;
int relay_int2=2;
//OLED 타입별 지정값
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
 
//릴레이 상태 체크   
int check1 = LOW; 
int check2 = LOW;
void setup() {
 pinMode(relay_int1, OUTPUT);
  pinMode(relay_int2, OUTPUT);
}
void loop() {
    check1 = !check1;     
    digitalWrite(relay_int1, check1);    
    
    check2 = !check2;     
    digitalWrite(relay_int2, check2);     
    delay(300);
    u8g.firstPage();
 
    do{
        u8g.setFont(u8g_font_unifont);
        u8g.setPrintPos(0,10);
        u8g.print("Relay Monitoring");    
        u8g.setPrintPos(0,30);
        u8g.print(check1);
        u8g.setPrintPos(0,50);
        u8g.print(check2);       
    }while(u8g.nextPage());
 
}
 
 
 
cs



 

반응형

댓글