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

Вечноцветущий механический тюльпан

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

Arduino Nano R3
× 1
Микро-серводвигатель SG90
× 1
Датчик касания TTP223
× 1
латунная проволока 1 мм
× 1
2-миллиметровые латунные трубки
× 1
изолированный медный провод 0,3 мм
× 1
WS2812 5050 NeoPixel LED
× 7
Белый светодиод SMD 1206
× 30

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

Вечный цветок твоей вечной любви. Идеальный подарок любимому человеку не только на День святого Валентина. Этот механический тюльпан распускается в любой цвет от легкого прикосновения вашей руки. Его шесть лепестков медленно откроются и загорятся. Когда лепестки закрыты, они создают невероятный рассеянный свет с узорами из листьев.

Как это работает?

Но прежде чем я расскажу, как создать эту красоту, давайте кратко поговорим о том, как она работает. Тюльпан состоит из 6 лепестков с 5 белыми светодиодами SMD. Каждый лепесток соединен с одним из выходных контактов Arduino. Blossom скрывает 7 светодиодов NeoPixel RGB. С электрической точки зрения, весь цветок заземлен, а жилки на лепестках имеют положительное напряжение. Лепестки открываются толкателем, который проходит вниз по стеблю к основанию. Толкатель управляется движением небольшого сервопривода. Маленькая пластинка на боковой стороне ножки подключается к сенсорному датчику TTP223 внутри основания и образует емкостную сенсорную панель. Деревянное основание содержит серводвигатель, сенсорный IC и Arduino Nano. Давайте построим сами!

Что вам понадобится?

  • латунный стержень 1 мм.
  • Латунная трубка диаметром 2 мм с отверстием 1,2 мм.
  • Медный провод 0,3 мм с изоляцией.
  • Дерево для пьедестала.
  • Ардуино Нано
  • Датчик касания TTP223
  • Маленький сервопривод

Что вам нужно знать перед началом работы

  • Как паять латунь (отличная статья)
  • Как строить с Arduino
  • Как использовать сервоприводы
  • Как использовать светодиоды и NeoPixels

Я не сообщаю вам никаких размеров компонентов и точной формы цветка. Я считаю, что каждый цветок должен быть уникальным.

Лепестки (4ч)

Начнем с самой интересной части - лепестков цветка. Обратите внимание, что число в скобках - это время, необходимое для выполнения шага.

Первое, что вам понадобится, это шаблон для цветка. Свою я создал из гипса, залитого в форму для труб. Когда он высох, я придал ему вид цветка тюльпана. Вы также можете распечатать его на 3D-принтере, но у меня нет 3D-принтера. Штукатурка хороша тем, что ее легко обрабатывать и рисовать карандашом. Один лепесток составляет 1/4 поверхности шаблона, поэтому в конце, когда их будет 6, они будут слегка перекрывать друг друга, создавая точный вид цветка тюльпана. Рисую карандашом форму лепестка на поверхности штукатурки. Когда меня удовлетворила форма лепестка, я вырезал его на гипсе с помощью ножа, чтобы удерживать стержни на месте во время пайки.

Лепесток состоит из латунного стержня диаметром 1 мм, проходящего по всей форме. Внутри лепестка 5 белых светодиодов SMD 1206 и «прожилочная» конструкция из того же провода. Сначала создайте круговую проволоку, не торопитесь сгибать ее. Отрежьте небольшой кусок трубки и проденьте им по нижней плоской части проволоки - это будет петельный лепесток, который будет двигаться. Спаяйте концы провода вместе, убедитесь, что вы не залили трубку припоем. Он должен двигаться свободно. Завершите лепесток светодиодами и венозной структурой. Смотри, как я делаю единственный лепесток. Позор мне, это единственные кадры, на которых я делал цветок.

Теперь сделайте еще 5. Все лепестки должны быть одинаковыми . Это действительно важно. В противном случае они не будут напоминать красивую ровную форму тюльпана на конце в закрытом состоянии и даже могут застрять.

Цветение (1 ч.)

