icstation light cube
инструкция и сборка набора . несколько похожих здесь – например часы с бегущим огоньком и на 8051 микроконтроллере. И парочку электронных изделий посложнее.
Часы на цифровых лампах – 2 если не 3 вида, фонари, сборка пауэрбанка, преобразователи напряжения. в разной степени Сделай Сам.
в фонарь Petzl только добавляется аккумулятор 18650 и к нему пришивается кармашек – можно на швейной машинке.
другой фонарик делается из светодиодного светильника точки 7 ватт, потом есть на кристалле для прожектора.
этот набор проще купить (на Али).
Инструкция подходит начинающим. но без особенно преувеличенного разбора по деталькам. Девочка в 13 лет собрала часы, научилась замерять тестером напряжение и сопротивление, и паять конечно. Отличить диод от транзистора и сопротивления. и все это дома на карантине. большой школьный научный проект, обучение навыкам пайки.
Из инструментов надо – паяльник, простой тестер. Кусачки, отвертки плоская и крестик американская, пинцет, пассатижи, ножик. Для пайки припой, канифоль, многожильные провода в изоляции.
Для более сложных конструкций – осциллограф, измеритель lcr или более навороченый тестер. Разные детали – транзисторы емкости сопротивления. Обмоточный провод немножко и детали для катушек, сердечники, лакоткань.
Паяльная станция, фен, сварочный аппарат, термопласт или 3d-принтер, муфельная печь, шлифовальный и фрезерный станочек.. смотря чего делать. Радиатор к светодиодам можно и сделать, корпус для лампочки напечатать, а вот клапана к дизельному генератору лучше купить с завода, сердечник от трансформатора тоже. А вот украшения с красивыми кристаллами я сам попробую сделать. Или отражатель с оптикой для вело – фары.
А в комплектах в основном все это дается, надо только самые простые детальки.
Конечно прочитать внимательнее, что там в комплекте. Например эта конструкция присоединяется к плате Ардуино Уно за 4200 рублей которая покупается отдельно. Или к ее варианту с Алиэкспресс от фабрики в районе Шеньжень, такой же микроконтроллер на atmega328p 16mhz.
подробнее-
Http://attach01.oss-us-west-1.aliyuncs.com/IC/Datasheet/5312.zip https://aliexpress.ru/item/33028032091.html
похожая конструкция – https://aliexpress.ru/item/33019288985.html
набор – привез курьер за 5 дней
ICSTATION 4X4X4 Welding guide light cube suite чуть по другому перевожу – Новогодняя электронная игрушка – как собрать из набора. Световой маячок для туристического или пещерного похода готовый комплект только собрать .
светодиодная гирлянда https://aliexpress.ru/item/1005001308533308.html
паяем. Время надо ну 2-3 часа. Только не ремонтнику игровых приставок, он за минут 20 справится.
Припой пос-60, удобнее тоненькой проволочкой на катушке, коробочка из фанерки, канифоль. На станции ставим градусов 250-280. Если припой не плавится или долго то мало, если канифоль сильно кипит и дымит – много.
сначала ставим панельки для 2-х микросхем 74нс595. Резисторы по 510 ом 4 штуки. Хвостики от них не надо выбрасывать – пригодятся.
внимательнее – Микросхемки регистров сдвига – они правильно в панельках стоят? если не правильно их надо менять. вырез в панельке слева- если смотреть со стороны микросхемы, под ним внизу первая ножка, квадратиком помечена на плате, у микросхемы тоже ножка 1 и такой же вырез или точка. Питание нельзя путать – погорит, 8 – земля, 16 +5 вольт, посмотреть если что схему.
Дальше смотрим, что еще в комплекте – контакты разьема папа мама.
А если ардуинку не большую купили, уно а маленькая только есть – нано? можно тоже подключить но сложнее. Надо будет не только соответствие лапок смотреть и соответственно распаять, а еще и в программе возможно поменять чего. Эта платка рассчитана что ставится на разьем Arduino Uno.
По описанию надо светодиоды спаять между собой а к плате оти ставятся в разьемчики – написано разобрать линейку с круглыми разъемами и по одному поставить на плату, потом припаять. Можно для более быстрой сборки светодиоды сразу паять на плату, если получается что выводы коротковатые, удлинить их проволочкой.
у светодиода выводы различаются – плюс и минус. в обратном направлении больше 5 вольт нельзя подключать – чтобы точно убедиться где какой вывод, надо включить тестер на омы – там есть предел измерения – диодик.
Плюс помечен еще у светодиода более длинным и это не тот вывод в котором расположен кристалл внутри пластика, там видно если рассмотреть, можно взять лупу. От плюса идет тоненькая проволочка. Конечно к мощным светодиодам это не относится, эти обычные маломощные.
в тексте и на фото разночтение – анод это плюсовой и он не загнут на фото а загнутый вывод минус, в тексте наоборот. Это по схеме уточняю. короче на английский текст смотреть наоборот написано манчестер читать ливерпуль. На картинках правильно . Для проверки крайний ряд отверстий это минус и на фото надпись негативный контакт, крайний на небольном расстоянии от соседнего ряда, который все таки плюс
здеся не напутано анод это плюс
удобнее сделать вот такую макетку, чтобы получилось ровно – можно и проще, запаять на плату 16 кусочков провода без изоляции 0.6 мм – он войдет. можно и просто пинцетом загнуть, разложив над платой, должно получиться.
но можно и не заморачиваться, разложить светики над платой и загнуть просто пинцетом, а потом припаять. Кусочки обмоточного провода 0.6 мм не помешают, сантиметра по 2, припаять сеточки из светодиодов к ним. Вот и от резисторов проволочки пригодятся, если их взять то надо всего 10 см кусочек провода, поделить на 8 частей. Плюсами то есть анодами и еще раз это позитивный контакт, а негативные 4 штуки к крайнему ряду. D16 D17 D18 D19 – минусы нижнего слоя, чуть повыше, еще выше и верхнего .
Должно быть 64 светодиода, есть несколько про запас. Если загибать и паять аккуратно хватит, загибать можно не меньше чем в полусантиметре от пластика.
d16 d17 d18 d19 минусы нижнего – первого, второго третьего и верхнего ряда
ардуино надо включить еще – от розетки адаптер на 12 вольт, но лучше сделать батарею, конструкция станет переносной. (берем готовый повер банк лишь бы выдавал 5 вольт, а это если понравилось паять).
зарядка от наших фонарей налобников еще – теперь не надо 25 батареек покупать.
это на плате – просто процарапаны дорожки, но можно и так прямо на микросхеме спаять. это наоборот понижающий с 12 на 5 вольт. а у повышающего диодик – полярность по схеме другая – и к другому выводу, к первому.
программа загружается в Ардуино уно. просто вот по этому проводку с ноутбука или компьютера, кабель обычно большой – юсб. не мини. скорость порта в мониторе 57600 или 115200.
Разъемы платы ставятся на Arduino Uno. ссылку точную не дам, в том же магазине есть подходящая плата.
Распишу в 2 словах.
есть заготовка – собери сам, программа в исходнике. Эффект в двоичном виде, в табличке.
как покупать набор – дается ссылка на архив, но там только маленькое примечание что исходник надо положить в папку в библиотеках ардуино и добавить описание библиотеки. Получился косяк – набор купили 11 человек и не собирали и один написал что не может найти программу. Не внимательно проверили в магазине.
Исходник и программа к Ардуино здесь. архив зип надо распаковать в папку библиотек ардуино. там и оригинальный файл с китайского завода с библиотекой и програмкой. Потом открыть в оболочке Ардуино файлик ics4x4x4led_cube.ino . если библиотека на месте он ее найдет и при нажатии проверка – будет только предупреждение что маловато памяти. подключить плату ардуино – на ней лампочки вспыхнут, кабелем юсб-юсб большим. Запустить еще раз оболочку Ардуино, загрузить скетч – из последних – ics4x4x4led_cube.ino
посмотреть – на каком порту com11 у меня – эта плата. Порт меняется, это не настоящий ком порт как на старых компьютерах а виртуальный. (драйвер ch340 установлен, диодик и маленький стабилизатор lm1117 на платке ардуино живой? Тип платы совпадает? Выбрать именно arduino genuino uno. для других конструкций может быть nano duemilanove. скорость 115200). Нажать Запись и программа должна прошиться. Что вся память занята эффектом может быть предупреждение.
вся папка ардуино есть здесь тоже во вложениях но ее лучше закачать где нибудь еще – например установить с сайта или из приложения в магазине 10 винды. Если какой библиотеки не хватает – найти ее в поиске и скачать, распаковать в отдельную папку в библиотеках – посмотреть сначала где другие и как записаны.
Спросите на форуме Ардуино где программа – отправят скорее всего ко мне, потому что библиотека готовая здесь.
А есть немецкий сайт – тоже радиолюбитель, вот он и другую программу написал, универсальную.
еще несколько эффектов
https://github.com/MajicDesigns/MD_Cubo
Напишите в Китай на фабрику- может у них вариант программы поновее есть? В программе 2 эффекта только – вращение по кругу и заполнение вперед-назад, все 4 слоя сразу – змейка.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 |
/************************************************************************************ This is a example of ICStation Light cube All materials are provided by www.ICStation.com. Should you have any unclear or need any other related material, please feel free to contact us via http://www.icstation.com/contact_us.php. www.ICStation.com ICStation is based in Shenzhen, China, a city which is rich in electronics. With such manufacture power, we not only provide worldwide with all kinds of IC products, such as electronic devices and components, development modules, development boards, consumptive materials and so on, but also we are taking part in the designing and developing digital and analog circuit design which based on microcontroller platforms. Arduino PIN used: PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7(Other pins can be used alone) **************************************************************************************/ #include <ICStation_Light_cube.h> ICStation_Light_cube My_Light_cube; // the setup routine runs once when you press reset: void setup() { //initial other } // the loop routine runs over and over again forever: void loop() { My_Light_cube.run_example(); } // library begin (2 files cpp h) Correct library description & unpack to library folder // ICStation_Light_cube.cpp //************************************************************************************ All materials are provided by www.ICStation.com. Should you have any unclear or need any other related material, please feel free to contact us via http://www.icstation.com/contact_us.php. www.ICStation.com ICStation is based in Shenzhen, China, a city which is rich in electronics. With such manufacture power, we not only provide worldwide with all kinds of IC products, such as electronic devices and components, development modules, development boards, consumptive materials and so on, but also we are taking part in the designing and developing digital and analog circuit design which based on microcontroller platforms. **************************************************************************************/ #include "ICStation_Light_cube.h" int ICStation_Light_cube::LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; int ICStation_Light_cube::PlanePin[4] = {16, 17, 18, 19}; unsigned char ICStation_Light_cube::PatternTable[]= { B0001,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,10, B0011,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B0111,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B1111,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B1111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B1111,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B0111,B0111,B0111,B0111,B1000,B1000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10, B0011,B0011,B0011,B0011,B0100,B0100,B0100,B0100,B1000,B1000,B1000,B1000,B0000,B0000,B0000,B0000,10, B0001,B0001,B0001,B0001,B0010,B0010,B0010,B0010,B0100,B0100,B0100,B0100,B1000,B1000,B1000,B1000,10, B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0010,B0010,B0010,B0010,B0100,B0100,B0100,B0100,10, B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0010,B0010,B0010,B0010,10, B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,10, B0010,B0001,B0001,B0001,B0010,B0001,B0001,B0001,B0010,B0001,B0001,B0001,B0010,B0001,B0001,B0001,10, B0100,B0010,B0001,B0001,B0100,B0010,B0001,B0001,B0100,B0010,B0001,B0001,B0100,B0010,B0001,B0001,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,10, B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,10, B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,10, B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,10, B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,10, B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,10, B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,10, B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,10, B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,10, B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,10, B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0000,B0010,B0100,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0000,B0000,B0000,B0000,B0000,B0010,B0100,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10, B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0100,B0000,B0001,B0010,B0100,B1000,10, B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0100,B0000,10, }; unsigned int ICStation_Light_cube::HC_595_Temp = 0; int ICStation_Light_cube::clockPin=0; //SH_CP of 74HC595 int ICStation_Light_cube::latchPin=1; //ST_CP of 74HC595 int ICStation_Light_cube::dataPin=3; //DS of 74HC595 int ICStation_Light_cube::HC_595_E = 2; int ICStation_Light_cube::LED_Pin16= 4; int ICStation_Light_cube::LED_Pin17= 5; int ICStation_Light_cube::LED_Pin18= 6; int ICStation_Light_cube::LED_Pin19= 7; #define ICStation_delay_MAX 10000 // 特效时间设置 int ICStation_Light_cube::ICStation_delay =ICStation_delay_MAX; int ICStation_Light_cube::PatternIdx =0;// indexes which byte from pattern buffer int ICStation_Light_cube::PatternMax = sizeof(PatternTable); ICStation_Light_cube:: ICStation_Light_cube() { pinMode( latchPin, OUTPUT ); pinMode( clockPin, OUTPUT ); pinMode( dataPin, OUTPUT ); pinMode( HC_595_E, OUTPUT ); pinMode( LED_Pin16, OUTPUT ); pinMode( LED_Pin17, OUTPUT ); pinMode( LED_Pin18, OUTPUT ); pinMode( LED_Pin19, OUTPUT ); digitalWrite(LED_Pin16,LOW); digitalWrite(LED_Pin17,LOW); digitalWrite(LED_Pin18,LOW); digitalWrite(LED_Pin19,LOW); } ICStation_Light_cube:: ~ICStation_Light_cube() { } //transfer the data to LED void ICStation_Light_cube::my_display(unsigned char *planeBuf) { int i = 0, j = 0; for(j = 0; j < 16; j++) { dight_write_LED_pin(LEDPin[j], LOW); } for(j = 0; j < 16; j++) { for(i = 0; i < 4; i++) { if(planeBuf[j] >> i & B0001) { dight_write_LED_pin(LEDPin[4 * (j % 4) + i], HIGH); } } } } void ICStation_Light_cube::write_74HC595(void){ digitalWrite(latchPin, LOW); digitalWrite(HC_595_E, HIGH); shiftOut(dataPin, clockPin, LSBFIRST, HC_595_Temp); shiftOut(dataPin, clockPin, LSBFIRST, (HC_595_Temp >> 8)); digitalWrite(latchPin, HIGH); digitalWrite(HC_595_E, LOW); } /******************************************************************* * parameter:1.Value:74HC595 Pin number * 2.charge: output LOW or High *function: To convert 74 hc595 are needed for the I/o output * note:for other application the Value should be lower 16 *******************************************************************/ void ICStation_Light_cube::dight_write_LED_pin( int value,int charge) { if(value > 19) return; if(charge != LOW && charge != HIGH) return; if(charge == LOW) { switch (value) { case 0: HC_595_Temp &=~_BV(15); break; case 1: HC_595_Temp &=~_BV(14); break; case 2: HC_595_Temp &=~_BV(13); break; case 3: HC_595_Temp &=~_BV(12); break; case 4: HC_595_Temp &=~_BV(11); break; case 5: HC_595_Temp &=~_BV(10); break; case 6: HC_595_Temp &=~_BV(9); break; case 7: HC_595_Temp &=~_BV(8); break; case 8: HC_595_Temp &=~_BV(7); break; case 9: HC_595_Temp &=~_BV(6); break; case 10: HC_595_Temp &=~_BV(5); break; case 11: HC_595_Temp &=~_BV(4); break; case 12: HC_595_Temp &=~_BV(3); break; case 13: HC_595_Temp &=~_BV(2); break; case 14: HC_595_Temp &=~_BV(1); break; case 15: HC_595_Temp &=~_BV(0); break; case 16: digitalWrite(LED_Pin16,LOW); break; case 17: digitalWrite(LED_Pin17,LOW); break; } } else { switch (value) { case 0: HC_595_Temp |=_BV(15); break; case 1: HC_595_Temp |=_BV(14); break; case 2: HC_595_Temp |=_BV(13); break; case 3: HC_595_Temp |=_BV(12); break; case 4: HC_595_Temp |=_BV(11); break; case 5: HC_595_Temp |=_BV(10); break; case 6: HC_595_Temp |=_BV(9); break; case 7: HC_595_Temp |=_BV(8); break; case 8: HC_595_Temp |=_BV(7); break; case 9: HC_595_Temp |=_BV(6); break; case 10: HC_595_Temp |=_BV(5); break; case 11: HC_595_Temp |=_BV(4); break; case 12: HC_595_Temp |=_BV(3); break; case 13: HC_595_Temp |=_BV(2); break; case 14: HC_595_Temp |=_BV(1); break; case 15: HC_595_Temp |=_BV(0); break; case 16: digitalWrite(LED_Pin16,HIGH); break; case 17: digitalWrite(LED_Pin17,HIGH); break; } } write_74HC595(); } void ICStation_Light_cube::run_example(void) { unsigned char PatternBuf[16]; // saves current pattern from PatternTable // loop over entries in pattern table – while PatternIdx < PatternMax int i = 0; if(ICStation_delay == ICStation_delay_MAX) { ICStation_delay = 0; for(i = 0; i < 16; i++) { PatternBuf[i] = PatternTable[PatternIdx++]; } my_display(PatternBuf); PatternIdx++; if(PatternIdx >= PatternMax) PatternIdx =0; } else{ ++ICStation_delay; } } //************************************************************************************ //ICStation_Light_cube.h /************************************************************************************ All materials are provided by www.ICStation.com. Should you have any unclear or need any other related material, please feel free to contact us via http://www.icstation.com/contact_us.php. www.ICStation.com ICStation is based in Shenzhen, China, a city which is rich in electronics. With such manufacture power, we not only provide worldwide with all kinds of IC products, such as electronic devices and components, development modules, development boards, consumptive materials and so on, but also we are taking part in the designing and developing digital and analog circuit design which based on microcontroller platforms. **************************************************************************************/ #ifndef ICSTATION_LIGHT_CUBE_H #define ICSTATION_LIGHT_CUBE_H #if (ARDUINO >= 100) #include <Arduino.h> #else #include <WProgram.h> #include <pins_arduino.h> #endif #ifndef _BV #define _BV #define _BV(a) (0x0001 << (a)) #endif class ICStation_Light_cube { public: // Constructor: number of LEDs, pin number, LED type ICStation_Light_cube(); ~ICStation_Light_cube(); void my_display(unsigned char *planeBuf); void dight_write_LED_pin( int value,int charge); //write data to 74HC5595 void run_example(void); private: static int LEDPin[]; static int PlanePin[4]; static unsigned char PatternTable[]; static int clockPin; //SH_CP of 74HC595 static int latchPin; //ST_CP of 74HC595 static int dataPin; //DS of 74HC595 static int HC_595_E; //74HC595 PIN E static int LED_Pin16; static int LED_Pin17; static int LED_Pin18; static int LED_Pin19; static unsigned int HC_595_Temp; //74HC595write_temp static int ICStation_delay; static int PatternIdx ;// indexes which byte from pattern buffer static int PatternMax; void write_74HC595(void); //write data to 74HC5595 }; |
еще 2 эффекта, четыре даже – добавлено немецким радиолюбителем. Змейка, взрывающийся кубик, спиралька, прыгающий объект.
по шагам (начинашкам) к ноутбуку соединить – мини кабель не подошел, поскольку это Уно надо обычный Принтерный кабель ЮСБ 2 с большими разьемами. Плату Уно заказал на Али, она работает без драйвера ch340 но чип там не понятно какой, скорость 115200 нормально тянет. Она только чуть дороже чем duemilanova nano ну потому что большая. Можно и к Нано подпаять проводки- посмотреть по сигналам. Но эта большая платка удобнее – на ней устройство ставится на стол. Напрашивается закрыть конструкцию стеклянной колбой – как лампочка будет, если и делать корпус лучше из оргстекла, акрилик. Если компьютер домашний – большой системник, советую подключать на Задние разьемы юсб они обычно быстрее (и более исправные).
Перед программированием (установить arduino ide и закачать все библиотеки которых не хватает, распаковать библиотеку из вложений в папку arduino libraries) – подсоединить плату лучше Не соединяя кубик на разьем, закрыть монитор порта, выбрать правильный порт – у меня com11 com12 -подсоединены две разные платы, выбрать тип платы – Arduino uno . нажимать проверку и запись в плату , закрыть перед этим все остальные программы, особенно сильно использующие процессор – запустить Диспетчер задач и посмотреть.
Если какая библиотека не установлена – закачать ее и установить, можно или из программы или распаковать в папку библиотек. Все сообщения по английски пишет. Может потребуется кнопку Программирование нажимать несколько – 2 – 3 раза, закрыв перед этим Монитор порта обязательно и проверив еще раз настройки. Плата то надеюсь с загрузчиком – маленькой программой которая и загружает скетчи, если нет загрузчика то его можно записать – наверняка потребуется программатор и помощь друга или подруги. Если плата с Али то обычно с загрузчиком идет.
Если запрограммировалось – ответ в текстовом окошке done – програмка запускается и все должно работать (не хочет – кубик то соединили ? монитор порта открыть – еще раз посмотрев какой порт.) Если что не так – напряжение посмотреть тестером, на плате Ардуино есть светодиоды, они часто моргают при программировании. Проверить еще раз светодиоды – плюсы и минусы. Микросхемки регистров сдвига – они правильно в панельках стоят? если не правильно их надо менять. вырез в панельке слева- если смотреть со стороны микросхемы, под ним внизу первая ножка, квадратиком помечена на плате, у микросхемы тоже ножка 1 и такой же вырез или точка. Питание нельзя путать – погорит, 8 – земля, 16 +5 вольт, посмотреть если что схему.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 |
#include <Arduino.h> #define HC595_PIN_CLOCK 0 // SH_CP of 74HC595 #define HC595_PIN_LATCH 1 // ST_CP of 74HC595 #define HC595_PIN_DATA 3 // DS of 74HC595 #define HC595_PIN_ENABLE 2 // Not OE of 74HC595 #define PIN_LED_16 4 #define PIN_LED_17 5 #define PIN_LED_18 6 #define PIN_LED_19 7 int LED_Plane[] = {PIN_LED_16, PIN_LED_17, PIN_LED_18, PIN_LED_19}; /* Each line (8 bytes) is an entire cube, with two consecutive bytes per plane of LEDS, and 16 LEDS per plane. LEDs are encoded in the following order: Lowest plane byte 1, lowest plane byte 2, second lowerst plane 1, then 2, second from top plane 1, then 2, highest plane 1, highest plane 2. Each plane is encoded looking at the Arduino oriented with the USB/power designated by 'south' by started 'north west' as follows: D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 (USB) (Power) With D16 being the lowest plane, through to D19 being the highest plane Of course, if you wire the planes up differently, that is up to you! Each two bytes of the pattern are therefore: B00000000, B00000000 -> D0-7, D8-15 with D0 = msb of the first value, D7 being the lsb of the first value, and D8 = msb of the second value, D15 being the lsb of the second value. So the entire pattern is: B10010000,B00001001,B00000000,B00000000,B00000000,B00000000,B10010000,B00001001, | | | || | | | || | | | |\ D15 bottom plane | | | |\ D15 top plane | | | \ D14 bottom plane | | | \ D14 top plane | | \ D8 bottom plane | | \ D8 top plane | \ D7 bottom plane | \ D7 top plane \ D0 bottom plane \ D0 top plane */ // Comment following in or out to switch patterns in or out #define SWAP 1 #define SNAKE 1 #define BURST 1 #define SPIRAL 1 #define ALT 1 unsigned char pattern[] = { #ifdef SWAP B10010000,B00001001,B00000000,B00000000,B00000000,B00000000,B10010000,B00001001, B00000000,B00000000,B10010000,B00001001,B10010000,B00001001,B00000000,B00000000, B00000000,B00000000,B01100000,B00000110,B01100000,B00000110,B00000000,B00000000, B01100000,B00000110,B00000000,B00000000,B00000000,B00000000,B01100000,B00000110, B00001001,B10010000,B00000000,B00000000,B00000000,B00000000,B00001001,B10010000, B00000000,B00000000,B00001001,B10010000,B00001001,B10010000,B00000000,B00000000, B00000000,B00000000,B00000110,B01100000,B00000110,B01100000,B00000000,B00000000, B00000110,B01100000,B00000000,B00000000,B00000000,B00000000,B00000110,B01100000, #endif #ifdef SNAKE B11001100,B00000000,B11001100,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B11001100,B00000000,B11001100,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B11001100,B00000000,B11001100,B00000000, B00000000,B00000000,B00000000,B00000000,B00001100,B11000000,B00001100,B11000000, B00000000,B00000000,B00000000,B00000000,B00000000,B11001100,B00000000,B11001100, B00000000,B00000000,B00000000,B00000000,B00000000,B01100110,B00000000,B01100110, B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B00000000,B00110011, B00000000,B00000000,B00000000,B00110011,B00000000,B00110011,B00000000,B00000000, B00000000,B00110011,B00000000,B00110011,B00000000,B00000000,B00000000,B00000000, B00000011,B00110000,B00000011,B00110000,B00000000,B00000000,B00000000,B00000000, B00110011,B00000000,B00110011,B00000000,B00000000,B00000000,B00000000,B00000000, B01100110,B00000000,B01100110,B00000000,B00000000,B00000000,B00000000,B00000000, #endif #ifdef BURST B00000000,B00000000,B00000110,B01100000,B00000110,B01100000,B00000000,B00000000, B00000110,B01100000,B01101001,B10010110,B01101001,B10010110,B00000110,B01100000, B01101001,B10010110,B10010000,B00001001,B10010000,B00001001,B01101001,B10010110, B10010000,B00001001,B00000000,B00000000,B00000000,B00000000,B10010000,B00001001, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, #endif #ifdef SPIRAL B11001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B01100110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00110011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000011,B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00110011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B01100110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B11001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00001100,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B11001100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B11001100,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B01100110,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00110011,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000011,B00110000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00110011,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B01100110,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B11001100,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00001100,B11000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B11001100,B00000000,B00000000,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B11001100,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B01100110,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00110011,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000011,B00110000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B01100110,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B11001100,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00001100,B11000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B11001100,B00000000,B00000000,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11001100,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100110,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110011,B00000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00110000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00110011, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01100110, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11001100, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001100,B11000000, B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11001100,B00000000, #endif #ifdef ALT B11111001,B10011111,B10010000,B00001001,B10010000,B00001001,B11111001,B10011111, B00000110,B01100000,B01101001,B10010110,B01101001,B10010110,B00000110,B01100000, B00000000,B00000000,B00000110,B01100000,B00000110,B01100000,B00000000,B00000000, B00000110,B01100000,B01101001,B10010110,B01101001,B10010110,B00000110,B01100000, #endif }; int patternNumber=0; int numPatterns=sizeof(pattern)/8; int tickCount=0; int tickCountMax=50; // How many times to loop before changing the pattern unsigned int currentPattern[4]; void setup() { pinMode(HC595_PIN_LATCH, OUTPUT); pinMode(HC595_PIN_CLOCK, OUTPUT); pinMode(HC595_PIN_DATA, OUTPUT); pinMode(HC595_PIN_ENABLE, OUTPUT); pinMode(PIN_LED_16, OUTPUT); pinMode(PIN_LED_17, OUTPUT); pinMode(PIN_LED_18, OUTPUT); pinMode(PIN_LED_19, OUTPUT); digitalWrite(PIN_LED_16, HIGH); digitalWrite(PIN_LED_17, HIGH); digitalWrite(PIN_LED_18, HIGH); digitalWrite(PIN_LED_19, HIGH); // Enable Not OE (negative logic) // digitalWrite(HC595_PIN_ENABLE, LOW); patternNumber = 0; tickCount = tickCountMax; } /* Protocol for sending the data to the hc595 is as follows: (see: http://www.arduino.cc/en/Tutorial/ShiftOut) "when the clock pin goes from low to high, the shift register reads the state of the data pin ... when the latch pin goes from low to high the sent data gets moved from the shift registers ... to the output pins" As we have two HC595s chained together, we use a 16 bit input value */ void write_74HC595 (unsigned int hc595value) { digitalWrite(HC595_PIN_LATCH, LOW); // ensures LEDs don't light whilst changing values // digitalWrite(HC595_PIN_ENABLE, HIGH); // OE is negative logic // Shift each 8 bit value in sequence - the two chained HC595s automatically grab // the right bits - the first 8 to the first chip, second 8 to the second chip shiftOut(HC595_PIN_DATA, HC595_PIN_CLOCK, LSBFIRST, hc595value); shiftOut(HC595_PIN_DATA, HC595_PIN_CLOCK, LSBFIRST, (hc595value >> 8)); digitalWrite(HC595_PIN_LATCH, HIGH); // data transferred from shift register to outputs when latch goes LOW->HIGH // digitalWrite(HC595_PIN_ENABLE, LOW); // re-enable (negative logic again) } /* Inputs: Array of 4 integers - one for each plane */ void display (unsigned int *pPattern) { int i; for (i=0; i<4; i++) { int j; for (j=0; j<1000; j++) { // Slow this down so that there is time for the LEDS to light // Experimentation shows that 200+ gives brighter LEDs // NB: Do it this way so an empty loop isn't optimised out if (j==0) { digitalWrite(LED_Plane[0], HIGH); digitalWrite(LED_Plane[1], HIGH); digitalWrite(LED_Plane[2], HIGH); digitalWrite(LED_Plane[3], HIGH); write_74HC595 (pPattern[i]); digitalWrite(LED_Plane[i], LOW); } } } } void displayPattern() { int i; // only update it every tick otherwise just display as is tickCount--; if (tickCount <= 0) { tickCount = tickCountMax; for (i=0; i<4; i++) { currentPattern[i] = pattern[i*2 + patternNumber*8] * 256 + pattern[i*2 + 1 + patternNumber*8]; } patternNumber++; if (patternNumber >= numPatterns) { patternNumber = 0; } } display(¤tPattern[0]); } void loop() { displayPattern(); } |
https://m.facebook.com/story.php?story_fbid=3129927773958964&id=100008253161785&sfnsn=scwspmo
что надо на Новый год – гирлянду , да и этот кубик пойдет. Вот и в 2 раза (четыре!) больше –
а это девченкам, я с таким не справлюсь – кубик 8 на 8 на 8 , если посчитать в десятичной системе то 512 штук паять.
5 лучших новогодних самоделок – идеи для нового года – поход в Домодедовские пещеры – прогулка с детьми – хороший мощный фонарь – сделай сам – для чего нужен паяльник – игровой набор для ребенка 12 лет – налобные фонарики – светодиодный куб красивая игрушка – самодельная литиевая батарея повер банк