工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

モーションコントロールカラーチェンジャー!

コンポーネントと消耗品

Sparkfun APDS-9960
× 1
ジャンパー線(汎用)
× 1
Arduino UNO
× 1
抵抗4.75kオーム
× 1
RGB拡散コモンカソード
× 1

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

このプロジェクトでは、モーションの力を利用してRGBLEDを制御できるようになります。 Sparkfun APDS-9960と、アノードではなく一般的なカソード、RGBLEDが必要になります。このセンサーはI2Cプロトコルを使用しているため、必ず4.7kオームの抵抗を備えた5vArduinoボードを使用してください。次に、回路図でそのように接続します。そこから、コードにカスタムカラーを追加できます。すでに6個入れました。デフォルトのコントロールは次のとおりです。上にスワイプしてオンにし、下にスワイプしてオフにし、右にスワイプして次の色に進み、左にスワイプして逆にします。このコードは、他の多くのタイプのプロジェクトにも適合させることができます。自由に実験して、より素晴らしいプロジェクトを作成してください。幸せな作り!

ブレッドボード上の製品の写真:

<図>

コード

  • Arduinoコード
Arduinoコード C / C ++
コピーアンドペースト
 #include  #include  // Pins#define APDS9960_INT 2 //割り込みピンである必要があります// Constantsint red_pin =A0; int green_pin =A1; int blue_pin =A2; int onOff_flag =0; //配列をループさせるintcolorNumber =0; //グローバル変数SparkFun_APDS9960apds =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( "ジェスチャセンサーが実行中です")); } else {Serial.println(F( "ジェスチャセンサーの初期化中に問題が発生しました!")); } pinMode(A0、OUTPUT); pinMode(A1、OUTPUT); pinMode(A2、OUTPUT); 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);壊す;ケース1:Serial.println( "baby blue"); analogWrite(red_pin、255); analogWrite(green_pin、153); analogWrite(blue_pin、204);壊す;ケース2:Serial.println( "ダークブルー"); analogWrite(red_pin、100); analogWrite(green_pin、0); analogWrite(blue_pin、170);壊す;ケース3:Serial.println( "green"); analogWrite(red_pin、0); analogWrite(green_pin、255); analogWrite(blue_pin、0);壊す;ケース4:Serial.println( "blue"); analogWrite(red_pin、0); analogWrite(green_pin、0); analogWrite(blue_pin、255);壊す;ケース5:Serial.println( "violet"); analogWrite(red_pin、191); analogWrite(green_pin、0); analogWrite(blue_pin、255);壊す; }} 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;壊す;ケースDIR_DOWN:Serial.println( "DOWN"); onOff_flag =0;壊す;ケース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); } } 壊す;ケース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); } } 壊す;ケースDIR_NEAR:Serial.println( "NEAR");壊す;ケースDIR_FAR:Serial.println( "FAR");壊す;デフォルト:Serial.println( "NONE"); }}} 

回路図

そのまま接続します。

製造プロセス

  1. モーションコントロールされたAWSIoTボタン
  2. Bluetoothで制御されるRaspberryPi Robot
  3. ジェスチャー制御のインタラクティブテーブルライト
  4. RaspberryPiを介したAlexa制御LED
  5. ジョイスティック制御のRCカー
  6. Nunchuk制御ロボットアーム(Arduino付き)
  7. 音声制御ロボット
  8. モーションセンサー水鉄砲
  9. Arduino制御ピアノロボット:PiBot
  10. ArduinoRGBカラーミキサー
  11. Wi-Servo:Wi-Fiブラウザ制御サーボモーター