Все идет нормально? Пора спаять все лепестки вместе. Основание цветка шестиугольное - 6 лепестков. Лепестки крепятся к шестиграннику на петлях. Шестиугольник, однако, немного неправильный. У меня не получилось с обычным. Лепестки должны перекрывать друг друга, а если шестиугольник правильный, этого не должно быть. Три лепестка расположены ближе к центру (внутренние лепестки), а остальные 3 немного смещены (внешние лепестки). Для этого я создал шаблон и распечатал его на бумаге. Красная форма - это последний неправильный шестиугольник, состоящий из двух правильных шестиугольников. Припаиваем все петли (трубки) к шестиграннику. Лучи, выходящие из центра шаблона, помогут вам правильно припаять лепестки. Центр лепестка должен следовать линии луча, выходящей из центра шестиугольника. В конце, когда вы закроете лепестки, у вас будет окончательная форма цветка. Красиво, не правда ли?

Создание стержня и толкателя (1h)

Я не так делаю цветок. Сначала я закончил механизм внутри цветка, а затем добавил к нему стержень и толкатель. Это добавило много страданий в создание. Однажды мне почти захотелось выбросить его и больше не оглядываться. В следующий раз я сначала начну со стебля. Так что и вам следует.

Движение лепестков обеспечивается латунным толкателем диаметром 1 мм, свободно перемещающимся внутри латунной трубки. Лепестки соединены с толкателем через крошечный шестиугольник с небольшими петлями длиной 2 мм с каждой стороны - головкой толкателя. Шестиугольник сидит перпендикулярно на толкателе с помощью небольшой перемычки, проходящей через центр шестиугольника. Это работа часовщика.

Для создания головки толкателя я создал второй шаблон. Сначала согните проволоку, чтобы получился крошечный шестиугольник. Затем отрежьте маленькие трубочки длиной 2 мм и проденьте их по проволоке. Припаяйте провод, чтобы закончить шестиугольную форму. Еще раз убедитесь, что вы не припаиваете трубку к проводу. Припаяйте проволоку к центру шестигранника. И закончите стержень, припаяв 1-миллиметровый провод перпендикулярно центру головки толкателя. Ура! У вас есть толкатель.

Постройте стебель. Отрежьте латунную трубку до нужной длины. А теперь вторая важная часть. Стебель должен быть идеально перпендикулярен шестиугольному основанию цветка, должен быть точно в его центре, и должно быть достаточно места, чтобы головка толкателя сместилась вниз, чтобы закрыть лепестки. Сначала я припаял два провода к одному концу стержня, чтобы создать V-образное расширение. Это будут 2 из 6 проводов, соединяющих стержень с вершинами шестиугольного основания.

Итак, переверните цветок вверх дном и припаяйте V-образное расширение к 2 противоположным вершинам шестиугольного основания. Проверьте форму. Если вы поместите стержень внутрь стебля, он должен выйти из центра цветка. Не торопитесь, чтобы сделать его идеальным. Это действительно важная часть. Когда все будет в порядке, припаяйте еще 4 провода между остальными вершинами шестиугольника и вершиной стержня. Следите за тем, чтобы не припаять отверстие внутри трубки!

Механизм лепестков (6ч)

Это та часть, о которой вы пожалеете, что вообще начали делать цветок. Один раз чуть не выбросил в мусор. Но эй, я не самый терпеливый парень на свете. Вы собираетесь прибить его! В этой части меня вдохновили паровые двигатели и их штоки, поршни и маховики.

Сделайте себе испытательный стенд. Зафиксируйте цветок стеблем вверх. Проденьте толкатель через шток головкой вверх. Припаяйте короткую трубку перпендикулярно нижнему концу толкателя и создайте небольшой шатун из 1-миллиметровой латунной проволоки для соединения сервопривода и толкателя (см. Рисунок выше). Вы должны иметь возможность перемещаться толкателем вверх и вниз с помощью сервопривода. Попробуйте, подключив свой Arduino. Прежде чем вы сможете приступить к пайке шатунов между лепестками и головкой толкателя, вам необходимо настроить движение сервопривода с помощью Arduino. Напишите свой код для перемещения толкателя вверх и вниз таким образом, чтобы в крайнем верхнем положении конец головки толкателя был заподлицо с шестиугольным основанием цветка. В самом нижнем положении он находится на нижней части V-образного основания цветка.

Когда толкатель движется вверх, он толкает шатун и лепестки вниз. По мере движения вниз он тянет за собой шатуны, и лепестки закрываются.

В лепестках сейчас отсутствует одна важная деталь - лепестковая булавка. Этот шарнир заставляет лепестки двигаться. Петля находится на стержне (см. Изображение ниже), который припаян к каждому лепестку параллельно его основанию. Штифт лепестка должен находиться над поверхностью лепестка, чтобы он мог полностью открыться, как вы можете видеть на анимации. Сделайте себе такую ​​планку с петлей из трубки и припаяйте ее к первому лепестку. Для этого потребуется много экспериментировать с размером стержня и расстоянием от него до основания лепестка, чтобы шток мог полностью открывать и закрывать лепесток. Используйте метод проб и ошибок. Припаяйте стержень к подходящему месту и добавьте соединительный стержень между стержнем толкателя и лепестковым стержнем. Если толкатель находится в верхнем положении, а лепесток полностью открыт, расстояние между стержнем толкателя и лепестковым штифтом равно длине шатуна.

Теперь попробуйте двигаться с толкателем вверх и вниз, чтобы увидеть, что происходит. Если он работает нормально, без трения и лепесток можно закрывать и открывать, все готово (с первым лепестком)! Если нет, попробуйте другую длину шатуна или другое положение стержня. Чтобы закончить цветение, продублируйте ту же полосу и соединительный стержень на каждом из 5 оставшихся лепестков. 3 внешних лепестка должны быть немного ниже при раскрытии цветка, чтобы они могли должным образом перекрывать внутренние лепестки при закрытии. В конце концов, вы сможете закрыть и открыть цветок. Не паникуйте если вам не удалось добиться идеальной формы с первого раза. Это только означает, что не все лепестки совершенно одинаковы. Вероятно, потребуется много тонкой настройки, чтобы создать идеальную форму - немного другая длина шатунов и положение стержней. Не торопитесь здесь! Награда рядом.

Радужный пестик (1ч)

Если вы дошли до этого шага, вы король, и самое сложное позади. Внутри цветка я поместил 7 светодиодов NeoPixels, чтобы они светили изнутри. Для управления этими светодиодами требуется только один провод DATA, и они могут быть подключены гирляндой. Я припаял 6 штук между двумя маленькими шестиугольниками (разумеется, еще один шаблон). Нижний шестигранник - это заземляющий провод, а верхний - положительное напряжение. Припаяйте соответствующие выводы NeoPixels к этим шестигранным кольцам. Эти светодиоды расположены под углом 45 градусов, чтобы светить в стороны. Чтобы было еще лучше, поместите седьмой светодиод в центр верхнего шестиугольника. И последнее, но не менее важное:соедините провода DATA IN и OUT для создания гирляндной цепи.

Для этой конструкции потребуются два провода, идущие к пьедесталу - VCC и DATA. Земля взята из цветочной рамки. Припаяйте один тонкий изолированный медный провод 0,3 к верхнему кольцу для VCC, а второй к первому светодиоду в гирляндной цепи для DATA. Эти провода в конце будут спускаться к пьедесталу. Сделайте их как минимум в 3 раза длиннее стебля. Перед пайкой концы этих проводов необходимо освободить от прозрачной изоляции. Тепло его не разрушит. Снимите изоляцию ножом. Теперь вы можете проверить светодиоды, чтобы убедиться, что они работают. Будьте осторожны с этими медными проводами. Если случайно снять изоляцию где-нибудь еще, кроме концов, может произойти короткое замыкание!

Теперь предстоит последняя работа по пайке латуни! Поместите структуру пестика в центр цветка. Слегка отодвиньте его от шестиугольного основания цветка, чтобы оставить достаточно места для соединительных стержней лепестков. Для меня это было на 1 см выше шестиугольника цветка. Соедините все вершины латунными прутьями, чтобы получилась прочная конструкция. Цветок готов! Проверьте это сейчас, чтобы увидеть, могут ли лепестки по-прежнему двигаться свободно.

Корни (2ч)

И лепестки, и светодиоды NeoPixel нуждаются в проводах питания, чтобы светить. Вся цветочная скульптура будет землей, но есть 6 лепестков и 2 провода для NeoPixels, которые необходимо подключить к Arduino на пьедестале. Для этого тонкие медные провода толщиной 0,3 мм с прозрачной изоляцией будут намотаны вокруг трубки штока. Два провода для Neopixels уже сделаны. Припаяйте еще 6 к свободным жилкам на каждом лепестке возле петли и пропустите проволоку через структуру цветка вниз по стеблю. Убедитесь, что вы не сгибаете эти провода под острым углом, они скоро сломаются.

Теперь соберите все провода возле верхнего конца трубки штока и закрепите их стяжной лентой. Пока не затягивайте слишком сильно, пусть через него протянуты провода. Теперь аккуратно разместите все провода внутри цветка. Убедитесь, что лепестки свободно двигаются, а толкатель также не сталкивается с проводами. Сделанный? Теперь затяните стяжную ленту.

Провода теперь бесконтрольно летают вокруг штанги. Их нужно терпеливо и медленно обматывать по стеблю. Плотно и равномерно. На выполнение этого шага у меня ушло как минимум час. Когда вы окажетесь на конце стержня, прикрепите еще одну стяжную ленту, чтобы закрепить там провода, и используйте прозрачный суперклей, чтобы закрепить их на месте. Убедитесь, что трубка не закрыта толкателем!

Последний недостающий провод - это земля. Припаяйте еще один медный провод к нижнему концу стержня. У вас должно получиться 9 проводов, выходящих из цветка. Было бы разумно подключить все провода к Arduino . и проверьте, нет ли короткого замыкания и все ли светодиоды горят.

Вазон (2ч)

Я хотел, чтобы цветок вырос из искусственного вазона, который также скрывал бы всю электронику. Я использовал кусок дерева и превратил его в цилиндр высотой 4 см и диаметром 9 см. У меня нет токарного станка, поэтому я использовал циркулярную пилу, чтобы вырезать необработанную форму, а затем пресс-дрель, чтобы действовать как импровизированный токарный станок. Затем я вырезал отверстие глубиной 2,5 см и диаметром 7 см, используя ручную фрезу, чтобы установить сервопривод, Arduino Nano и микросхему сенсорного датчика. На нижней стороне цилиндра также есть небольшое отверстие, чтобы точно соответствовать USB-порту Arduino Nano, чтобы можно было подключить USB-кабель сбоку.

Если у вас есть цветочный горшок, просверлите проволокой отверстие диаметром в стебель цветка в том месте, где цветок будет расти - вероятно, в центре. Постарайтесь, чтобы он подошел к вашему цветку. Будьте осторожны с проводами. Если согнуть их под острым углом, они сломаются. В конце я также добавил большое отверстие с внутренней стороны пьедестала, чтобы освободить больше места для рычага сервопривода и шатуна.

Вы можете сделать вазон любой формы, но помните, что внутри нужно разместить всю электронику.

Сенсорная панель (1 час)

Механический тюльпан нуждается в каком-то интерактивном элементе, который позволил бы человеку заставить его цвести. Я выбрал микросхему сенсорного датчика TTP223 из своего проекта Arduinoflake. А куда поставить тачпад? Я решил добавить небольшой листик сбоку от стебля, который сделает цветок более естественным и будет действовать как емкостная сенсорная панель. При прикосновении к нему срабатывает датчик TTP223 и приказывает Arduino открыть цветок. Теперь, когда вы закончите такую ​​сложную скульптуру, это будет для вас кусок пирога. Используйте ту же технику, что и для лепестков, только опустите светодиоды. Я также создал для себя шаблон. Просверлите еще одно небольшое отверстие в пьедестале рядом с отверстием для стебля, чтобы лист удерживался на месте.

Если вы не хотите или не можете использовать емкостный сенсорный датчик, вы можете добавить на пьедестал обычную кнопку. Он будет выполнять ту же работу.

Собираем вместе (2ч)

Это последний этап сборки! Ты нервный? Снова вставьте стебель цветка в отверстие в пьедестале. Теперь это важный шаг. Дважды отмерьте, прежде чем разрезать! Раскройте цветок до полного раскрытия. И отрежьте конец стержня, выходящий из стержня, на одном уровне со стержнем. Теперь, когда вы снова закроете цветок, толкатель должен выйти из стебля. Припаяйте короткую трубку перпендикулярно толкателю. Это будет шарнир для шатуна с сервомеханизмом. Когда вы отпускаете цветок и стержень, он должен полностью открыться, потому что трубка также будет действовать как стопор.

Теперь вы можете приклеить шток к пьедесталу. Убедитесь, что конец трубки штока находится заподлицо с внутренней частью опоры, чтобы оставить как можно больше места для сервомеханизма. Я снова использовал суперклей. Убедитесь, что вы не приклеили толкатель к трубке штока. Это испортит вашу работу!

Затем приклейте листовую подушку. Перед тем, как припаять к нему медный провод, можно будет подключить контактную площадку к сенсорному датчику TTP223.

Поставьте цветок вверх дном. Будьте осторожны со скульптурой, не сломайте ее прямо сейчас! Было бы так много отходов! Сначала установите сервопривод в окончательное положение. Его рука должна быть подготовлена ​​уже на испытательном стенде. Просто найдите идеальное место, где сервопривод будет свободно перемещаться внутри пьедестала, и соедините шатун с толкателем. Чтобы закрепить сервопривод на месте, я использовал кусок листового металла и два винта. Я хотел быть гибким здесь на случай поломки сервопривода или неправильного размещения. Но если вы уверены, что можете приклеить его.

Если у вас есть модуль TTP223, припаяйте провод к листовой площадке на сенсорной панели исходного модуля TTP223 (противоположная сторона, где находятся компоненты). Вам нужно будет поцарапать защитную шелковую маску, чтобы обнажить медный слой. Приклейте сенсорный модуль.

Провода лепестков (всего их 6) подключаются к Arduino через токоограничивающие резисторы. Лепестки - это в основном светодиоды. Я использовал шесть резисторов на 200 Ом, припаянных к крошечному куску перфорированной платы. Приклейте.

И последний компонент пьедестала - это сама Arduino Nano как мозг механического тюльпана. Поместите его в отверстие в пьедестале, чтобы его можно было подключить к компьютеру, и соедините его со всеми другими компонентами:

  • провод серво данных ⭢ D9 (требуется для библиотеки Adafruit_TiCoServo)
  • Данные сенсорного датчика TTP223 ⭢ D2 (для использования прерывания)
  • Неопиксельные данные ⭢ A0 (подойдет любой выходной контакт)
  • Лепестки ⭢ D3, D4, D5, D6, D10, D11 (подойдут любые выходные контакты)
  • Цветочный заземляющий провод ⭢ GND
  • Провод Neopixel VCC ⭢ 5 В
  • Датчик касания TTP223 GND ⭢ GND
  • Датчик касания TTP223 VCC ⭢ 5 В
  • Сервопривод GND ⭢ GND
  • Сервопривод VCC ⭢ 5 В

Кодирование (1 час)

Программирование - это самая легкая часть всего. У вас уже есть код сервопривода. Теперь вам нужно только уметь управлять NeoPixels, светодиодами на лепестках и сенсорным датчиком. Взгляните на мой прилагаемый код. Он даст вам все необходимое для работы вашего цветка. Если вы использовали мою схему разводки, то можете сразу ею воспользоваться. Но не забудьте изменить значения сервопривода ОТКРЫТО и ЗАКРЫТО. Они точно будут другими.

Готово!

Не забудьте поделиться своим творением! Нравится эта статья. Также рассмотрите возможность поддержки мне, купив некоторые из моих товаров в моем магазине Tindie.

Вы можете найти меня и мои последние проекты в моей учетной записи Twitter.

Код

  • flower.ino
flower.ino Arduino
Исходный код Tulip
 #include  #include  #include "SoftPWM.h" #define NEOPIXEL_PIN A0 #define TOUCH_SENSOR_PIN 2 # define SERVO_PIN 9 // # define # SERVO_OPEN_OPEN 1750 define SERVO_SAFE_MIDDLE 1000 #define SERVO_CLOSED 775 #define RED 0 # define GREEN 1 #define BLUE 2float currentRGB [] ={0, 0, 0}; float changeRGB [] ={0, 0, 0}; byte newRGB [] ={ 1 ] ={3, 4, 5, 6, 10, 11}; Adafruit_NeoPixel пикселей =Adafruit_NeoPixel (7, NEOPIXEL_PIN, NEO_GRB + NEO_KHZ400); Adafruit_TiCoServo servo; int servoChange =1; // openint servoPosition =SERVO_SAFE_MIDDLE; void setup () {Serial.begin (115200); pixel.begin (); servo.attach (SERVO_PIN, SERVO_CLOSED, SERVO_OPEN); pinMode (TOUCH_SENSOR_PIN, INPUT); attachInterrupt (digitalPinToInterrupt (TOUCH_SENSOR_PIN), _touchISR, RISING); randomSeed (analogRead (A7)); SoftPWMBegin (); pixelUnifiedColor (pixels.Color (0, 0, 0)); //pixelsUnifiedColor(pixels.Color(255, 70, 0)); prepareCrossFade (140, 70, 0, 140); servo.write (servoPosition);} int counter =0; byte speed =15; void loop () {boolean done =true; переключатель (режим) {case MODE_BLOOM:prepareCrossFadeBloom (500); changeMode (MODE_BLOOMING); ломать; case MODE_BLOOMING:done =crossFade () &&done; done =openPetals () &&готово; done =petalsBloom (счетчик) &&готово; если (сделано) {changeMode (MODE_BLOOMED); } ломать; case MODE_FADE:// prepareCrossFade (0, 0, 0, 800); changeMode (MODE_FADING); ломать; case MODE_FADING:done =crossFade () &&done; done =closePetals () &&готово; done =petalsFade (счетчик) &&done; если (сделано) {changeMode (MODE_FADED); } ломать; case MODE_FADED:// prepareCrossFade (140, 70, 0, 140); changeMode (MODE_FALLINGASLEEP); ломать; case MODE_FALLINGASLEEP:done =crossFade () &&done; done =closePetals () &&готово; если (сделано) {changeMode (MODE_SLEEPING); } ломать; case MODE_RAINBOW:радуга (счетчик); ломать; } counter ++; задержка (скорость);} void changeMode (byte newMode) {if (mode! =newMode) {mode =newMode; счетчик =0; }} void _touchISR () {if (mode ==MODE_SLEEPING) {changeMode (MODE_BLOOM); } иначе, если (режим ==MODE_BLOOMED) {changeMode (MODE_FADE); }} // анимация лепестковboolean petalsBloom (int j) {if (j <250) {return false; // задержка} if (j> 750) {return true; } int val =(j - 250) / 2; для (int i =0; i <6; i ++) {SoftPWMSet (petalPins [i], val); } return false;} логические petalsFade (int j) {if (j> 510) {return true; } for (int i =0; i <6; i ++) {SoftPWMSet (petalPins [i], (510 - j) / 2); } return false;} // избегайте анимации prepareCrossFadeBloom (unsigned int duration) {byte color =random (0, 5); переключатель (цвет) {case 0:// белый prepareCrossFade (140, 140, 140, продолжительность); ломать; case 1:// красный prepareCrossFade (140, 5, 0, duration); ломать; case 2:// синий prepareCrossFade (30, 70, 170, duration); ломать; case 3:// розовый prepareCrossFade (140, 0, 70, duration); ломать; case 4:// оранжевый prepareCrossFade (255, 70, 0, duration); ломать; }} пустая радуга (int j) {uint16_t i; byte num =Pixels.numPixels () - 1; пикселей.setPixelColor (пикселей.numPixels () - 1, 100, 100, 100); для (я =0; я <число; я ++) {пикселей.setPixelColor (я, colorWheel (((я * 256 / число) + j) &255)); } pixel.show ();} // серво-функцияboolean openPetals () {if (servoPosition> =SERVO_OPEN) {return true; } servoPosition ++; servo.write (servoPosition); return false;} логическое closePetals () {if (servoPosition <=SERVO_CLOSED) {return true; } servoPosition -; servo.write (servoPosition); return false;} // служебная функцияvoid pixelsUnifiedColor (uint32_t color) {for (unsigned int i =0; i  0 &¤tRGB [i]  newRGB [i]) {currentRGB [i] =currentRGB [i] + changeRGB [i]; } еще {currentRGB [i] =newRGB [i]; }} pixelUnifiedColor (pixels.Color (currentRGB [КРАСНЫЙ], currentRGB [ЗЕЛЕНЫЙ], currentRGB [СИНИЙ])); / * Serial.print (currentRGB [RED]); Serial.print (""); Serial.print (currentRGB [ЗЕЛЕНЫЙ]); Serial.print (""); Serial.print (currentRGB [СИНИЙ]); Serial.println (); * / return false;} uint32_t colorWheel (byte wheelPos) {// Введите значение от 0 до 255, чтобы получить значение цвета. // The colours are a transition r - g - b - back to r. wheelPos =255 - wheelPos; if (wheelPos <85) { return pixels.Color(255 - wheelPos * 3, 0, wheelPos * 3); } if (wheelPos <170) { wheelPos -=85; return pixels.Color(0, wheelPos * 3, 255 - wheelPos * 3); } wheelPos -=170; return pixels.Color(wheelPos * 3, 255 - wheelPos * 3, 0);}

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

  1. Латунь
  2. Портативное емкостное сенсорное пианино
  3. Что такое механическая связь?
  4. Как производить прецизионные механические компоненты
  5. Зачем нужен слесарь-механик?
  6. Введение в механический пресс
  7. Что такое механический пресс?
  8. Введение в механический подшипник
  9. Краткое руководство по механическому штамповочному прессу
  10. Понимание механического подшипника