[英]controlling 8**3 rgb led cube by computer
我現在正在創建應由 arduino bud ewery arduino 控制的 LED 立方體Python
在我的計算機中的所有日期並將其發送到 arduino 一切工作正常,除非我使serial writes
之間的延遲小於1 second
立方體應該為10 Hz
以制作一些很酷的動畫,但5 Hz
就足夠了,但使用我的代碼我只能達到1 Hz
python:
import serial
import time
arduinoData = serial.Serial('com3', 9600)
time.sleep(2)
while 1:
arduinoData.write(b'81')
time.sleep(1)
arduinoData.write(b'80')
time.sleep(1)
arduino:
String serialData;
int data;
int pin, value
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0){
serialData = Serial.readString();
pin = serialData.substring(0, 1).toInt();
value = serialData.substring(1, 2).toInt();
digitalWrite(pin, value);
}
}
我想通過串口更快地讀取/發送數據
注意:我正在使用 2 個常規 LED 對其進行測試
在 Arduino 代碼中,您正在使用 Serial.readString ()在預設超時(默認為 1000 毫秒)期間從緩沖區讀取。 有關詳細信息,請參閱Serial.setTimeout() 。
我建議你改用這樣的東西:
void loop()
{
string data = "";
while(Serial.available()) // Read the buffer until it's empty
{
data += Serial.read();
}
if(data.length()>0) // Process the data then
{
pin = data[0].toInt();
value = data[1].toInt();
}
}
我建議您始終參考Arduino 文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.