sample sd readwrite.inoをunoでやった CSは4でないといかんかった
3.3vではうごかん 5vにつなぐ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
https://iot.keicode.com/arduino/arduino-ir-led-photodiode.php を元に
フォトダイオードのスイッチ的使い方をまなぶ
光があたっている場合は1.2vなのでLow、光があたらないと5.0VなのでHigh
それで選り分けしてブザーを鳴らせる
https://www.petitmonte.com/robot/howto_cnz1023.html フォトインタラプタ
ーーーーーーーーーーーーーーーーーーーー
https://create.arduino.cc/projecthub/electropeak/color-recognition-w-tcs230-sensor-and-arduino-184f58 color sensor for arduino
--------------------------
ch_arduino [プログラミング言語「ドリトル」] (eplang.jp) linuxはjavaを要す、サーボ不可
https://lab.yengawa.com/project/scrattino3/ 最新版は管理者でなくてもできた、サーボ可
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Arduino: /dev/ttyACM0 - Permission Denied [SOLVED] - ShellHacks これ重要
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
ws2811 LED 所謂ネオピクセルだが、4ピン仕様になっているのでテープとはまた
違う取り扱いが必要 人形の目を光らせ、呪いの人形にする - Qiita に詳しい
端っこの最初をデジタルの2につなぐ、あとはチェーンで最後の端はフリーとなる
#include <Adafruit_NeoPixel.h> #define LEDPIN 2 #define NUMLED 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMLED, LEDPIN, NEO_RGB + NEO_KHZ800); typedef struct { int r; int g; int b; } RGB; String eyes_color[] = {"#000000", "#0000ff", "#ff0000", "#ff00ff", "#00ff00", "#00ffff", "#ffff00", "#ffffff"}; int eyes_colorCount = sizeof(eyes_color) / sizeof(eyes_color[0]); int eyes_color_cur = 0 , eyes_color_to=1; RGB rgb_hex2dec(String hexstr){ RGB rgb; long val = strtol(&hexstr[1], NULL, 16); rgb.r = (int) (val >> 16 & 0xff); rgb.g = (int) (val >> 8 & 0xff); rgb.b = (int) (val & 0xff); return rgb; } boolean compareRGB(RGB a, RGB b){ return ((a.r == b.r)&&(a.g == b.g)&&(a.b == b.b)); } void changeLED(RGB from1, RGB to1, RGB from2, RGB to2){ RGB s[] = {from1, from2}, t[] = {to1, to2}, d[2]; for(int i=0; i<2; i++){ d[i].r= (s[i].r < t[i].r)?1:((s[i].r > t[i].r)?-1:0); d[i].g= (s[i].g < t[i].g)?1:((s[i].g > t[i].g)?-1:0); d[i].b= (s[i].b < t[i].b)?1:((s[i].b > t[i].b)?-1:0); } while(!compareRGB(s[0],t[0]) && !compareRGB(s[1],t[1])){ for(int i=0; i<2; i++){ if(s[i].r != t[i].r){ s[i].r += d[i].r; } if(s[i].g != t[i].g){ s[i].g += d[i].g; } if(s[i].b != t[i].b){ s[i].b += d[i].b; } } setLED(s[0], s[1]); delay(5); } }
0 件のコメント:
コメントを投稿