3D RGB Arduclock
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
| ||||
|
关于这个项目
大家好,我们看到您喜欢我们之前的项目“动画 RGB 挂钟”。这对我们来说是一种荣誉。时隔许久,我们又回到了CLOCK PROJECT。
现在,我们为您提供我们新的时钟项目。我称它为“3D RGB ARDUCLOCK”。当然,我们项目中最重要的元素将是 Arduino Nano 和可编程的单个可寻址 LED。当然,3D 打印机对我们来说非常重要。我们再次设计和生产了我们的“3D RGB ARDUCLOCK”所需的一些部件。您可以使用您设计的便携式项目,也可以将其作为礼物赠送给您所爱的人。
你如何控制这个时钟和功能?别担心。我们在应用程序中为您开发了它。非常简单的应用。你可以下载链接。
所以,你可以问我。这个时钟有什么特点?
我们在下面列出了项目功能。你也可以看看。
- 显示时钟
- 显示温度
- 显示日期
- 设置时钟(如果需要,从您的手机更新)
- 设置日期(如果需要,从您的手机更新)
- 设置闹钟(响起“权力的游戏”声音)
- 更改所有数字的颜色
- 改变第一位、第二位和第三位数字的颜色
- 改变安全点的颜色
- 动画
如果你想制作这个“3D RGB ARDUCLOCK”,你需要一些材料、3D 打印机零件文件、Arduino 代码、电子模型和 APK 以进行完全控制。
详情请至:https://goo.gl/mQVxdW
代码
- code.ino
code.inoArduino
#define NOTE_B0 31#define NOTE_C1 33#define NOTE_CS1 35#define NOTE_D1 37#define NOTE_DS1 39#define NOTE_E1 41#define NOTE_F1 44#define NOTE_FS1 46#define NOTE_G1 49#define NOTE_GS1 52#55define AS NOTE_GS1 52#5define A NOTE_ 58#define NOTE_B1 62#define NOTE_C2 65#define NOTE_CS2 69#define NOTE_D2 73#define NOTE_DS2 78#define NOTE_E2 82#define NOTE_F2 87#define NOTE_FS2 93#define NOTE_G2 98#define NOTE_GS2 104#define 104#define A NOTE_GS2 104#define A NOTE_GS2 define NOTE_B2 123#define NOTE_C3 131#define NOTE_CS3 139#define NOTE_D3 147#define NOTE_DS3 156#define NOTE_E3 165#define NOTE_F3 175#define NOTE_FS3 185#define NOTE_G3 196#define NOTE_G3 196#define NOTE_GS3#define A3 NOTE_GS3#define A3NOTE_GS3230#define NOTE_DS3 156#define NOTE_E3 247#define NOTE_C4 262#define NOTE_CS4 277#define NOTE_D4 294#define NOTE_DS4 311#define NOTE_E4 330#define NOTE_F4 349#define NOTE_FS4 370#define NOTE_G4 392#define NOTE_GS4 415#define A4 NOTE_GS4 415#define A4 NOTE_E4 NOTE_GS4 NO定义 NOTE_C5 523#define NOTE_CS5 554#define NOTE_D5 587#define NOTE_DS5 622#define NOTE_E5 659#define NOTE_F5 698#define NOTE_FS5 740#define NOTE_G5 784#define NOTE_GS5 831#define NOTE_A5 880#define NOTE_AS5 932#define NOTE_B5 988#define NOTE_B5 988#define NOTE_C6#define16_define 16NOTE_C616#define 16NOTE_C616#define 16_define 16 NOTE_G5 784#define NOTE_GS5 #define NOTE_E6 1319#define NOTE_F6 1397#define NOTE_FS6 1480#define NOTE_G6 1568#define NOTE_GS6 1661#define NOTE_A6 1760#define NOTE_AS6 1865#define NOTE_B6 1976#define NOTE_FS6 1480#define NOTE_G6 1568#define NOTE_GS6 1661#define NOTE_A6 1760#define NOTE_AS6 1865#define NOTE_B6 1976#define CENOTE_C7#define 27Ddefine 27 NOTE_C7#define 27D 27 NOTE_C727Ddefine 27D 27 NOTE_E7 2637#define NOTE_F7 2794#define NOTE_FS7 2960#define NOTE_G7 3136#define NOTE_GS7 3322#define NOTE_A7 3520#define NOTE_AS7 3729#define NOTE_B7 3951#define NOTE_F7 2960#define NOTE_G7 3136#define NOTE_GS7 3322#define NOTE_A7 3520#define NOTE_AS7 3729#define NOTE_B7 3951#define NOTE_C8 483#define 8CSNOTE_C8 483#define 8CSNOTE_C8 41586 41584 Pixele 8DS NOTE_include #define 8CS 8DS .h>#includeDS3231 rtc(SDA, SCL);Time t;#ifdef __AVR__ #include #endif#define PIN 4#define PIN2 5#define PIN3 6#define PIN4 7#define PIN5 8#define PIN6 9#define PIN7 10#define NUMPIXELS 7Adafruit_NeoPixel 像素S =Adafruit_NeoPixel(NUMPIXELS,PIN,NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels2 =Adafruit_NeoPixel(NUMPIXELS,PIN2,NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels3 =Adafruit_NeoPixel(NUMPIXELS,PIN3,NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels4 =Adafruit_NeoPixel(NUMPIXELS,PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels5 =Adafruit_NeoPixel(NUMPIXELS,PIN5,NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels6 =Adafruit_NeoPixel(NUMPIXELS,PIN6,NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels7 =Adafruit_NeoPixel(NUMPIXELS,PIN7,NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel条=Adafruit_NeoPixel(7, PIN, NEO_GRB + NEO_KHZ800);Adafruit_NeoPixel strip2 =Adafruit_NeoPixel(7, PIN2, NEO_GRB + NEO_KHZ800);Adafruit_NeoPixel strip3 =Adafruit_NeoPixel (7, GRB38NeoPixel +NEOPixel NEOPixel, NEOPixelstripAdafruit_NeoPixelAdafruit_NeoPixel Adafruit_NeoPixel(7, PIN2, NEO_GRB + NEO_KHZ800) NEO_KHZ800);Adafruit_NeoPixel strip5 =Adafruit_NeoPixel(7, PIN5, NEO_GRB + NEO_KHZ800);Adafruit_NeoPixel strip6 =Adafruit_NeoPixel(7, PIN6 , NEO_GRB + NEO_KHZ800);byte Sevendisplay[19][7]={ {1,1,1,1,1,1,0},//0 {0,0,1,1,0,0,0} ,//1 {0,1,1,0,1,1,1},//2 {0,1,1,1,1,0,1},//3 {1,0,1,1 ,0,0,1},//4 {1,1,0,1,1,0,1},//5 {1,1,0,1,1,1,1},//6 { 0,1,1,1,0,0,0},//7 {1,1,1,1,1,1,1},//8 {1,1,1,1,1,0, 1},//9 {1,1,0,0,1,1,0},//C 10 {1,1,1,0,0,0,1},//' 11 {1,0 ,1,1,0,1,1},//H 12 {1,0,0,0,1,1,0},//L 13 {1,1,0,0,0,1,0 },//T2 14 {1,1,0,0,1,1,1},//E 15 {0,0,0,0,0,0,0},//bo 16 {1,1 ,1,1,0,1,0},//N 17 {1,1,1,0,0,1,1},//P 18 };字节动画[7][7]={ {1 ,0,0,0,0,0,0},//0 {0,1,0,0,0,0,0},//1 {0,0,1,0,0,0,0 },//2 {0,0,0,1,0,0,0},//3 {0,0,0,0,1,0,0},//4 {0,0,0, 0,0,1,0},//5 {0,0,0,0,0,0,1},//6 };字节颜色[10][3]={ {0,0,255}, {0,225,0}, {0,255,255}, {255,0,0}, {255,0,255}, {255,255,0}, {255,255,255}, {100,150,250}, {255,50,30}, {100,0,200}, };// Buzzerint SpeakerPin =13;int alarmPin =12;int x=0;int sayac=0;int dg1=0;int dg2=0;int dg3=0;int dg4=0;int d0=0;int d1=0;int d2=0;int d3=0;int d4=0;int d5=0;字符串数据=“你好”;int alarmSaat=0;int alarmDak=0;byte alarmDurumu=0;// Ledsvoid setup() { pinMode(speakerPin, OUTPUT); pinMode(alarmPin, INPUT);rtc.begin();//rtc.setTime(20, 19, 40);//rtc.setDate(3, 10, 2018); #if 定义 (__AVR_ATtiny85__) if (F_CPU ==16000000) clock_prescale_set(clock_div_1);#endif strip.begin();带.show();像素。开始(); pixel2.begin(); pixel3.begin(); pixel4.begin(); pixel5.begin(); pixel6.begin(); pixel7.begin(); Serial.begin(9600); }void loop() { t =rtc.getTime(); if(Serial.available()) // Eer 蓝牙平衡器 varsa kodalar altrr{ /* */ data =Serial.readStringUntil('.');Serial.println(data);if(data=="tarih"){String gun =Serial.readStringUntil('.');String ay =Serial.readStringUntil('.');String yil =Serial.readStringUntil('.'); int newd=gun.toInt(); int newm=ay.toInt(); int newy=yil.toInt();rtc.setDate(newd,newm,newy);data="date";}if(data=="saat"){String saat =Serial.readStringUntil('.');String dak =Serial.readStringUntil('.'); int news=saat.toInt(); int newd =dak.toInt(); rtc.setTime(news, newd, 00);data="clock";}if(data=="alarm"){String asaat =Serial.readStringUntil('.');String adak =Serial.readStringUntil('.' ); alarmSaat=asaat.toInt(); alarmDak=adak.toInt();警报杜鲁姆=1; data="clock";}} if(alarmDurumu==1&&alarmSaat==t.hour&&alarmDak==t.min) { for(int k=0; k<7;k++) { pixel.setPixelColor(k, pixel.Color( 0,0,0)); pixel2.setPixelColor(k, pixel.Color(0,0,0)); pixel3.setPixelColor(k, pixel.Color(0,0,0)); pixel4.setPixelColor(k, pixel.Color(0,0,0)); pixel4.setPixelColor(k, pixel.Color(0,0,0)); pixel5.setPixelColor(k, pixel.Color(0,0,0)); pixel6.setPixelColor(k, pixel.Color(0,0,0)); pixel7.setPixelColor(k, pixel.Color(0,0,0));像素显示(); pixel2.show(); pixel3.show(); pixel4.show(); pixel5.show(); pixel6.show(); pixel7.show(); } alarmDurumu==0;权力的游戏(); } int k=1; if(x==0) { pixel7.setPixelColor(0, pixel7.Color(color[dg4][0],color[dg4][1],color[dg4][2])); pixel7.setPixelColor(1, pixel7.Color(color[dg4][0],color[dg4][1],color[dg4][2])); pixel7.show(); } if(x==1) { pixel7.setPixelColor(0, pixel7.Color(0,0,0)); pixel7.setPixelColor(1, pixel7.Color(0,0,0)); pixel7.show(); } x=x+1;延迟(500);如果(x==2){x=0; };if(data=="d1"){ data=""; dg1++; if(dg1==10) {dg1=0;} yaz(); } if(data=="d2"){ data=""; dg2++; if(dg2==10) {dg2=0;} yaz(); } if(data=="d3"){ data=""; dg3++; if(dg3==10) {dg3=0;} yaz(); } if(data=="d4"){ data=""; dg4++; if(dg4==10) {dg4=0;} yaz(); } if(data=="all"){sayac++;if(sayac==10){sayac=0;}dg1=sayac;dg2=sayac;dg3=sayac;data="";yaz(); }if(data=="hello"){ d0=12; d1=15; d2=13; d3=13; d4=0; d5=16;yaz();}//clockif(data=="clock"){d0=(t.hour)/10;d1=(t.hour)%10;d2=(t.min)/10;d3=(t.min)%10;d4=(t.sec)/10;d5=(t.sec)%10;yaz();}if(data=="date"){ d0=(t .日期)/10; d1=(t.date)%10; d2=(t.mon)/10; d3=(t.mon)%10; d5=(t.year)%100; d4=(d5)/10; d5=(d5)%10; yaz();}if(data=="temp"){int sayi=(rtc.getTemp())*100;d0=sayi/1000;d1=sayi%1000;d1=d1/100;d2=sayi% 100;d2=d2/10;d3=(sayi)%10;d4=10;d5=11;yaz(); }if(data=="animation"){ for(int g=0;g
示意图
制造工艺