【Arduino】Unity3d交互灯带的控制

本文介绍了一段Arudino代码,用于控制四个灯带的显示颜色,通过串口接收指令'H'显示白色,'T'显示红色。代码使用了Adafruit_NeoPixel库,定义了多个灯带实例,并设置了最大灯珠数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Arudino代码:

//灯带变量
#include <Adafruit_NeoPixel.h>
#define PIN 8 //输出引脚
#define PIN1 9 //输出引脚
#define PIN2 10 //输出引脚
#define PIN3 11 //输出引脚

#define MAX_LED 100  //最大灯珠
#define ADD true
#define SUB false
int val = 0;
boolean stat = ADD;
boolean ifdown = SUB;
uint32_t white,red,black;
Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel( MAX_LED, PIN1, NEO_RGB + NEO_KHZ800 );
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel( MAX_LED, PIN2, NEO_RGB + NEO_KHZ800 );
Adafruit_NeoPixel strip3 = Adafruit_NeoPixel( MAX_LED, PIN3, NEO_RGB + NEO_KHZ800 );

//状态变量
int buttonState1 = 0;

//计时变量
unsigned long t1 = 0;
unsigned long t2 = 5;
unsigned long times = 0;

void setup() {

Serial.begin(9600);

white = strip.Color(255, 255, 255);         //选择所显示的颜色
red = strip.Color(0, 255, 0);  
black=strip.Color(0, 0, 0); 
strip.begin();           //初始化Adafruit_NeoPixel;
//for(int i =0;i<MAX_LED;i++)
//{
//   strip.setPixelColor(i,black);
//} 
strip.show();  


}

void loop() {



delay(1000);
//读取Unity传进来的值
 while(Serial.available())
   {
     char c = Serial.read();
     if(c=='H')
       {
         for(int i =0;i<MAX_LED;i++)
          {
             strip.setPixelColor(i,white);
          }
          strip.show();
       } 
        if(c=='T')
       {
         for(int i =0;i<MAX_LED;i++)
          {
             strip.setPixelColor(i,red);
          }
          strip.show();
       } 
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值