0
我們正在連接ardiuno和python,並且我們需要在不同的時間間隔後把我們的信號從python發送到ardiuno,因爲我們用循環來發送數據和接收數據,但是我們不是從循環中獲取python的信號。 但是,當我們使用相同的代碼,發送信號從python到ardiuno而不使用循環,它工作得很好。python和arduino的接口
如何使用的Arduino UNO
,這是我們的代碼
int ra = 3;
int ya = 4;
int ga = 5;
int rb = 6;
int yb = 7;
int gb = 8;
int x1=0;
int x2=0;
int x=0;
int led=10;
void setup() {
Serial.begin(9600);
pinMode(ra,OUTPUT);
pinMode(ya,OUTPUT);
pinMode(ga,OUTPUT);
pinMode(rb,OUTPUT);
pinMode(yb,OUTPUT);
pinMode(gb,OUTPUT);
pinMode(led,OUTPUT);
}
void loop() {
if(Serial.available()){
x2=Serial.parseInt();
//x2++;
Serial.end();}
if ((x2>=0)&&(x2<=9))
{
x=x2;
switch(x)
{
case 0 :
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(8000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
//digitalWrite(ra,HIGH);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(12000);
digitalWrite(gb,LOW);
digitalWrite(yb,HIGH);
digitalWrite(ya,HIGH);
delay(3000);
digitalWrite(yb,LOW);
digitalWrite(ya,LOW);
digitalWrite(ra,LOW);
delay(50);
break;
case 1:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(5000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
//digitalWrite(ra,HIGH);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(5000);
digitalWrite(gb,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(ra,LOW);
break;
case 2:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(9000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(9000);
digitalWrite(gb,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(ra,LOW);
break;
case 3:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(12000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(12000);
digitalWrite(gb,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(ra,LOW);
break;
case 4:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(15000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(15000);
digitalWrite(gb,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(ra,LOW);
break;
case 5:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(18000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(18000);
digitalWrite(gb,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(ra,LOW);
break;
case 6:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(2100);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(2100);
digitalWrite(gb,LOW);
digitalWrite(yb,HIGH);
digitalWrite(ya,HIGH);
delay(3000);
digitalWrite(yb,LOW);
digitalWrite(ya,LOW);
digitalWrite(ra,LOW);
break;
case 7:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(24000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(24000);
digitalWrite(gb,LOW);
digitalWrite(yb,HIGH);
digitalWrite(ya,HIGH);
delay(3000);
digitalWrite(yb,LOW);
digitalWrite(ya,LOW);
digitalWrite(ra,LOW);
break;
case 8:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(28000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(28000);
digitalWrite(gb,LOW);
digitalWrite(yb,HIGH);
digitalWrite(ya,HIGH);
delay(3000);
digitalWrite(yb,LOW);
digitalWrite(ya,LOW);
digitalWrite(ra,LOW);
break;
case 9:
digitalWrite(ga,HIGH);
digitalWrite(rb,HIGH);
delay(30000);
digitalWrite(ga,LOW);
digitalWrite(ya,HIGH);
digitalWrite(yb,HIGH);
delay(3000);
digitalWrite(ya,LOW);
digitalWrite(yb,LOW);
digitalWrite(rb,LOW);
delay(50);
digitalWrite(gb,HIGH);
digitalWrite(ra,HIGH);
delay(30000);
digitalWrite(gb,LOW);
digitalWrite(yb,HIGH);
digitalWrite(ya,HIGH);
delay(3000);
digitalWrite(yb,LOW);
digitalWrite(ya,LOW);
digitalWrite(ra,LOW);
break;
}}
}