Съдържание:
- Стъпка 1: Съберете материали
- Стъпка 2: Създаване на вериги
- Стъпка 3: Проектиране на ръкавицата
- Стъпка 4: Запояване
- Стъпка 5: Кодиране
- Стъпка 6: Промени
Видео: Ритъмна ръка: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Тази кибер ръкавица е за правилното движение в точния момент.
Светлините преминават от ръката (лакътя) към ръката ви и когато светлините пристигнат в ръката ви, трябва да натиснете пръстите си върху мини фотоклетката.
Ако натиснете ръката си върху мини фотоклетката в подходящия момент, светодиодите стават зелени. Ако не, светодиодите стават червени.
Стъпка 1: Съберете материали
- Ръкавица
- Плат за удължаване на ръкавицата
- WS2812B LED лента
- Проводници
- Arduino
- Мини фотопродажба
Стъпка 2: Създаване на вериги
Първо свържете LED лентата към arduino. Можете да направите това, като свържете +5v към 5v на arduino. Din трябва да бъде свързан към A0 на arduino и GND трябва да бъде свързан към GND на arduino.
Също така трябва да свържете мини фотоклетката към arduino чрез свързване към 5v проводника от LED лентата и от същия източник, свързващ се с проводник към PIN 6 на arduino. Другата страна на мини фотоклетката трябва да бъде свързана към проводника GND от светодиодната лента
Стъпка 3: Проектиране на ръкавицата
Ръкавицата трябва да има правилния размер, за да пасне на светодиодните ленти. Светодиодите трябва да бъдат подравнени, за да изглеждат по -приятни.
За тази игра трябва да използвате ръката си и искате да можете да се движите свободно. Това може да се осъществи, като поставите arduino върху ръкавицата. Използвах велкро като закопчалка, за да залепя arduino към ръкавицата. След това за установяване на по -голяма стабилност можете да поставите въже около ръкавицата и около arduino.
Мини фотоклетката е зашита вътре в ръкавицата, така че ще остане на мястото си.
И накрая, трябва да скриете проводниците, за да изглежда по -добре. Това може да се направи с плат, който ще бъде пришит върху проводниците.
Стъпка 4: Запояване
Сега можете да направите защитните свързващи проводници от веригата чрез запояване.
Стъпка 5: Кодиране
// Основна ежедневна програма за тест на NeoPixel strip.
// NEOPIXEL НАЙ -ДОБРИТЕ ПРАКТИКИ за най -надеждна работа: // - Добавете 1000 uF CAPACITOR между + и - връзките на NeoPixel лентата. // - Минимизирайте дължината на кабелите между платката на микроконтролера и първия пиксел. //-DATA-IN на NeoPixel лентата трябва да премине през 300-500 OHM RESISTOR. // - ИЗБЯГВАЙТЕ свързването на NeoPixels на ЖИВА КРЪГ. Ако трябва, ВИНАГИ // първо свържете GROUND (-), след това +, след това данни. //-Когато използвате 3.3V микроконтролер с 5V задвижвана NeoPixel лента, // СИЛНО СЕ ПРЕПОРЪЧВА КОНВЕРТОР НА ЛОГИЧЕСКО НИВО на линията за данни. // (Пропускането им може да работи добре на работната ви маса, но може да се провали в полето)
#include #ifdef _AVR_ #include // Изисква се за 16 MHz Adafruit Trinket #endif
// Кой щифт на Arduino е свързан с NeoPixels? // На дрънкулка или Gemma предлагаме да промените това на 1: #define LED_PIN 6
// Колко NeoPixels са свързани към Arduino? #дефинирайте LED_COUNT 60
// Декларираме нашия обект на лента NeoPixel: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // Бял цвят, по подразбиране bool clickedCorrect = false; // Аргумент 1 = Брой пиксели в NeoPixel лента // Аргумент 2 = Номерът на пина на Arduino (повечето са валидни) // Аргумент 3 = Знамена за тип пиксел, добавете заедно, ако е необходимо: // NEO_KHZ800 800 KHz битов поток (повечето NeoPixel продукти w/ WS2812 LED) // NEO_KHZ400 400 KHz (класически „v1“(не v2) FLORA пиксели, драйвери WS2811) // NEO_GRB Пикселите са свързани за GRB битстрийм (повечето продукти NeoPixel) // NEO_RGB Пикселите са свързани за RGB битови потоци (v1 FLORA пиксели, не v2) // NEO_RGBW Пикселите са свързани към RGBW битстрийм (NeoPixel RGBW продукти)
// функция setup ()-стартира веднъж при стартиране --------------------------------
void setup () {// Тези линии са специално за поддръжка на Adafruit Trinket 5V 16 MHz. // Всяка друга дъска, можете да премахнете тази част (но няма вреда да я оставите): #if defined (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // КРАЙ на специфичния за Trinket код.
pinMode (A0, INPUT); strip.begin (); // ИНИЦИАЛИЗИРАЙ обект на лента NeoPixel (ЗАДЪЛЖИТЕЛНО) strip.show (); // Изключете всички пиксели ASAP strip.setBrightness (10); // Задайте BRIGHTNESS на около 1/5 (макс = 255)}
// функция loop ()-работи многократно, докато платката е включена ---------------
void loop () {clickedCorrect = TheaterChaseOne (цвят); if (щракнатоКоректно) {color = strip. Color (0, 255, 0); } else {color = strip. Color (255, 0, 0); }}
// Някои наши функции за създаване на анимирани ефекти -----------------
// Преследващи светлини в стил театър-шатра. Предайте цвят (32-битова стойност, // a la strip. Цвят (r, g, b), както е споменато по-горе), и време на забавяне (в ms) // между кадрите. bool theatreChaseOne (uint32_t color) {bool correct = false; bool clickedWrong = false; for (int index = 0; index 800) {// стойностен сензор за светлина if (index <16) {// 2 светодиода преди края, тогава можете да щракнете върху color = strip. Color (255, 0, 0); // светодиоди в червен цвят clickedWrong = true; // щракнали неправилно, след това светодиодите стават червени} else if (! clickedWrong) {// ако не е грешно color = strip. Color (0, 255, 0); // зелен цвят светодиоди правилно = вярно; // щракнете правилно, след което светодиодите стават зелени}} strip.clear (); strip.setPixelColor (17 - индекс, цвят); // първи ред LED светлини strip.setPixelColor (18 + индекс, цвят); // втори ред LED светлини strip.setPixelColor (53 - индекс, цвят); // трети ред LED светлини strip.show (); забавяне (300); } връщане правилно; }
Стъпка 6: Промени
Направих някои промени. Първо скрих arduino, за да бъде по -удобно да използвам „ръката на Rythm“и второ промених малко кода. Промених кода, така че когато натиснете в подходящия момент, цветът става зелен и светодиодите се движат по -бързо. По този начин LED Swill ще стане с 10% по -бърз от преди. Това прави играта по -интересна
Ето кода сега:
// Основна ежедневна програма за тест на NeoPixel strip. // NEOPIXEL НАЙ -ДОБРИТЕ ПРАКТИКИ за най -надеждна работа: // - Добавете 1000 uF CAPACITOR между + и - връзките на NeoPixel лентата. // - Минимизирайте дължината на проводниците между платката на микроконтролера и първия пиксел. //-DATA-IN на NeoPixel лентата трябва да премине през 300-500 OHM RESISTOR. // - ИЗБЯГВАЙТЕ свързването на NeoPixels на ЖИВА КРЪГ. Ако трябва, ВИНАГИ // първо свържете GROUND (-), след това +, след това данни. //-Когато използвате 3.3V микроконтролер с 5V задвижвана NeoPixel лента, // СИЛНО СЕ ПРЕПОРЪЧВА КОНВЕРТОР НА ЛИГИЧЕСКО НИВО на линията за данни. // (Пропускането им може да работи добре на работната ви маса, но може да се провали в полето) #include #ifdef _AVR_ #include // Изисква се за 16 MHz Adafruit Trinket #endif // Кой щифт на Arduino е свързан към NeoPixels? // На дрънкулка или Gemma предлагаме да промените това на 1: #define LED_PIN 6 // Колко NeoPixels са свързани към Arduino? #define LED_COUNT 60 // Декларирайте нашия обект на лента NeoPixel: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // Бял цвят, по подразбиране bool clickedCorrect = false; int индекс = 0; int интервал = 300; int резултат = 0; без подпис дълги предходниMs = millis (); // Аргумент 1 = Брой пиксели в NeoPixel лента // Аргумент 2 = Номерът на пина на Arduino (повечето са валидни) // Аргумент 3 = Знамена за тип пиксел, добавете заедно, ако е необходимо: // NEO_KHZ800 800 KHz битов поток (повечето NeoPixel продукти w/ WS2812 LED) // NEO_KHZ400 400 KHz (класически 'v1' (не v2) FLORA пиксели, драйвери WS2811) // NEO_GRB Пикселите са свързани за GRB битстрийм (повечето продукти NeoPixel) // NEO_RGB Пикселите са свързани за RGB битови потоци (v1 FLORA пиксели, не v2) // NEO_RGBW Пикселите са свързани за битов поток RGBW (NeoPixel RGBW продукти) // функцията setup ()-стартира веднъж при стартиране -------------------- ------------ void setup () {// Тези линии са специално за поддръжка на Adafruit Trinket 5V 16 MHz. // Всяка друга дъска, можете да премахнете тази част (но няма вреда да я оставите): #if defined (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // КРАЙ на специфичния за Trinket код. Serial.begin (9600); while (! Сериен) {; // изчакайте свързването на серийния порт. Необходимо е само за родния USB порт} pinMode (A0, INPUT); strip.begin (); // ИНИЦИАЛИЗИРАЙ обект на лента NeoPixel (ЗАДЪЛЖИТЕЛНО) strip.show (); // Изключете всички пиксели ASAP strip.setBrightness (10); // Задайте BRIGHTNESS на около 1/5 (max = 255)} // функция loop ()-работи многократно, докато платката е на --------------- void loop () {unsigned long currentMs = millis (); // Получаване на текущото време int value = analogRead (A0); // Четене на текущия светлинен сензор if (стойност> 900 && резултат == 0) {// Ако сензорът е натиснат и все още няма записан резултат, задействайте улавянето на резултата if (индекс = интервал) {// Проверете дали токът цикъл надвишава интервала previousMs = currentMs; // Задайте новия интервал на текущото време + индекс на интервала + = 1; // Задайте светодиодите една стъпка по -нататък в цикъла if (index> 17) {// Задействайте края на цикъла за обработка на индекса = 0; if (резултат == 2) {// На правилен интервал от резултати = (int) max ((интервал * 0.95), 50); // Ускоряване с 10%, до интервал от 50ms/ color = strip. Color (0, 255, 0); // Задайте светодиодите на зелено} else if (result == 1) {// На неправилен интервал на резултата = 300; // Нулиране на цвета на интервала = strip. Color (255, 0, 0); // Задайте светодиодите на червено} else {// При липса на резултат улавен color = strip. Color (255, 0, 0); // Задайте светодиодите на червено} result = 0; // Нулиране на резултата за следващия цикъл} TheaterChaseOne (цвят, индекс); // Осветявайте светодиодите за показване. }} // Някои наши функции за създаване на анимирани ефекти ----------------- // Преследващи светлини в стил театър-маркер. Предайте цвят (32-битова стойност, // a la strip. Цвят (r, g, b), както е споменато по-горе), и време на забавяне (в ms) // между кадрите. void theatreChaseOne (uint32_t цвят, int индекс) {strip.clear (); strip.setPixelColor (17 - индекс, цвят); // светодиоди за първи ред strip.setPixelColor (18 + индекс, цвят); // втори ред LED светлини strip.setPixelColor (53 - индекс, цвят); // трети ред LED светлини strip.show (); }
Препоръчано:
Роботизирана ръка с грайфер: 9 стъпки (със снимки)
Роботизирана ръка с грайфер: Събирането на лимонови дървета се счита за тежка работа, поради големия размер на дърветата, а също и поради горещия климат на регионите, където са засадени лимонови дървета. Ето защо се нуждаем от нещо друго, за да помогнем на земеделските работници да завършат работата си повече
3D отпечатана протезна ръка в 4 стъпки!: 4 стъпки
3D отпечатана протезна ръка в 4 стъпки!: Този проект е протезна ръка, която е отпечатана от мен, аз се опитвам да проуча повече познания за протезиране и 3D печат. Въпреки че това не е най -добрият проект, това е чудесен начин да имате опит и да научите как да създавате
Махнете с ръка, за да контролирате роботизираната ръка на OWI Без прикачени низове: 10 стъпки (със снимки)
Махнете с ръка, за да контролирате роботизираната ръка на OWI … Без прикачени низове: ИДЕЯТА: Има поне 4 други проекта на Instructables.com (към 13 май 2015 г.) около модифицирането или контрола на роботизираната ръка на OWI. Не е изненадващо, тъй като това е толкова страхотен и евтин роботизиран комплект за игра. Този проект е подобен в
КАК ДА СЕ СБОРЯ ВРЕМЕННА ДЪРВЕНА РОБОТНА РЪКА (ЧАСТ 3: РОБОТНА РЪКА) - НА ОСНОВА НА МИКРО: BITN: 8 стъпки
КАК ДА СЕ СБОРЯ ВРЕМЕННА ДЪРВЕНА РОБОТНА РЪКА (ЧАСТ 3: РОБОТНА РЪКА) - НА ОСНОВА НА МИКРО: BITN: Следващият процес на инсталиране се основава на завършването на режима за избягване на препятствия. Процесът на инсталиране в предишния раздел е същият като процеса на инсталиране в режим на проследяване на линии. Тогава нека да разгледаме окончателната форма на A
Трета ръка ++: Многофункционална помощна ръка за електроника и друга деликатна работа .: 14 стъпки (със снимки)
Трета ръка ++: Многофункционална помощна ръка за електроника и други деликатни работи. Никога не успях да получа клиповете точно там, където ги исках, или ми отне повече време, отколкото наистина трябваше, за да се инсталира