Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Trocador de cor controlado por movimento!

Componentes e suprimentos

Sparkfun APDS-9960
× 1
Fios de jumpers (genérico)
× 1
Arduino UNO
× 1
Resistor 4,75 k ohm
× 1
Cátodo comum difuso RGB
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Este projeto permitirá que você aproveite o poder de seus movimentos para controlar um LED RGB. Você precisará do Sparkfun APDS-9960 e um CATHODE comum, não um ânodo, LED RGB. Certifique-se de usar uma placa Arduino 5v com resistores de 4,7 k Ohm, pois esse sensor usa o protocolo I2C. Em seguida, conecte-se no esquema. A partir daí, você pode adicionar cores personalizadas ao código. Eu coloquei 6 já. Os controles padrão são:deslize para cima para ligá-lo, deslize para baixo para desligá-lo, deslize para a direita para avançar para a próxima cor e para a esquerda para inverter. Este código pode ser adaptado para caber em muitos outros tipos de projetos também! Sinta-se à vontade para experimentar e criar projetos mais incríveis. Feliz fabricação!

Uma imagem do produto em uma placa de ensaio:


Código

  • Código Arduino
Código Arduino C / C ++
Copiar e colar
 #include  #include  // Pinos # define APDS9960_INT 2 // Precisa ser um pino de interrupção // Constantsint red_pin =A0; int green_pin =A1; int blue_pin =A2; int onOff_flag =0; // Faça a matriz para loop throughint colorNumber =0; // Global VariablesSparkFun_APDS9960 apds =SparkFun_APDS9960 (); int isr_flag =0; void setup () {// Defina o pino de interrupção como entrada pinMode (APDS9960_INT, ENTRADA); // Inicializa a porta serial Serial.begin (9600); Serial.println (); Serial.println (F ("--------------------------------")); Serial.println (F ("SparkFun APDS-9960 - GestureTest")); Serial.println (F ("--------------------------------")); // Inicializa a rotina de serviço de interrupção attachInterrupt (0, interruptRoutine, FALLING); // Inicializar o APDS-9960 (configurar I2C e os valores iniciais) if (apds.init ()) {Serial.println (F ("inicialização do APDS-9960 concluída")); } else {Serial.println (F ("Algo deu errado durante a inicialização do APDS-9960!")); } // Comece a executar o mecanismo de sensor de gestos APDS-9960 if (apds.enableGestureSensor (true)) {Serial.println (F ("Sensor de gestos em execução")); } else {Serial.println (F ("Algo deu errado durante a inicialização do sensor de gesto!")); } pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, SAÍDA); analogWrite (A0, 0); analogWrite (A1, 0); analogWrite (A2, 0);} void loop () {if (isr_flag ==1) {detachInterrupt (0); handleGesture (); isr_flag =0; attachInterrupt (0, interruptRoutine, FALLING); } if (onOff_flag ==1) {switch (colorNumber) {case 0:Serial.println ("red"); analogWrite (red_pin, 255); analogWrite (green_pin, 0); analogWrite (blue_pin, 0); pausa; caso 1:Serial.println ("azul bebê"); analogWrite (red_pin, 255); analogWrite (green_pin, 153); analogWrite (blue_pin, 204); pausa; caso 2:Serial.println ("azul escuro"); analogWrite (red_pin, 100); analogWrite (green_pin, 0); analogWrite (blue_pin, 170); pausa; caso 3:Serial.println ("verde"); analogWrite (red_pin, 0); analogWrite (green_pin, 255); analogWrite (blue_pin, 0); pausa; caso 4:Serial.println ("azul"); analogWrite (red_pin, 0); analogWrite (green_pin, 0); analogWrite (blue_pin, 255); pausa; caso 5:Serial.println ("violeta"); analogWrite (red_pin, 191); analogWrite (green_pin, 0); analogWrite (blue_pin, 255); pausa; }} else if (onOff_flag ==0) {analogWrite (red_pin, 0); analogWrite (green_pin, 0); analogWrite (blue_pin, 0);} delay (1000);} void interruptRoutine () {isr_flag =1;} void handleGesture () {if (apds.isGestureAvailable ()) {switch (apds.readGesture ()) {case DIR_UP:Serial.println ("UP"); onOff_flag =1; pausa; case DIR_DOWN:Serial.println ("DOWN"); onOff_flag =0; pausa; 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); } } pausa; 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); } } pausa; case DIR_NEAR:Serial.println ("NEAR"); pausa; case DIR_FAR:Serial.println ("FAR"); pausa; padrão:Serial.println ("NONE"); }}} 

Esquemas

Conecte como está.

Processo de manufatura

  1. Botão AWS IoT controlado por movimento
  2. Robô Raspberry Pi controlado por Bluetooth
  3. Luz da mesa interativa controlada por gestos
  4. LEDs controlados por Alexa através do Raspberry Pi
  5. Carro RC controlado por joystick
  6. Braço robótico controlado por Nunchuk (com Arduino)
  7. Robô controlado por fala
  8. Pistola de água com sensor de movimento
  9. Robô de piano controlado por Arduino:PiBot
  10. Arduino RGB Color Mixer