【Arduino】Unity3d交互灯带的控制

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();
       } 
    }
}

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要使用Arduino控制灯带的亮度或颜色,可以通过旋钮来调节。下面是一个基本的示例代码,可以帮助您开始: ```C++ // 引入灯带库 #include <Adafruit_NeoPixel.h> // 定义灯带引脚和像素数量 #define LED_PIN 6 #define NUM_LEDS 30 // 创建灯带对象 Adafruit_NeoPixel strip(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); // 定义旋钮引脚 int knobPin = A0; void setup() { // 初始化串口通信 Serial.begin(9600); // 初始化灯带 strip.begin(); strip.show(); // 关闭所有像素 } void loop() { // 读取旋钮值 int knobValue = analogRead(knobPin); // 映射旋钮值到合适的范围(例如0-255) int brightness = map(knobValue, 0, 1023, 0, 255); // 设置灯带亮度 strip.setBrightness(brightness); // 更新灯带 strip.show(); // 打印亮度值到串口监视器 Serial.println(brightness); delay(10); // 稍作延迟以避免过多读取 } ``` 在这个示例中,我们使用了Adafruit_NeoPixel库来控制灯带。首先,我们定义了灯带的引脚和像素数量。然后,在setup()函数中,我们初始化了灯带和串口通信。在loop()函数中,我们读取旋钮的值,并将其映射到0-255的亮度范围。然后,我们设置灯带的亮度并更新它。最后,我们通过串口打印亮度值。 请注意,您需要先安装Adafruit_NeoPixel库,可以在Arduino IDE的库管理器中搜索并安装它。另外,确保将旋钮连接到正确的引脚,并将灯带连接到正确的引脚。 希望这可以帮助您开始控制灯带!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值