Chuyện là mình muốn làm cho code nó random mà không trùng nhau Nhưng tại vì mới bước vào con đường lập trình nên vẫn còn thiếu kinh nghiệm nên mấy bác có kinh nghiệm nào có thể chia sẽ về việc này không?
Đây là bài code của mình:
#include <Servo.h>
#include <Stdlib.h>
Servo myservo;
volatile long A;
const int sensor=11;
const int Servo_pin1 = 2;
const int Servo_pin2 = 4;
const int Servo_pin3 = 6;
const int Servo_pin4 = 8;
const int Servo_pin5 = 10;
const int Servo_pin6 = 12;
unsigned long changeTime;//time since button pressed
Servo myservo2;
Servo myservo4;
Servo myservo6;
Servo myservo8;
Servo myservo10;
Servo myservo12;
void setup() {
myservo2.attach(Servo_pin1);
myservo4.attach(Servo_pin2);
myservo6.attach(Servo_pin3);
myservo8.attach(Servo_pin4);
myservo10.attach(Servo_pin5);
myservo12.attach(Servo_pin6);
pinMode(sensor,INPUT);
Serial.begin(9600);
}
void loop() {
int value=digitalRead(sensor);
if(value && (millis() - changeTime)> 3000){
A=random(0.7);
switch (A) {
case 1:
Serial.println("TOUCHED1 ");
myservo2.write(179);
delay(1000);
myservo2.write(90);
delay(1000);
break;
case 2:
Serial.println("TOUCHED2 ");
myservo4.write(179);
delay(1000);
myservo4.write(90);
delay(1000);
break;
case 3:
Serial.println("TOUCHED3 ");
myservo6.write(179);
delay(1000);
myservo6.write(90);
delay(1000);
break;
case 4:
Serial.println("TOUCHED4 ");
myservo8.write(179);
delay(1000);
myservo8.write(90);
delay(1000);
break;
case 5:
Serial.println("TOUCHED5 ");
myservo10.write(179);
delay(1000);
myservo10.write(90);
delay(1000);
break;
case 6:
Serial.println("TOUCHED4 ");
myservo12.write(179);
delay(1000);
myservo12.write(90);
delay(1000);
break;
}
}
delay(1000);
}