BASIC4MCU | 질문게시판 | 답변 : 답변 : 초음파 센서와 4-digit 7segment
페이지 정보
작성자 master 작성일2018-10-16 15:36 조회878회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=5400
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-10-16 오후 3:41:23// by Ok-Hyun Park//#include <arduino.h>//#define ledA 3#define ledB 7#define ledC 11#define ledD 9#define ledE 8#define ledF 4#define ledG 12#define DOT 10//#define seg1 2#define seg2 5#define seg3 6#define seg4 13//void fnd(int n){ // 숫자 출력 함수switch(n){case 0: //Displays 0digitalWrite(ledD,1); digitalWrite(ledE,1); digitalWrite(ledF,1); digitalWrite(ledG,0);digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 1: //Displays 1digitalWrite(ledD,0); digitalWrite(ledE,0); digitalWrite(ledF,0); digitalWrite(ledG,0);digitalWrite(ledA,0); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 2: //Displays 2digitalWrite(ledD,1); digitalWrite(ledE,1); digitalWrite(ledF,0); digitalWrite(ledG,1);digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,0); digitalWrite(DOT,0);break;case 3: //Displays 3digitalWrite(ledD,1); digitalWrite(ledE,0); digitalWrite(ledF,0); digitalWrite(ledG,1);digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 4: //Displays 4digitalWrite(ledD,0); digitalWrite(ledE,0); digitalWrite(ledF,1); digitalWrite(ledG,1);digitalWrite(ledA,0); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 5: //Displays 5digitalWrite(ledD,1); digitalWrite(ledE,0); digitalWrite(ledF,1); digitalWrite(ledG,1);digitalWrite(ledA,1); digitalWrite(ledB,0); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 6: //Displays 6digitalWrite(ledD,1); digitalWrite(ledE,1); digitalWrite(ledF,1); digitalWrite(ledG,1);digitalWrite(ledA,1); digitalWrite(ledB,0); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 7: //Displays 7digitalWrite(ledD,0); digitalWrite(ledE,0); digitalWrite(ledF,0); digitalWrite(ledG,0);digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 8: //Displays 8digitalWrite(ledD,1); digitalWrite(ledE,1); digitalWrite(ledF,1); digitalWrite(ledG,1);digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;case 9: //Displays 9digitalWrite(ledD,1); digitalWrite(ledE,0); digitalWrite(ledF,1); digitalWrite(ledG,1);digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(DOT,0);break;}}//void clr(){ //Clears the LED //led clear 함수digitalWrite(ledA,0); digitalWrite(ledB,0); digitalWrite(ledC,0); digitalWrite(ledD,0);digitalWrite(ledE,0); digitalWrite(ledF,0); digitalWrite(ledG,0); digitalWrite(DOT,0);}//void set(){ //Set the LED // led set 함수digitalWrite(ledA,1); digitalWrite(ledB,1); digitalWrite(ledC,1); digitalWrite(ledD,1);digitalWrite(ledE,1); digitalWrite(ledF,1); digitalWrite(ledG,1); digitalWrite(DOT,1);}//void Seg(int a){fnd(a/1000); digitalWrite(seg1,0); delay(1); digitalWrite(seg1,1);fnd(a/100%10); digitalWrite(seg2,0); delay(1); digitalWrite(seg2,1);fnd(a/10%10); digitalWrite(seg3,0); delay(1); digitalWrite(seg3,1);fnd(a%10); digitalWrite(seg4,0); delay(1); digitalWrite(seg4,1);}//void setup(){pinMode(ledA,OUTPUT); pinMode(ledB,OUTPUT); pinMode(ledC,OUTPUT); pinMode(ledD,OUTPUT);pinMode(ledE,OUTPUT); pinMode(ledF,OUTPUT); pinMode(ledG,OUTPUT); pinMode(DOT,OUTPUT);pinMode(seg1,OUTPUT); pinMode(seg2,OUTPUT); pinMode(seg3,OUTPUT); pinMode(seg4,OUTPUT);pinMode(A1,OUTPUT); //TriggerpinMode(A0,INPUT); //EchoSerial.begin(9600);}//void loop(){long duration,cm;digitalWrite(A1,1); delayMicroseconds(10); digitalWrite(A1,0);duration=pulseIn(A0,1);cm=(duration/2)/29.1;Serial.print(cm); Serial.println("cm");for(int i=0;i<25;i++)Seg(cm);}
댓글 1
조회수 878무럭님의 댓글
무럭 작성일감사합니다ㅠㅠㅠ