Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

3D RGB Arduclock

Компоненты и расходные материалы

Arduino Nano R3
× 1
Модуль Bluetooth HC-05
× 1
Кольцо Adafruit NeoPixel:светодиод WS2812 5050 RGB
× 1
Digilent Pmod RTCC
× 1
Динамик:0,25 Вт, 8 Ом
× 1

Необходимые инструменты и машины

Паяльник (общий)
3D-принтер (общий)

Об этом проекте

Привет, создатели, мы видим, что вам понравился наш предыдущий проект «НАСТЕННЫЕ ЖЕЛЕЗНЫЕ ЧАСЫ С АНИМАЦИЕЙ RGB». Для нас это было честью. Спустя долгое время у нас снова есть ПРОЕКТ ЧАСОВ.

А теперь мы предлагаем вам наш новый ПРОЕКТ ЧАСОВ. Я назвал его «3D RGB ARDUCLOCK». Конечно, наиболее важным элементом нашего проекта будет Arduino Nano и индивидуально настраиваемые адресуемые светодиоды. И, конечно же, 3D-принтер для нас очень важен. Мы снова спроектировали и произвели некоторые элементы, необходимые для нашего «3D RGB ARDUCLOCK». Вы можете использовать этот проект, который вы разработали как портативный, или преподнести его в подарок своим близким.

Как вы управляете этими часами и функциями? Не волнуйтесь, мы разработали для вас приложение. Очень простое приложение. Вы можете скачать ссылку.

Итак, вы можете спросить меня. В чем особенности этих часов?

Ниже мы перечислили особенности проекта. Вы также можете посмотреть.

  • Показать часы
  • Показать температуру
  • Показать дату
  • Установить часы (при необходимости, обновление с телефона)
  • Установить дату (при необходимости обновление с телефона)
  • Установить будильник (звонок со звуком «ИГРА Престолов»)
  • Изменить цвет всех цифр
  • Изменить цвет первой, второй и третьей цифр.
  • Изменить цвет точек сек.
  • Анимация

И если вы хотите создать этот «3D RGB ARDUCLOCK», вам понадобятся некоторые материалы, файлы деталей 3D-принтера, коды Arduino, электронная схема и APK для полного контроля.

Для получения дополнительной информации перейдите по ссылке:https://goo.gl/mQVxdW

.

Код

  • code.ino
