질문게시판 > 답변 : 거리센서와 네오픽셀 코딩

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 거리센서와 네오픽셀 코딩

페이지 정보

작성자 master 작성일18-06-05 17:21 조회8,325회 댓글0건

본문

 

// DateTime : 2018-06-05 오후 5:19:42
// by Ok-Hyun Park
//
초음파 거리센서 URM37 코딩
//#Editor: Zrh from DFRobot
//#Data: 29.08.2014
//#Product name: ultrasonic scanner
//#Product SKU: SEN0001
//#Version: 1.0
//#Description:
//#The sketch for using the URM37 autonomous  mode from DFRobot
//#and writes the values to the serialport
//#Connection:
//#Vcc    (Arduino)->Pin 1 VCC(URM V4.0)
//#GND    (Arduino)->Pin 2 GND(URM V4.0)
//#Pin 3  (Arduino)->Pin 4 ECHO(URM V4.0)
//#Pin TX1(Arduino)->Pin 8 RXD(URM V4.0)
//#Pin RX0(Arduino)->Pin 9 TXD(URM V4.0)
//#Working Mode: autonomous  mode.
int URECHO=3// PWM Output 0-25000US,Every 50US represent 1cm
unsigned int x=0;
uint8_t EnPwmCmd[4]={0x44,0x02,0xaa,0xf0}; // distance measure command
//
void setup(){
  Serial.begin(9600);
  AutonomousMode_Setup();
}
//
void loop(){
  AutonomousMode();
  delay(100);
//
void AutonomousMode_Setup(){ // PWM mode setup function
  pinMode(URECHO,INPUT);     // Sending Enable PWM mode command
  for(int i=0;i<4;i++)Serial.write(EnPwmCmd[i]);
}
//
void AutonomousMode(){
  unsigned long DistanceMeasured=pulseIn(URECHO,LOW);
  if(DistanceMeasured>=45000){ // the reading is invalid.
    Serial.print("Invalid");
  }
  else{
    x=DistanceMeasured/50// every 50us low level stands for 1cm
    Serial.print("Distance="); Serial.print(x); Serial.println("cm");
    if(x>180){ 흰색ON; 적색OFF; // 흰색 점등
    else     { 흰색OFF; 적색ON; // 빨간색 점등
  }
}

 

흰색과 적색 LED는 핀 설정하고 출력하는 코드를 추가하시고요

 

 

// DateTime : 2018-06-05 오후 5:23:33
// by Ok-Hyun Park
//
초음파 거리센서 URM37 코딩
//#Editor: Zrh from DFRobot
//#Data: 29.08.2014
//#Product name: ultrasonic scanner
//#Product SKU: SEN0001
//#Version: 1.0
//#Description:
//#The sketch for using the URM37 autonomous  mode from DFRobot
//#and writes the values to the serialport
//#Connection:
//#Vcc    (Arduino)->Pin 1 VCC(URM V4.0)
//#GND    (Arduino)->Pin 2 GND(URM V4.0)
//#Pin 3  (Arduino)->Pin 4 ECHO(URM V4.0)
//#Pin TX1(Arduino)->Pin 8 RXD(URM V4.0)
//#Pin RX0(Arduino)->Pin 9 TXD(URM V4.0)
//#Working Mode: autonomous  mode.
int URECHO=3// PWM Output 0-25000US,Every 50US represent 1cm
unsigned int x=0;
uint8_t EnPwmCmd[4]={0x44,0x02,0xaa,0xf0}; // distance measure command
//
void setup(){
  Serial.begin(9600);
  AutonomousMode_Setup();
}
//
void loop(){
  AutonomousMode();
  delay(100);
//
void AutonomousMode_Setup(){ // PWM mode setup function
  pinMode(URECHO,INPUT);     // Sending Enable PWM mode command
  for(int i=0;i<4;i++)Serial.write(EnPwmCmd[i]);
}
//
int flag=0;
//
void AutonomousMode(){
  unsigned long DistanceMeasured=pulseIn(URECHO,LOW);
  if(DistanceMeasured>=45000){ // the reading is invalid.
    Serial.print("Invalid");
  }
  else{
    x=DistanceMeasured/50// every 50us low level stands for 1cm
    Serial.print("Distance="); Serial.print(x); Serial.println("cm");
    if(x>180){ flag=0흰색ON; } // 흰색 점등
    else{
      if(flag==0){ flag=1흰색OFF적색ONdelay(1000); 적색OFF;  } // 빨간색 점등
    }
  }
}

 

1초 점등을 1회만 하는 코드는 이렇게 작성하면 됩니다.

180cm 이하에서 1회만 적색1초 점등후 OFF 

180cm 이상이 되면 flag 초기화

 

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

댓글 : 0

조회수 : 8,325

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[29] master  17-10-29
질문 타이머 인터럽트를 이용한 LCD제어 질문입니다. Tell 새글 23-09-27
답변 답변 : 타이머 인터럽트를 이용한 LCD제어 질문입니다… master 새글 09:19
질문 아두이노 무한루프 코드 질문... 댓글[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
질문 atmega 128을 이용한 악기 튜너기 댓글[1] 아두이노짱  23-09-15
질문 stm32 보드 ip주소 찾는법 댓글[1] 라칸  23-09-13
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전