센서 > ATmega128 코드비젼 - HX711 - UART

TODAY1,025 TOTAL2,585,197
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 센서 | 기타센서 | ATmega128 코드비젼 - HX711 - UART

페이지 정보

작성자 master 작성일2018-03-12 23:42 조회3,631회 댓글0건

본문

 

// DateTime : 2018-03-12 오후 11:43:11
// by Ok-Hyun Park
#include <mega128.h
#include <delay.h>
#include <stdio.h>
//
// Hx711.DIN-pin#A1
// Hx711.SCK-pin#A0
//
#define U08 unsigned char
#define U32 unsigned long
//
#define DIN    (PINA&1)  // PA0
#define SCK_1  PORTA|=2  // PA1
#define SCK_0  PORTA&=~2 // PA1
//
U32   offset=0;
float scale=742.0;
//
//char RX0_char(void){ while(!(UCSR0A&0x80)); return UDR0; }
void TX0_char(char c){ while(!(UCSR0A&0x20)); UDR0=c; }
void TX0_STR(char *s){ while(*s)TX0_char(*s++); }
//
U32 getValue(){
  U08 iU32 data=0;
  while(DIN);     // wait for Ready
  for(i=0;i<24;i++){ SCK_1if(DIN)data|=0x800000>>iSCK_0; }
  SCK_1SCK_0;   // 25클럭 // Next Conversion:CH.A, Gain:128
  //SCK_1; SCK_0; // 26클럭 // Next Conversion:CH.B, Gain:32
  //SCK_1; SCK_0; // 27클럭 // Next Conversion:CH.B, Gain:64
  data^=0x800000// 2'보수
  return data;
}
//
void setOffset(){ offset=getValue(); }
void setScale(float s){ scale=s;  }
//
float getGram(U08 times){
  long valU32 sum=0U08 i;
  for(i=0;i<times;i++)sum+=getValue();
  sum/=times;
  val=sum-offset;
  return (float)val/scale
}
//
void HX711init(){
  DDRA=0x02;                   // SCK // PA1
  SCK_1delay_us(100); SCK_0// 60us 이상 POWER DOWN 후 Nomal Mode
  setOffset(); setOffset();    // 2번째 변환 결과로 Offset 적용
}
//
void main(){
  U08 str[30]; float f;
  UCSR0B=0x08UBRR0L=103;  //  9600
  HX711init();
  while(1){
    f=getGram(32); // 32번 읽어서 평균
    sprintf(str,"%.1f g\r\n",f); TX0_STR(str); // 소숫점이하 자릿수=1
    delay_ms(200);
  }
}

 

 

댓글 0

조회수 3,631

등록된 댓글이 없습니다.

센서HOME > 센서 > 전체 목록

게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기