질문게시판 > Button 눌렀을 당시에 값저장

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

Button 눌렀을 당시에 값저장

페이지 정보

작성자 콩zz 작성일20-01-14 09:36 조회22,024회 댓글4건

본문

온도센서의 데이터 값을 시리얼로 받다가

 

버튼을 눌렀을 때 바로 그 즉시 나온 온도값을 저장할 수 있을까요?

 

 

 

 

#define BUTTON 6

 

float Low;
float Fast;
float Lowrate;
float Fastrate;

 

float V1, R1, KT1, cT1;
float V2, R2, KT2, cT2;
float V3, R3, KT3, cT3;
float V4, R4, KT4, cT4;

 

int a, b, c, d;

 

unsigned long Temp_pre_time = 0 ;
unsigned long Temp_cur_time = 0 ;

const int Temp_duration = 1000;


int val = 0;
int old_val=0;
int state = 0;

 

void setup() {
  // put your setup code here, to run once:
pinMode(BUTTON,INPUT);
Serial.begin(9600);
}

 

void loop() {
  // put your main code here, to run repeatedly:


unsigned long Temp_cur_time = millis();

if (Temp_cur_time - Temp_pre_time >= Temp_duration)
{
  Temp_pre_time = Temp_cur_time;
 
  a = analogRead(A0); 
  V1 = a * 5 / 1024.0 ; // 센서 값을 전압 값으로 변경
  R1 =((5.0*10000.0)/V1)-10000.0;    // 써미스터의 저항
  KT1 = 1.0/((1.0/(273.15+25.0))+(1.0/3435.0)*log(R1/10000.0));   // 절대온도
  cT1 = KT1 - 273.15;  // 상대온도

 

  b = analogRead(A1); 
  V2 = b * 5 / 1024.0 ;
  R2 =((5.0*10000.0)/V2)-10000.0;
  KT2 = 1.0/((1.0/(273.15+25.0))+(1.0/3435.0)*log(R2/10000.0));
  cT2 = KT2 - 273.15;

 

  c = analogRead(A2); 
  V3 = c * 5 / 1024.0 ;
  R3 =((5.0*10000.0)/V3)-10000.0;
  KT3 = 1.0/((1.0/(273.15+25.0))+(1.0/3435.0)*log(R3/10000.0));
  cT3 = KT3 - 273.15;

 


val = digitalRead(BUTTON);

if((val==HIGH) && (old_val ==LOW))
{
  state = 1- state ;
  delay(1000);
}
old_val = val;
if (state ==1){
 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 4

조회수 : 22,024

master님의 댓글

master 작성일

val = digitalRead(BUTTON);
if((val==HIGH) && (old_val ==LOW)){
  state = 1- state ;
  // 여기에서 온도값을 저장하세요
  delay(1000);
}

콩zz님의 댓글

콩zz 작성일

버튼을 눌렀을 즉시에 나오는 하나의 값만 저장할 순 없나요?

master님의 댓글

master 댓글의 댓글작성일

저 if()문은 버튼 누를 시 1회만 실행 됩니다.
여러개가 저장되든가요? 하나만 저장하세요

콩zz님의 댓글

콩zz 작성일

#define BUTTON 6
#define LED 13

float Low;
float Fast;
float Lowrate;
float Fastrate;

float V1, R1, KT1, cT1;
float V2, R2, KT2, cT2;
float V3, R3, KT3, cT3;
float V4, R4, KT4, cT4;

int a, b, c, d;

unsigned long Temp_pre_time = 0 ;
unsigned long Temp_cur_time = 0 ;

const int Temp_duration = 1000;
int val = 0;
int old_val=0;
int state = 0;

void setup() {
  // put your setup code here, to run once:
pinMode(BUTTON,INPUT);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:


unsigned long Temp_cur_time = millis();

if (Temp_cur_time - Temp_pre_time >= Temp_duration)
{
  Temp_pre_time = Temp_cur_time;
}
  a = analogRead(A0); 
  V1 = a * 5 / 1024.0 ; // 센서 값을 전압 값으로 변경
  R1 =((5.0*10000.0)/V1)-10000.0;    // 써미스터의 저항
  KT1 = 1.0/((1.0/(273.15+25.0))+(1.0/3435.0)*log(R1/10000.0));  // 절대온도
  cT1 = KT1 - 273.15;  // 상대온도

  b = analogRead(A1); 
  V2 = b * 5 / 1024.0 ;
  R2 =((5.0*10000.0)/V2)-10000.0;
  KT2 = 1.0/((1.0/(273.15+25.0))+(1.0/3435.0)*log(R2/10000.0));
  cT2 = KT2 - 273.15;

  c = analogRead(A2); 
  V3 = c * 5 / 1024.0 ;
  R3 =((5.0*10000.0)/V3)-10000.0;
  KT3 = 1.0/((1.0/(273.15+25.0))+(1.0/3435.0)*log(R3/10000.0));
  cT3 = KT3 - 273.15;

val = digitalRead(BUTTON);

if((val==HIGH) && (old_val ==LOW))
{
  state = 1- state ;
  Serial.println(reset);
  delay(1000);
}
old_val = val;
if (state ==1){
  digitalWrite(LED,HIGH);
  Serial.println("on");
  delay(500);
} else {
  digitalWrite(LED,LOW);
  Serial.println("off");
  delay(500);
}

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[29] master  17-10-29
질문 atmega128 스위치를 이용한 7-segment제어 자동제어공돌이 새글 02:43
질문 atmega128a 와 캐릭터 LCD연결 방법 댓글[4] 까미 새글 23-09-30
질문 타이머 인터럽트를 이용한 LCD제어 질문입니다. Tell  23-09-27
답변 답변 : 타이머 인터럽트를 이용한 LCD제어 질문입니다… 댓글[3] master  23-09-28
질문 아두이노 무한루프 코드 질문... 댓글[1] vnpaz  23-09-27
질문 질문있습니다ㅠㅠ 부탁드려요 댓글[1] keldeo  23-09-27
질문 0 ~ 99 이중 for문으로 작성하는법! 댓글[2] 상어  23-09-26
질문 리튬배터리로 화면 출력 질문드립니다 ! 댓글[1] 멘탈나간다  23-09-26
질문 lcd,바코드,서보모터, 아두이노 질문 드립니다. ㅠㅠ 댓글[1] 아두이노개발자  23-09-26
질문 stm32에서 변수 값을 유지하는 방법 댓글[1] 라칸  23-09-26
질문 안녕하세요 스위치로 led 제어 관련 질문이 있습니다 댓글[1] 노형빈  23-09-25
질문 16X16 도트 매트릭스 구동방법 질문입니다. 댓글[1] 첨부파일맹균  23-09-25
질문 stm32에서 RTC 시간 함수 쓰는데 의문점 댓글[1] 라칸  23-09-25
질문 GPS 모듈 관련 질문입니다. 댓글[3] 지구과학  23-09-22
질문 아두이노 블루투스와 초음파센서를 이용한 장애물 정지 댓글[2] 둘둘이  23-09-22
답변 답변 : 아두이노 블루투스와 초음파센서를 이용한 장애물… 댓글[1] master  23-09-25
질문 stm32 보드에서 시간설정과 불러오기를 하는데 댓글[5] 라칸  23-09-22
질문 아두이노 인터럽트 질문입니다. 댓글[2] Tell  23-09-21
답변 답변 : 아두이노 인터럽트 질문입니다. 댓글[1] master  23-09-22
질문 아두이노와 거리 감지 센서의 전류 관련 댓글[1] hmkim  23-09-21
질문 아두이노 코딩 질문있습니다. 도와주세요.... 댓글[1] 첨부파일vnpaz  23-09-20
질문 아두이노를 사용한 dc모터 위치제어 댓글[2] 모터위치  23-09-20
질문 stm32 디버깅이나 rst버튼 없이 하는 방법좀 댓글[1] 라칸  23-09-20
질문 LCD에 숫자 표기법을 바꾸고 싶습니 댓글[2] Bs드리프터  23-09-19
질문 알코올 측정기(MQ-3) 관련 질문 소오금  23-09-18
답변 답변 : 알코올 측정기(MQ-3) 관련 질문 master  23-09-19
질문 스텝모터 제어하는 소스파일 수정방법 질문드립니다. Bs드리프터  23-09-15
답변 답변 : 스텝모터 제어하는 소스파일 수정방법 질문드립니… 댓글[1] master  23-09-15
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전