code.ino Arduino
 #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 # define NOTE_A1 55 # define NOTE_AS1 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 NOTE_A2 110 # define NOTE_AS2 117 # define NOTE_B2 123 # define NOTE_C3 131 # define NOTE_CS3 139 #defin NOTE_D3 147 #defin NOTE_DS3 156 #defin NOTE_E3 165 #defin NOTE_F3 175 #defin NOTE_FS3 185 # define NOTE_G3 196 #defin NOTE_GS3 208 #defin NOTE_A3 220 #defin NOTE_AS3 233 # define NOTE_B3 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 #defin NOTE_FS4 370 # define NOTE_G4 392 #defin NOTE_GS4 415 #defin NOTE_A4 440 #defin NOTE_AS4 466 # 494 # define # NOTE_B4 определить NOTE_C5 523 # определить NOTE_CS5 554 # определить NOTE_D5 587 # определить 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 #defin NOTE_B5 988 #defin NOTE_C6 1047 #defin NOTE_CS6 1109 # define NOTE_D6 1175 #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_C7 2093 # define NOTE_CS7 2217 # define NOTE_D7 2349 # define #define_DS NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 # define NOTE_A7 3520 #defin NOTE_AS7 3729 #defin NOTE_B7 3951 # define NOTE_C8 4186 #defin NOTE_CS8 4435 #defin NOTE_D8 4699 # define NOTE_DS8 .h> #include  DS3231 rtc (SDA, SCL); Time t; #ifdef __AVR__ #include  # endif # определить PIN 4 # определить PIN2 5 # определить PIN3 6 # определить PIN4 7 # определить PIN5 8 # определить PIN6 9 # определить PIN7 10 # определить NUMPIXELS 7Adafruit_NeoPixel pixel s =Adafruit_NeoPixel (NUMPIXELS, PIN-код, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels2 =Adafruit_NeoPixel (NUMPIXELS, ПИН2, 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 strip3 =Adafruit_NeoPixel (7, NEOKRUB) NEO_KHZ800); Adafruit_NeoPixel strip5 =Adafruit_NeoPixel (7, PIN5, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel strip6 =Adafruit_NeoPixel (7, PIN6 , NEO_GRB + NEO_KHZ800); седьмой байтisplay [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; String data ="hello"; int alarmSaat =0; int alarmDak =0; byte alarmDurumu =0; // Ledsvoid setup () {pinMode (динамикPin, OUTPUT); pinMode (alarmPin, INPUT); rtc.begin (); // rtc.setTime (20, 19, 40); // rtc.setDate (3, 10, 2018); #if defined (__AVR_ATtiny85__) if (F_CPU ==16000000) clock_prescale_set (clock_div_1); # endif strip.begin (); strip.show (); pixel.begin (); pixel2.begin (); pixel3.begin (); pixel4.begin (); pixel5.begin (); Pixel6.begin (); pixel7.begin (); Serial.begin (9600); } недействительный цикл () {t =rtc.getTime (); if (Serial.available ()) // Eer Bluetooth балансирует varsa kodalar altrr {/ * * / data =Serial.readStringUntil ('.'); Serial.println (data); if (data =="tarih") {String gun =Serial.readStringUntil ('.'); Строка ay =Serial.readStringUntil ('.'); Строка 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 (); alarmDurumu =1; data ="clock";}} if (alarmDurumu ==1 &&alarmSaat ==t.hour &&alarmDak ==t.min) {for (int k =0; k <7; k ++) {pixels.setPixelColor (k, pixels.Color ( 0,0,0)); pixel2.setPixelColor (k, пикселей.Color (0,0,0)); pixel3.setPixelColor (k, пикселей.Color (0,0,0)); pixel4.setPixelColor (k, пикселей.Color (0,0,0)); pixel4.setPixelColor (k, пикселей.Color (0,0,0)); pixel5.setPixelColor (k, пикселей.Color (0,0,0)); pixel6.setPixelColor (k, пикселей.Color (0,0,0)); pixel7.setPixelColor (k, пикселей.Color (0,0,0)); pixel.show (); pixel2.show (); pixel3.show (); pixel4.show (); pixel5.show (); Pixel6.show (); pixel7.show (); } alarmDurumu ==0; Игра престолов(); } int k =1; if (x ==0) {pixels7.setPixelColor (0, pixels7.Color (цвет [dg4] [0], цвет [dg4] [1], цвет [dg4] [2])); pixel7.setPixelColor (1, pixels7.Color (цвет [dg4] [0], цвет [dg4] [1], цвет [dg4] [2])); pixel7.show (); } if (x ==1) {pixels7.setPixelColor (0, pixels7.Color (0,0,0)); pixel7.setPixelColor (1, pixels7.Color (0,0,0)); pixel7.show (); } х =х + 1; задержка (500); если (х ==2) {х =0; }; если (данные =="d1") {данные =""; dg1 ++; если (dg1 ==10) {dg1 =0;} yaz (); } если (данные =="d2") {данные =""; dg2 ++; если (dg2 ==10) {dg2 =0;} yaz (); } если (данные =="d3") {данные =""; dg3 ++; если (dg3 ==10) {dg3 =0;} yaz (); } если (данные =="d4") {данные =""; dg4 ++; если (dg4 ==10) {dg4 =0;} yaz (); } если (данные =="все") {sayac ++; if (sayac ==10) {sayac =0;} dg1 =sayac; dg2 =sayac; dg3 =sayac; data =""; yaz (); } если (данные =="привет") {d0 =12; d1 =15; d2 =13; d3 =13; d4 =0; d5 =16; yaz ();} // clockif (data =="часы") {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 .date) / 10; d1 =(t.date)% 10; d2 =(t.mon) / 10; d3 =(t.mon)% 10; d5 =(т. год)% 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  

Схема


Производственный процесс

  1. Атака НЛО!
  2. Цифровые игральные кости Arduino
  3. Огонь из воды
  4. MyRiver
  5. Железный человек
  6. Игра с джойстиком
  7. Найди меня
  8. Роботизированная рука, напечатанная на 3D-принтере Arduino
  9. Переносимый детектор дальности
  10. Управление увлажнителем Arduino