volatile long value;
int vol;
float U;
volatile int dwq;
void stop(){
for(int x=0; x<=100; x++){
digitalWrite(10, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delayMicroseconds(10000);
}
digitalWrite(10,LOW);
}
void setup(){
value = 'a';
pinMode(13, OUTPUT);
digitalWrite(13,HIGH);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, INPUT);
pinMode(2, OUTPUT);
Serial.begin(115200);
pinMode(A0, INPUT);
pinMode(0, OUTPUT);
dwq = 0;
}
void loop(){
if (Serial.available() > 0) {
value = Serial.read();
if (value == 'a') {
digitalWrite(13,HIGH);
}
if (value == 'b') {
digitalWrite(13,LOW);
}
if (value == 'c') {
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
}
if (value == 'd') {
digitalWrite(9,HIGH);
delay(300);
digitalWrite(9,LOW);
digitalWrite(8,HIGH);
delay(300);
digitalWrite(8,LOW);
digitalWrite(7,HIGH);
delay(300);
digitalWrite(7,LOW);
digitalWrite(6,HIGH);
delay(300);
digitalWrite(6,LOW);
digitalWrite(5,HIGH);
delay(300);
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
delay(300);
digitalWrite(4,LOW);}
}
if (value == 'e') {
do{attachInterrupt(1,stop,RISING);
digitalWrite(7, HIGH);
delay(500);
digitalWrite(7, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
delay(100);
digitalWrite(9, HIGH);
delay(500);
digitalWrite(9, LOW);
delay(100);}while(true);
}
if (value == 'f') {
do{Serial.print("vol=");
vol=analogRead(A0);
Serial.println(vol);
Serial.print("U=");
U=float(vol*5/1024.00);
Serial.print(U);
Serial.print("V");
delay(1000);}while(true);
}
if (value == 'g'){
do{dwq = analogRead(A0);
if (dwq < 341) {
analogWrite(0, 0);
}
if (dwq >= 341 && dwq <= 682) {
analogWrite(0, 127);
}
if (dwq > 682) {
analogWrite(0, 255);
}}while(true);
}
}