亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

运动控制换色器!

组件和用品

Sparkfun APDS-9960
× 1
跳线(通用)
× 1
Arduino UNO
× 1
电阻 4.75k ohm
× 1
RGB 扩散共阴极
× 1

应用和在线服务

Arduino IDE

关于这个项目

该项目将使您能够利用动作的力量来控制 RGB LED。您将需要 Sparkfun APDS-9960 和一个普通的阴极,而不是阳极,RGB LED。确保使用带有 4.7k Ohm 电阻器的 5v Arduino 板,因为该传感器使用 I2C 协议。然后按照原理图连接。从那里您可以在代码中添加自定义颜色。我已经放了6个。默认控件是:向上滑动以打开它,向下滑动以关闭它,向右滑动以前进到下一种颜色,向左滑动以反转。此代码也可以适用于许多其他类型的项目!随意尝试并创建更多很棒的项目。快乐制作!

面包板上的产品图片:

代码

  • Arduino 代码
Arduino 代码C/C++
Copy and Paste
#include #include // Pins#define APDS9960_INT 2 // 需要是中断pin// Constantsint red_pin =A0;int green_pin =A1;int blue_pin =A2;int onOff_flag =0;//让数组循环通过int colorNumber =0;//全局变量SparkFun_APDS9960 apds =SparkFun_APDS9960();int isr_flag =0;void setup() { //设置中断引脚为输入pinMode(APDS9960_INT,输入); // 初始化串口Serial.begin(9600); Serial.println(); Serial.println(F("--------------------------------")); Serial.println(F("SparkFun APDS-9960 - GestureTest")); Serial.println(F("--------------------------------")); // 初始化中断服务程序 attachInterrupt(0, interruptRoutine, FALLING); // 初始化 APDS-9960(配置 I2C 和初始值) if ( apds.init() ) { Serial.println(F("APDS-9960 初始化完成")); } else { Serial.println(F("APDS-9960 初始化期间出现问题!")); } // 开始运行 APDS-9960 手势传感器引擎 if ( apds.enableGestureSensor(true) ) { Serial.println(F("Gesture sensor is now running")); } else { Serial.println(F("手势传感器初始化过程中出现问题!"));引脚模式(A0,输出); pinMode(A1,输出); pinMode(A2,输出);模拟写入(A0,0);模拟写入(A1,0);模拟写入(A2, 0);}void loop() { if( isr_flag ==1 ) { detachInterrupt(0);处理手势(); isr_flag =0; attachInterrupt(0,interruptRoutine,下降); } if (onOff_flag ==1){ switch (colorNumber){ case 0:Serial.println("red");模拟写入(红针,255);模拟写入(green_pin,0);模拟写入(blue_pin,0);休息;案例 1:Serial.println("小蓝");模拟写入(红针,255);模拟写入(green_pin,153);模拟写入(blue_pin,204);休息;情况 2:Serial.println("深蓝色");模拟写入(red_pin,100);模拟写入(green_pin,0);模拟写入(蓝针,170);休息;案例 3:Serial.println("green");模拟写入(red_pin,0);模拟写入(green_pin,255);模拟写入(blue_pin,0);休息;案例 4:Serial.println("blue");模拟写入(red_pin,0);模拟写入(green_pin,0);模拟写入(blue_pin,255);休息;案例 5:Serial.println("紫罗兰色");模拟写入(红针,191);模拟写入(green_pin,0);模拟写入(blue_pin,255);休息; }}else if(onOff_flag ==0){analogWrite(red_pin, 0);模拟写入(green_pin,0);模拟写入(blue_pin,0);}延迟(1000);}void interruptRoutine(){ isr_flag =1;}void handleGesture(){ if(apds.isGestureAvailable()){ switch(apds.readGesture()){ case DIR_UP: Serial.println("UP"); onOff_flag =1;休息; case DIR_DOWN:Serial.println("DOWN"); onOff_flag =0;休息; case DIR_LEFT:Serial.println("LEFT"); if(onOff_flag ==1){ if(colorNumber>0){ colorNumber -=1; Serial.println(colorNumber); } else if(colorNumber <1){ colorNumber =5; Serial.println(colorNumber); } } 休息; case DIR_RIGHT:Serial.println("RIGHT"); if(onOff_flag ==1){ if(colorNumber <5){ colorNumber +=1; Serial.println(colorNumber); } else if(colorNumber> 4){ colorNumber =0; Serial.println(colorNumber); } } 休息; case DIR_NEAR:Serial.println("NEAR");休息; case DIR_FAR:Serial.println("FAR");休息;默认值:Serial.println("NONE"); } }}

示意图

按原样连接。

制造工艺

  1. 运动控制的 AWS IoT 按钮
  2. 通过蓝牙控制的树莓派机器人
  3. 手势控制互动桌灯
  4. Alexa 通过 Raspberry Pi 控制 LED
  5. 操纵杆控制的遥控车
  6. Nunchuk 控制机械臂(使用 Arduino)
  7. 语音控制机器人
  8. 运动感应水枪
  9. Arduino 控制的钢琴机器人:PiBot
  10. Arduino RGB 混色器
  11. Wi-Servo:Wi-Fi 浏览器控制的伺服电机
  12. DMX RGB LED 户外