unsigned long period=100;
unsigned long last_time1=0;
unsigned long last_time2=0;
unsigned long last_time3=0;
unsigned long last_time4=0;
#define Pot1 A0
#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8
#define LEDs 10
#define BUTTON1 A1
#define BUTTON2 A2
#define BUTTON3 A3
#define buzzer 3
long timeset=500;
boolean led;
int num;
const byte SEGMENT_MAP [] = {0xC0 , 0xF9 , 0xA4 , 0xB0 , 0x99 , 0x92 , 0x82 , 0xF8 , 0X80 , 0X90} ;
const byte SEGMENT_SELECT [ ] = { 0xF1 , 0xF2 , 0xF4 , 0xF8 } ;
void setup ( ) {
Serial.begin(9600);
pinMode (LATCH_DIO,OUTPUT) ;
pinMode (CLK_DIO,OUTPUT) ;
pinMode ( DATA_DIO,OUTPUT ) ;
pinMode (LEDs,OUTPUT);
pinMode (buzzer,OUTPUT);
digitalWrite(buzzer,HIGH);
}
void loop () {
chk_sw();
int data=analogRead(Pot1);
if(num==1){
if(data<500){
Serial.println(data);
tone(buzzer,500,1);
}
}
if(!digitalRead(BUTTON3)){
num=3;
noTone(buzzer);
}
if (num==2){}
WriteNumberToSegment(3,data%10);
WriteNumberToSegment(2,(data%100)/10);
WriteNumberToSegment(1,(data%1000)/100);
WriteNumberToSegment(0,data/1000);
}
void WriteNumberToSegment ( byte Segment , byte Value ) {
digitalWrite (LATCH_DIO,LOW) ;
shiftOut ( DATA_DIO , CLK_DIO , MSBFIRST , SEGMENT_MAP [ Value ] ) ;
shiftOut ( DATA_DIO , CLK_DIO , MSBFIRST , SEGMENT_SELECT [ Segment ] ) ;
digitalWrite ( LATCH_DIO , HIGH ) ;
millis();
}
void chk_sw(){
if(!digitalRead(BUTTON1)){
num=1;
Serial.println(num);
}
if(!digitalRead(BUTTON2)){
num=2;
Serial.println(num);
}
if(!digitalRead(BUTTON3)){
num=3;
Serial.println(num);
}
}