For developer/아두이노
(아두이노)Serial 전송 버튼을 이용한 LED컨트롤 하기,랜덤(난수) 생성
프린이0218
2020. 4. 22. 22:22
int red =9;
int blue = 11;
int green =13;
void setup() {
Serial.begin(9600);
pinMode(red,OUTPUT);
pinMode(blue,OUTPUT);
pinMode(green,OUTPUT);
}
void loop() {
while(Serial.available()){
char c = Serial.read();
Serial.print("입력");
Serial.print(" : ");
Serial.println(c);
if(c=='1'){
digitalWrite(red,HIGH);
digitalWrite(green,LOW);
digitalWrite(blue,LOW);
Serial.println("1번 클릭");
}else if(c=='2'){
digitalWrite(red,LOW);
digitalWrite(green,HIGH);
digitalWrite(blue,LOW);
Serial.println("2번 클릭");
}else if(c=='3'){
digitalWrite(red,LOW);
digitalWrite(green,LOW);
digitalWrite(blue,HIGH);
Serial.println("3번 클릭");
}else if(c=='4'){
digitalWrite(red,LOW);
digitalWrite(green,LOW);
digitalWrite(blue,LOW);
Serial.println("불 꺼짐");
}else{
Serial.println("1~4사이 입력하삼~^^");
}
}
}
int val = Serial.parseInt(); // Int 형식으로 받으면 수 통째로 값을 가져온다 만약 숫자가 아닌 값을 입력하면 걍 무시해버림. 숫자와 문자가 혼합되면 split처럼 됨.
int red =9;
int green =13;
int num1;
int chkNum=0;
void setRandom();
void setup() {
Serial.begin(9600);
pinMode(red,OUTPUT);
pinMode(green,OUTPUT);
setRandom();
// Serial.println("Making Random Number ...");
// Serial.println("Let's Start");
// num1 = random(1,10); //1~9까지
Serial.print("랜덤수:");
Serial.println(num1);
}
void loop() {
if(Serial.available()){
chkNum = Serial.parseInt();
if(chkNum == num1){
Serial.print(chkNum);
Serial.println(" :Sucess");
digitalWrite(red,LOW);
digitalWrite(green,HIGH);
delay(3000);
digitalWrite(green,LOW);
setRandom();
// Serial.println("Making Random Number");
// Serial.println("Let's Start");
// num1 = random(1,10);
Serial.print("랜덤수:");
Serial.println(num1);
}else{
Serial.print(chkNum);
Serial.println(" :fail");
digitalWrite(red,HIGH);
digitalWrite(green,LOW);
delay(3000);
digitalWrite(red,LOW);
}
}
}
void setRandom(){
Serial.println("Making Random Number");
Serial.println("Let's Start");
num1 = random(1,10);
}