簡體   English   中英

電腦控制8**3 RGB LED立方體

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM