Мазмұны:
- 1 -қадам: NeoPixel сақинасын дайындаңыз
- 2 -қадам: Жарық диодтарының жолақтарын кесіңіз
- 3 -қадам: жарықдиодты дәнекерлеу
- 4 -қадам: Артқы жағын дайындау
- 5 -қадам: Микрофон мен Arduino сымын қосу
- 6 -қадам: Arduino бағдарламалау
- 7 -қадам: түстерді, жарықтық пен сенсорлық табалдырықты өзгерту
- 8 -қадам: Схеманы тұрақты ету
- 9 -қадам: Сурет жасаңыз
- 10 -қадам: оны біріктіру
- 11 -қадам: қателіктерден сабақ алу
Бейне: Интерактивті одуванчика: 11 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл жоба одуванчиктің интерактивті суретін жасауды көрсетеді. Ол жапырақтары үшін жарық диодтары бар сары гүлден басталады, содан кейін ақ одуванчикаға айналады, оны үрлеу үшін оны үрлеуге болады.
Ол Ци Цзыдің әдемі өнер туындысына негізделген, оның суреті Джесси Томпсон мен Захори Бертаның бір гүл дизайнымен шабыттандырылған. Мен матадан мата жасадым және оны гобелен құрсауына жасадым, Англияның Девон қаласындағы Tech and Textiles өндірушілер кеңістігінің қабырғасында тігуді Ардуиномен біріктіретін жаңадан бастаушылардың жобасы ретінде.
Ци Цзы жеңіл сурет салған бейне
Джесси Томпсон мен Захори Бертаның жалғыз гүл дизайнының бейнесі
Қолданыстағы екі жобаның да коды бар, мен оны жасау оңай деп ойладым, бірақ нұсқаулар аз болды және жұмыс істейтін әдісті таппас бұрын бірнеше рет әрекет жасады. Міне, дизайн мен элементтерді қосатын ремикске арналған толық нұсқаулар мен уақытты үнемдеу бойынша кеңестер.
Мен үшін не істемегені туралы мәліметтер - бұл жолды таңдағанымды қызықтыратындар үшін.
Ци Цзы жеңіл сурет салуға арналған код
Джесси Томпсон мен Захори Бертаның кішкентай гүлдер суреттерінің коды
Материалдар
- Arduino UNO
- 12 неопиксельді адафрут сақинасы
- 11 RGB жарықдиодты 5В жолағы
- Дыбыстық микрофон сенсоры
- Jumper Wires
- USB А қосылымы бар 5В қайта зарядталатын батарея
- Принтер кабелі (USB A - B кабелі)
- Желім нүктелері немесе ыстық желім
- A4 картасы
- 30 см х 30 см кремді мақта мата, мысалы, ескі жастық қап
- Жасыл матадан жасалған бояу
- Қоңыр мақта жіп
- 70см 50см гофр картон, мысалы пицца қораптары
- Маска таспасы
- Суретті жақтау үшін 9 дюймдік кесте ілмегі
- 9 өздігінен жабысатын велкро қойындылары
Құралдар
- Arduino IDE бар компьютер жүктелді
- Дәнекерлеуіш пен қорғасынсыз дәнекер
- Тізбекті тексеруге арналған тақта
- Сымды тазартқыш/кескіш
- Тігін инесі
- Қалам
- Қайшы
1 -қадам: NeoPixel сақинасын дайындаңыз
NeoPixel сақинасының артындағы қуатқа, жерге және деректер алаңына әр түрлі түсті сымдарды дәнекерлеңіз.
Егер сізде сақинаның басқа нұсқасы болса, онда сіздің сымдар менікі суретке сәйкес келмеуі мүмкін.
Қандай сымдар кіріс және шығыс, сонымен қатар оң, деректер мен жерге арналғанын белгілеңіз, себебі олар үшін белгілер сақинаның төменгі жағында орналасқан және сақина тұрған кезде көрінбейді.
2 -қадам: Жарық диодтарының жолақтарын кесіңіз
RGB светодиодтар жолағынан 11 жеке светодиодты кесіңіз, ортасында сызықтың екі жағына дәнекер жастықшаларын қалдыру үшін мұқият болыңыз. Әр төсемнің жоғарғы жағына дәнекерленген бөртпені салыңыз.
3 -қадам: жарықдиодты дәнекерлеу
Картаның ортасында микрофонға сәйкес келетін тесік жасаңыз. Желім нүктелерді қолдана отырып, нео пиксельдер мен жеке жарықдиодты сақинаны көрсетілгендей етіп бекітіңіз, светодиодтардағы барлық көрсеткілер бір -біріне тізбектелген кезде дәл осылай орналасатынын тексеріңіз.
Шығу сымдарын сақинадан бірінші жеке светодиодқа дәнекерлеңіз, екі светодиодтағы бірдей жастықшаларға оң, жер және деректер сымдарын сәйкестендіріңіз.
Светодиодтарды біріктірудің ең жылдам және қарапайым әдісі - бұл секіргіш сымды бөлек мыс жіптерге бөлу. Жарық диодтарындағы дәнекерленген жастықшалардың әрқайсысын келесіге байланыстыру үшін бір бұрымды бекітіңіз, бұл оң, деректер мен жерге сәйкес келеді. Ыстық дәнекерлеу үтігіне тез қол тигізу жеткілікті, себебі жастықшалар алдыңғы қадамда алдын ала дәнекерленген. Бұл кезеңде сымдарды кесудің орнына, оларды екінші жағындағы дәнекерленген жастықтарға жету үшін оларды жарық диодты жоғарғы жағына апарыңыз. Сымдардың бір -біріне өтпейтініне немесе жанаспайтынына көз жеткізіп, сол төсемдерге дәнекерлеп, соңғы жарықдиодты кіріс жағына қарай жалғастырыңыз.
Соңғы светодиодтың шығыс жағына сым қоспаңыз. Сізге таныс болуы мүмкін кейбір светодиодтардан айырмашылығы, сіз жерге тұйықталу мен оң желілерді қосқанда, жерге қайта қосылатын дөңгелек тізбекті аяқтаудың қажеті жоқ. Светодиодтардың жоғарғы жағынан өтетін барлық сымдарды кесіңіз, осылайша олардың арасында тек сымдар қосылады.
Кеңес: Дөңгелек бұрыштарда сымдардың жанасуын болдырмау үшін, олардың әрқайсысын бұрын шығарылған пластикалық оқшаулағыштың кішкене жолағына салыңыз.
4 -қадам: Артқы жағын дайындау
Ақ картаның кіріс сымдары үшін тағы бір тесік жасап, оларды өткізіп жіберіңіз.
Гобелен құрсауының екі сақинасын ажыратыңыз. Ең кішкене сақинаның сыртын гофр картонының 5 бөлігіне дөңгелектеп сызыңыз. Сақиналар жасау үшін шеттерінен шамамен 2 см қашықтықта 3 шеңбердің ортасында тесіктерді кесіңіз және олардың әрқайсысында 5 мм тесік жасаңыз. Сақиналарды бір -бірінің үстіне жабыстырып, тесіктерді бекітіп, картаның қалған шеңберлерінің біріне жабыстырыңыз.
5 -қадам: Микрофон мен Arduino сымын қосу
Көрсетілгендей Arduino микрофон сенсоры мен жарықдиодты сақинаны жалғаңыз. Мен TinkerCad -ты микрофонның суреті жоқ схеманы құру үшін қолдандым, сондықтан мен сол түйреуіштерді қолданатын және модельдеуде дәл осылай жұмыс істейтін басқа сенсорды алмастырдым.
Модельдеуді көру үшін https://www.tinkercad.com/things/5cgI2wluA0c сайтына өтіңіз. Сенсорға бекітілген шеңберді микрофонға үрлеуді модельдеу үшін белсенді аймаққа сүйреңіз. Жарықдиодты шамдар 6 -да орналасқан, сондықтан модельдеудегі соңғы жарық диод дизайнның бөлігі емес және жанбайды.
6 -қадам: Arduino бағдарламалау
Компьютерде Arduino IDE ашыңыз және жаңа эскизді іске қосыңыз нобайдағы барлық нәрсені жойыңыз және оның орнына осы кодты көшіріп қойыңыз.
// NeoPixel Ring қарапайым эскизінің көмегімен бейімделген (c) 2013 Shae Erisson // және сенсордың коды https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Arduino NeoPixels -ке қосылған ба? #6 PIN кодын анықтау // Arduino -ға қанша NeoPixels бекітілген? #define NUMPIXELS 23 // NeoPixel кітапханасын орнатқанда, біз оған қанша пиксель және сигнал жіберу үшін қандай түйреуішті қолдану керектігін айтамыз. // Ескі NeoPixel жолақтары үшін үшінші параметрді өзгерту қажет болуы мүмкін екенін ескеріңіз-мүмкін мәндер туралы қосымша ақпарат алу үшін strandtest // мысалын қараңыз. Adafruit_NeoPixel пиксельдері = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // жарты секундқа кешіктіру int sensorPin = A0; // int sensorValue = 0 сенсоры үшін кіріс түйреуішін таңдаңыз; // сенсордан келетін мәнді сақтау үшін айнымалы const int threshold = 200; // аналогтық кірісті орнатудың диапазонындағы еркін шекті деңгей () {piksel.begin (); // Бұл NeoPixel кітапханасын инициализациялайды. pixel.setBrightness (20); // Жарықтықты орнату Serial.begin (9600); } void loop () {// NeoPixels жиынтығы үшін бірінші NeoPixel - 0, екіншісі - 1, пикселдер санына дейін минус бір. // Одуванчики светодиодов // пиксель. Түс RGB мәндерін қабылдайды, 0 -ден 0 -ге дейін, 255 -ке, 255 -ке, 255 -ке дейін.setPixelColor (0, пиксель. Түс (0, 0, 0)); // Өшірулі. pixel.setPixelColor (1, пикселдер Түсі (0, 0, 0)); // Өшірулі. piksel.setPixelColor (2, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (3, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (4, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (5, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (6, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (7, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (8, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (9, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (10, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (11, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (12, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (13, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (14, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (16, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (17, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (18, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (19, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (20, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (21, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (22, пиксель. Түс (0, 0, 0)); // Өшірулі. пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кешіктіру (delayval*6); // Гүлден тұқым басына біртіндеп ауысу // пиксель. Түс RGB мәндерін қабылдайды, 0, 0, 0 -ден 255, 255, 255 пиксельге дейін.setPixelColor (0, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (1, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (2, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (3, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (4, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (5, пиксель. Түс (226, 246, 255)); // көкшіл ақ пиксельдер.setPixelColor (6, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (7, пиксель. Түс (226, 246, 255)); // көкшіл ақ пиксельдер.setPixelColor (8, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (9, пиксель. Түс (226, 246, 255)); // көкшіл ақ пиксельдер.setPixelColor (10, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (11, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (12, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (13, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (14, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (16, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (17, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (18, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (19, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (20, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (21, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (22, пиксель. Түс (0, 0, 0)); // Өшірулі. пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кешіктіру (кідіріс*6); // Тұқым басының жарық диодтары pixel.setPixelColor (0, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (1, пиксель. Түс (0, 0, 0)); // өшірілген пиксельдер.setPixelColor (2, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (3, пиксель. Түс (0, 0, 0)); // өшірілген пиксельдер.setPixelColor (4, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (5, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (6, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (7, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (8, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (9, пиксель. Түс (255, 165, 0)); // Апельсин. pixel.setPixelColor (10, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (11, пиксель. Түс (226, 246, 255)); // өшірілген пиксельдер.setPixelColor (12, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (13, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (14, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (16, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (17, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (18, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (19, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (20, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (21, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (22, пиксель. Түс (0, 0, 0)); // Өшірулі. пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кешіктіру (кідіріс*3); // Белгілі бір уақытқа кідіріс (миллисекундтарда). piksel.setPixelColor (0, пиксель. Түс (226, 246, 255)); // көкшіл ақ. pixel.setPixelColor (1, пикселдер Түсі (0, 0, 0)); // өшірілген пиксельдер.setPixelColor (2, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (3, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (4, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (5, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (6, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (7, пиксель. Түс (255, 165, 0)); // Апельсин. piksel.setPixelColor (8, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (9, пиксель. Түс (226, 246, 255)); // көкшіл ақ. pixel.setPixelColor (10, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (11, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (12, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (13, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (14, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (16, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (17, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (18, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (19, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (20, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (21, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (22, пиксель. Түс (0, 0, 0)); // Өшірулі. пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кешіктіру (кідіріс*3); // Белгілі бір уақытқа кідіріс (миллисекундтарда). piksel.setPixelColor (0, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (1, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (2, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (3, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (4, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (5, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (6, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (7, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (8, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (9, пиксель. Түс (226, 246, 255)); // көкшіл ақ. pixel.setPixelColor (10, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (11, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (12, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (13, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (14, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (16, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (17, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (18, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (19, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (20, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (21, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (22, пиксель. Түс (0, 0, 0)); // Өшірулі. пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кідіріс (кідіріс); // Белгілі бір уақытқа кідіріс (миллисекундтарда). // Сенсордың мәнін оқыңыз және оны тізбектей мониторда көрсетіңіз sensorValue = analogRead (sensorPin); Serial.println (sensorValue); кешіктіру (250); // Сенсордың мәні шекті мәннен аз болса да, сенсордың мәнін тексеріп, оны сериялық мониторда басып шығарыңыз. Мән табалдырықтан жоғары болғанда, эскиз жалғастыра алады (sensorValue <threshold) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); кешіктіру (250); } // Алғашқы жел шамдары пиксель.setPixelColor (0, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (1, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (2, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (3, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (4, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (5, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (6, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (7, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (8, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (9, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (10, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (11, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (12, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (13, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (14, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (15, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (16, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (17, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (18, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (19, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (20, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (21, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (22, пиксель. Түс (0, 0, 0)); // Өшірулі. пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кідіріс (кідіріс); // Белгілі бір уақытқа кідіріс (миллисекундтарда). // Екінші желдің жарық диодтары pixel.setPixelColor (0, пиксель. Түс (0, 0, 0)); // Өшірулі. pixel.setPixelColor (1, пикселдер Түсі (0, 0, 0)); // Өшірулі. piksel.setPixelColor (2, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (3, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (4, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (5, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (6, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (7, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (8, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (9, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (10, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (11, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (12, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (13, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (14, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (15, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (16, пиксель. Түс (0, 0, 0)); // Өшірулі. piksel.setPixelColor (17, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (18, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (19, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (20, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (21, пиксель. Түс (226, 246, 255)); // көкшіл ақ. piksel.setPixelColor (22, пиксель. Түс (226, 246, 255)); // көкшіл ақ.пиксель.шоу (); // Бұл жаңартылған пиксель түсін аппараттық құралға жібереді. кешіктіру (2000); // Белгілі бір уақытқа кідіріс (миллисекундтарда). }
USB принтер кабелі арқылы компьютерге Arduino қосыңыз
Құралдар> Тақтаға өтіп, Arduino/Genuino UNO тақтасын таңдаңыз
Портқа өтіп, тақтаның дұрыс USB портына қосылғанын тексеріңіз. Егер сіз сенімді болмасаңыз, Arduino -ны ажыратып, тізімнен қай порттың жоғалғанын көре аласыз. Оны қайта қосыңыз және порт қайтадан тізімге қосылады.
Аннотацияланған фотода көрсетілген Жүктеу белгішесін басу арқылы эскизді жүктеңіз. Жүктеу кезінде Arduino -да шамдар жыпылықтауы керек. Жарты жүктеуді аяқтаған кезде нео пиксель сақинасындағы жарық диодтары сары болып жанады, содан кейін ақ шамдардың толық сақинасына ауысады. Тізбекті тексеру үшін микрофонды қосыңыз. Сыртқы қабаттардағы светодиодтар өз кезегінде жанады. Жұмыс істемейтін кез келген жарықдиодты дәнекерлеуді тексеріңіз.
7 -қадам: түстерді, жарықтық пен сенсорлық табалдырықты өзгерту
Түстер
Жарық диодтарының түстері RGB (Қызыл Жасыл Көк) түс мәндері арқылы орнатылады. Егер сіз мен қолданғаннан басқа түстерді қолданғыңыз келсе, www.w3schools.com/colors/colors_rgb.asp сияқты RGB түстерінің онлайн -калькуляторын пайдаланып қажетті түстердің мәндерін таба аласыз.
Жарық диодты өшіру үшін 0, 0, 0 мәндерін қолданыңыз.
Жарықдиодты ақ түске орнату үшін 255, 255, 255 мәндерін қолданыңыз. Алдыңғы қадамдағы кодта 226, 246, 255 мәндері бар көкшіл ақ түс және 255, 165, 0 мәндері бар қызғылт түс қолданылады.
Жарықтық
Жарықдиодты шамдардың жарықтығын өзгерту үшін кодтың бос орналасу бөліміне өтіп, келесі код жолын табыңыз:
pixel.setBrightness (20); // Жарықтықты орнатыңыз
Жарықдиодты жарықтылықты өзгерту үшін жақшадағы нөмірді өңдеңіз.
Сенсорлық табалдырық
Бағдарламаны іске қосқан кезде NeoPixel сақинасының жартысы гүлді бейнелеу үшін сарыдан басталады және бірте -бірте тұқымның басын көрсету үшін ақ жарық диодтарының толық шеңберіне ауысады. Бұл кезде бағдарлама микрофон сенсорына соққанша кідіруі керек. Егер бағдарлама жалғаса берсе және жарықдиодтардың сыртқы қабаттарын сенсорды қоспай -ақ жанып тұрса, кодтың бос орындарын орнату бөліміне өтіп, төменде көрсетілген мәнді төмендетіңіз. Егер бағдарлама кідірсе, бірақ сенсорды соққанда жауап бермесе, мәнді көбейтіңіз.
const int табалдырығы = 200;
8 -қадам: Схеманы тұрақты ету
Схема жұмыс істеген кезде Arduino -ны компьютерден ажыратып, микрофон сенсорын тақтадан алыңыз. Сол тізбекті тұрақты ету үшін Arduino -дан микрофон сенсорына дәнекерленген сымдар. Микрофонды картаның тесігі арқылы артқа қарай итеріңіз. Қажет болса, тақта картаның артында жатуы үшін микрофонды 90 градусқа мұқият бүгіңіз. Батареяны Arduino -ға принтер кабелімен бекітіңіз, сонда барлық реттілік жұмыс істеуі керек.
9 -қадам: Сурет жасаңыз
Матаға микрофон қажет жерде тесік жасаңыз. Мен кішкене тесікті күйдіру үшін ыстық дәнекерлеуішті қолдандым және оны микрофон орнатылғанша қайшымен қиып алдым. Гүліңізді бояуға және матаға тігіңіз. Бояу құрғаған кезде, суретті кесте ілмегіне бекітіңіз және кішкене жиек қалдырып, артық матаны кесіңіз.
Тізбек компоненттерінің кез келгені матадан көрінетінін білу үшін, мата мен құрсауды уақытша картаның үстіне микрофонмен тесік арқылы көрсетіңіз. Қажет болса, тізбекті маска таспасының қабаттарымен жабыңыз, кейде тексеріп отырыңыз, компоненттер бұдан былай көрінбейді. Жарық диодты жарықтандырғыш таспаның қабаты арқылы көрінеді. Егер сізге одан да көп қабаттарды қосу қажет болса, 7 -қадамда көрсетілгендей кодты реттеу арқылы жарықдиодты жарықтандыруға болады.
Матаны және құрсауды бұрынғыдай картаның үстіне қойып, картаның артқы жағына қосымша матаны жабыстыру арқылы бекітіңіз.
10 -қадам: оны біріктіру
Ақ картаны гофрленген картон шеңберіне жабыстырыңыз, микрофонды қоршаңыз, бірақ Arduino мен аккумуляторлық қаптаманы емес, олар картонның шетінен сымдар арқылы өтуі керек.
Батареяға қол жеткізу үшін картонның соңғы шеңберін Velcro көмегімен бекітіңіз. Қабырғаға ілгекке ілгіңіз келетін картоннан тесік жасаңыз.
11 -қадам: қателіктерден сабақ алу
Менің бірінші талпынысым стикерлер мен мыс таспамен болды. Схемалық жапсырмалар - бұл жастықшалары бар жапсырмаларға бекітілген кішкентай жарықдиодты бет. Олар Ци Цзэдің Chibitroniks компаниясынан келеді, мен оларды мінсіз болар деп ойладым.
Мен мыс таспаны немесе күміс таспаны қолдана отырып сенімді байланыс ала алмадым, ал мен жапсырмаларға сымды дәнекерлегенде, мен тек 9В аккумулятордың көмегімен жарық беретін 3 жарықдиодты стикерлерді ала аламын. Олар мен күткендей көп жеңіл жобаларға арналмағаны белгілі болды. Мен тізбек жапсырмалары туралы веб -бетті мұқият қарағанымда, 4 шамы бар жоба басқа жарықдиодты болып шықты. Мен 12 В батареямен схемалық стикерлерді қуаттай аламын, бірақ бұл суреттің ішіне сыймайтын көлемді болар еді.
Содан кейін мен тігілетін жарықдиодты көрдім. Мен қуаты, жері мен деректер желісі бар бағдарламаланатын жарықдиодты шамдарға қарағанда, тек қуат пен жерге қосылу оңай болады деп ойладым. Бірақ бұл қосымша қуат көзі мен менде жоқ MOSFET қажет күрделі схема болып шықты. Мен тігілетін NeoPixels қолданар едім, бірақ олар қымбатырақ.
Бірнеше жалған іске қосудан кейін мен бағдарламаланатын светодиодтармен аяқталдым, олар арзан және қолдануға оңай.
Ұсынылған:
BBC Micro: бит және Scratch - интерактивті руль және жүргізуші ойыны: 5 қадам (суреттермен)
BBC Micro: бит және Scratch - интерактивті руль және көлік жүргізу ойыны: Менің осы аптадағы тапсырмаларымның бірі - біз жазған Scratch бағдарламасымен интерфейс жасау үшін BBC Micro: bit пайдалану. Мен бұл ThreadBoard тақтасын ендірілген жүйені құрудың тамаша мүмкіндігі деп ойладым! Менің сызатқа шабытым
Arduino интерактивті жарықдиодты кофе үстелі: 6 қадам (суреттермен)
Arduino интерактивті жарықдиодты кофе үстелі: Мен интерактивті кофе үстелін жасадым, ол объектінің астына шамдарды қосады, ол үстелдің үстіне қойылғанда. Тек сол объектінің астындағы светодиодтар жанады. Ол мұны жақындық сенсорларын тиімді қолдану арқылы жасайды, ал жақындық
Интерактивті жарықдиодты плитка қабырғасы (қарағанда оңай): 7 қадам (суреттермен)
Интерактивті жарықдиодты плитка қабырғасы (қарағанда оңай): Бұл жобада мен Arduino мен 3D басып шығарылған бөлшектердің көмегімен интерактивті жарықдиодты қабырға дисплейін құрдым. Бұл жобаның шабыты Nanoleaf тақтайшаларынан алынды. Мен өз нұсқамды ойлап тапқым келді, ол қол жетімді ғана емес, сонымен қатар
Интерактивті әңгіме радиосы: 6 қадам (суреттермен)
Интерактивті әңгіме радиосы: Бұл жобада біз ұқыпты радионы дауысты, интерактивті әңгімешіге айналдырамыз. Болашақ, міне келдік
Интерактивті рефлексті сөмке: 3 қадам (суреттермен)
Интерактивті рефлекторлық сөмке: Бұл нұсқаулық Arduino, LED және MK 2125 акселерометрін қолдана отырып, дәнекерлеу тәжірибесін алу кезінде икемділігі мен бокс дағдыларын жақсартқысы келетіндерге арналған. Бұл жобаның мақсаты - қолданыстағы рефлекторлық қап пен трансформаторды өзгерту