가스 밸브는 가정 내의 가스 밸브를 시간 맞춰 잠그거나 여는 기능을 한다. 아래 사진의 가스 밸브는 타이머 가스밸브를 시중에서 구입한 것인데 타이머 설정은 하지 않고 단지 Open/Close 명령만을 수행한다. 인터넷에 연결되어 있다면 원격으로 직접 개폐 제어가 가능하고, 시간을 설정해서 원하는 시간에 개폐가 되도록 프로그램할 수 있다. 가스 타이머의 각 부 명칭을 살펴보자.
라즈베리파이 스마트 홈 실습 과정 전체 포스팅 리스트
라즈베리파이4 스마트홈 액츄에이터 디지털 도어록 실습 8

본 실습에서 사용하는 가스 타이머의 특징은 아래와 같다.
1. 가스밸브 원터치 개폐방법-열림/닫힘 버튼을 하나로 조작.(1번 누르면 열림 다시 누르면 닫힘.)
2. 설정한 시간 지나면 퓨즈콕(중간밸브) 잠김으로 가스 자동차단하는 방식.
3. 밸브잠김 위치 확인방법/위치 부정확 시 작동오류 표시 후 잠김. (오류요인 해제 시 정상작동)
4. 정전시 수동으로 가스중간밸브 수동 개폐 가능.
5. 밧데리 사용 중 극도로 저전압 상태가 발생할 경우 자동으로 잠김. 극도로 저 전압일 때 ON 스위치를 눌렀을 경우 경고음만 발생하고 작동되지 않음. (전원 자동차단 후 수동모드)
6. 제품주변온도가 65 ºC 이상의 고온일 경우 감지 센서가 화재위험으로 체크하여 가스중간밸브를 자동차단.
7. 손쉽게 설치 - 기존 사용하는 퓨즈콕 (15A)에 덧 씌우는 방법으로 전문 시공자 없이 누구나 쉽게 설치 가능함.
가스 타이머의 사세한 사양을 아래에 나타내었다.
가스타이머 K-300 사양
| 모델명 | K-300 |
| 제조사 | Hi one plus -http://www.lock1313.co.kr/ |
| 전원 | DC 6V ( 건전지 1.5V, 4EA / AA 사이즈) |
| 차단방식 | 모터 구동방식 / 자동 |
| 형식 | 분리형 |
| 환경온도 | -15ºC ~ 59ºC |
| 재질 | 내화 플라스틱 |
| 제품규격 | 76(W) X 153(H) X 101(D) mm |
| 제품중량 | 209g |
| 설치장소 | 아파트 빌라 원룸 기타장소 |
| 구동방식 | 모터구동방식(콕밸브에 적용) |
| 밸브차단시간 | 4초 이내 |
| 외형 재질 | ABS , POM |
| 설정 시간 | 기본 20분 설정 , 최장 9시간 |
스마트 홈 실습 시스템의 가스타이머의 외형을 아래에 나타낸다.

소스코드로 제어방법을 살표보자. 소스코드 편집은 아래 명령을 이용하여 nano편집기를 사용한다 $nano home-gascontrol.c
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <wiringPi.h>
#define GASON 25 // BCM_GPIO 26 - OUT
#define GASOFF 25 // BCM_GPIO 26 - OUT
#define GAS_STATUS 1// BCM_GPIO 18 - in
void Bpluspinmodeset(void);
// the event counter
volatile int pulseCounter = 0; //pulse 10msec
// -------------------------------------------------------------------------
// myInterrupt: called every time an event occurs
void pulseInterrupt(void) {
pulseCounter++;
}
int main (void)
{
if(wiringPicheck()) printf("Fail");
Bpluspinmodeset();
if ( wiringPiISR (GAS_STATUS, INT_EDGE_FALLING, &pulseInterrupt) < 0 )
{
fprintf (stderr, "Unable to setup ISR: %s\n", strerror (errno));
return 1;
}
int i;
while(1)
{
//digitalWrite(GASON, 1);
delay(10);
digitalWrite(GASON, 0);
delay(50);
digitalWrite(GASON, 1);
delay(5000); //1sec
//get current state
pulseCounter = 0;
delay(100);
if(pulseCounter > 5)
{
printf("Open %d\n", pulseCounter);
}
else
{
printf("Close %d\n", pulseCounter);
}
delay(3000); //1sec
}
return 0 ;
}
int wiringPicheck(void)
{
if (wiringPiSetup () == -1)
{
fprintf(stdout, "Unable to start wiringPi: %s\n", strerror(errno));
return 1 ;
}
}
void Bpluspinmodeset(void)
{
pinMode (GASON, OUTPUT);
pinMode (GASOFF, OUTPUT);
pinMode (GAS_STATUS, INPUT);
}
'개발자 > 라즈베리파이4' 카테고리의 다른 글
| 라즈베리파이4 스마트홈 RGB LED 실습 12 (0) | 2023.05.25 |
|---|---|
| 라즈베리파이4 스마트홈 RFID RC522 실습 11 (0) | 2023.05.23 |
| 라즈베리파이4 스마트홈 전동볼밸브 실습 10 (0) | 2023.05.22 |
| Raspberrypi MCP3208 ADC 전류 센서 연결도 (1) | 2023.05.19 |
| 라즈베리파이4 스마트홈 액츄에이터 디지털 도어록 실습 8 (1) | 2023.05.17 |
| 라즈베리파이4 스마트홈 인체감지 모션센서 코드 7 (0) | 2023.05.16 |
| 라즈베리파이4 스마트홈 온도 습도센서 코드 6 (0) | 2023.05.15 |
| 스마트홈 서버 프로그램 데이터 베이스 에러 해결 (1) | 2023.05.12 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