Съдържание:

Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C: 7 стъпки
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C: 7 стъпки

Видео: Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C: 7 стъпки

Видео: Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C: 7 стъпки
Видео: CS50 Live, серия 003 2024, Юли
Anonim
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C
Ръчна Arduino хартиена скална ножица, използваща 20x4 LCD дисплей с I2C

Здравейте на всички или може би трябва да кажа "Hello World!"

За мен ще бъде огромно удоволствие да споделя с вас проект, който беше моето влизане в много неща Arduino. Това е ръчна игра Arduino Paper Rock Scissors, използваща I2C 20x4 LCD дисплей. Знам, че може би си мислите: „Друга игра с ножици за скални хартии?“Но повечето игри с ножици за хартиени скали Arduino използват прости светодиоди и също видях такъв, който използва хартиени символи, повдигнати от серво. Това са готини. Този проект използва 20x4 LCD дисплей и направи един с I2C и един без него (не е показан тук). Искаше евтин калъф с завършен вид, а не само бъркотия на дъската. Не всеки има достъп до 3D принтер и иска да плати на някой, който го прави. Исках да е лесно да се направи, за да мога да споделя идеите с други. Тъй като уменията ми за програмиране са на ниво начинаещи, скицата е доста проста и лесна за разбиране и редактиране. Това беше моето лично образование за създаване на скица. Ще намерите много бележки в скицата и тя е преминала през много, много (20+?) Повторения, докато не вярвам, че е точно така. Изработката на проекта струва по -малко от $ 20 (не I2C).

Започнах с Arduino през 2018 г. и преминах през уебсайта им и прочетох всичко, което можех. Създаден и експериментиран с примерните проекти, с които идва, и прочетете много инструкции, които много от вас са споделяли през годините. Наистина ги оценявайте и научихте толкова много от всички вас. Благодаря ти. Сега искам да споделя част от наученото, като добавя собствено творчество. Преди секцията за коментари да се натрупа с много въпроси как да направите това и онова, имайте предвид, че започнах това без опит в Arduino. Научих, като изградих примерните проекти на уебсайтовете Arduino и Instructables. Научих се от вас момчета. Когато се забиете, това може да е най -бързият начин да намерите решение.

Стъпка 1: Въведение в проекта

Въведение в проекта
Въведение в проекта
Въведение в проекта
Въведение в проекта

Избрах LCD дисплея от Amazon и избрах I2C 20x4 LCD поради ниската цена (около $ 12 - $ 18) и лекотата на окабеляване и програмиране. Ако искате, можете да използвате такъв без I2C и може да получите такъв толкова евтин, колкото $ 7. Но ще трябва да използвате различна библиотека и схема на окабеляване и да използвате повече щифтове на Arduino. Не се притеснявайте, има достатъчно, за да отидете в двете посоки. Серийният I2C 20x4 ще бъде по -лесен за изграждане, по -малко проводници са по -малко объркващи. Но паралелният 20x4 LCD е с около 5 долара по -евтин. Начертах схеми и за двата модела окабеляване. Повечето други части закупих от Amazon и няколко местни магазина. Моята кутия е празна кутия за смес от напитки за капучино. Харесва ми, че капакът лесно се отваря, за да включи/изключи захранването, да работи върху всякакви компоненти или да смени батерията. И "Хей!" кутията беше безплатна и харесвам капучино. Рециклирането на пластмаса е добро за околната среда. Можете да използвате каквато кутия ви харесва, в която всичко се вписва, или дори да пропуснете кутията или дъската за хляб по проекта. Исках "завършен проект" на евтини. Обзалагам се, че някой създава 3D печатна версия. Arduino играе играта Paper Rock Scissors с вас на LCD дисплея, поддържа резултат, можете да въвеждате с бутоните и ако изберете има опция, която ви позволява да мамите. Първоначално функцията за измама е написана за отстраняване на грешки и когато приключих с нея, я коментирах. Само за забавление го върнах обратно.

Стъпка 2: Дъска за хляб

Дъска за хляб
Дъска за хляб
Дъска за хляб
Дъска за хляб

Свързах платките си с Arduino Uno, но когато ги сглобих, използвах Arduino Nano, защото побира по-добре в кутията. Така че можете да изградите това с всеки от тях. Но не забравяйте да промените няколко настройки в IDE. Nano е инсталиран на гърба на LCD с помощта на командни ленти или двустранна лепкава лента. Поставете Arduino Nano до платката I2C, така че USB конекторът да гледа навън (вдясно от LCD). Можете да използвате 9v или 4x AA (което ви дава 6v) кутия за батерии с плъзгащ превключвател SPST за захранване, монтирано вътре в кутията, също с командни ленти. Построен в двете посоки, Arduino има вграден регулатор на напрежението, който го свежда до 5 волта, от които се нуждае. Ако се замислите, тази игра всъщност може да рециклира "предимно мъртви 9v батерии" за захранване и да работи добре. (Сменяте батериите на детектора за дим два пъти годишно, нали?) Други устройства, които използват 9v батерия, могат да кажат, че е изтощена при 6-8 волта; но не е мъртъв, докато не е „Arduino Dead!“

Докато проектирах проекта, използвах 4 SPST бутони за въвеждане. Но вграждането на готовата игра в кутията използва 5 SPST бутони, мислейки в бъдеще, може да се опитам да направя игра, която се нуждае от повече бутони. Може би игра с лабиринт? Резисторен делител на напрежение за бутоните е монтиран заедно върху скрап от прото платка, която може да се монтира и с командни ленти.

Стъпка 3: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Монтаж:

4 -те основни сглобки са LCD с опционална I2C платка за въртене, Arduino Nano, резистори и превключватели, свързани с свързващата прото платка и кутия за батерии с превключвател за включване/изключване.

Трябва да започнете с хвърляне на платка или твърда жица на прото платката, като следвате схемата. Харесва ми да съхранявам LCD дисплея с лицето надолу в капака на кутията, за да не го надраскам. Използвах заглавка само от едната страна на Arduino, която има 5v, за да го свържа с прото платката. Направих мост с 3 заглавия (много спойка) от Arduino към прото платката, така че те лежаха плоско на гърба на LCD с командни ленти или двустранна лепкава лента. Но наистина, платките могат да бъдат свързани само запояване на проводници от един към друг. Използва се женска заглавка за свързване на прото платката към LCD I2C. Резисторните крака на прото платката могат да се използват за направата на 5 точки за запояване на бутоните. Другият крак на всеки бутон отива към щифт A0 на Arduino. Всеки бутон ще се нуждае от 2 запоени проводника. Използвайте омметър, за да определите кои крачета на бутоните да използвате, но като цяло не можете да сбъркате с несъседните крака (диагонално един от друг).

Изберете вашите настройки за вашия Arduino в IDE. Изтеглете скицата и я заредете на Arduino и тествайте / отстранете проблеми.

Готови ли сте да го поставите в кутия? Премахнах етикета за капучино, измих и подсуших кутията ми. Внимателно измерете и изрежете отвора в кутията за LCD дисплея, както можете да видите и той е монтиран с 3 дюбели, завинтени към три ъглови отвора на LCD (2 към дъното на кутията, 1 близо до капака), достатъчно дълги, за да достигнат до гърба на кутията и я задръжте на място с триене. Отворът за винт на LCD панела може да е твърде близо до терминала, така че го пропускам. Използвал е нож Exacto за пробиване на пилотни отвори за винтове в дюбелите, за да не се разцепят (внимателно, не се плъзгайте и не се намушквайте, дръжте дюбели с клещи). Трябваше да се огъне / разбърка кутията малко за окончателна инсталация, но тя се връща към правилната форма. Дупките за бутоните се "пробиват", като се позиционират (начертайте линии с прав ръб) и загрявайте клемите с поялник, докато "се стопят" през кутията. След това извадете бутоните, след като се охладят, и запоявайте 6 " - 9" CAT 5e парчета тел или 18ga до 22ga проводник към бутоните. Инсталирайте първо бутоните с тел обратно в дупките им, след което запоявайте към резисторната платка. Точка супер лепило, горещо лепило или дори просто триене ще запази бутоните на място. При една конструкция са използвани някои снаждачи за телефонни кабели (червените кръгове в прозрачните пластмасови блокове), за да се улесни последната шепа връзки между кутията за батерията, резисторната платка и LCD / Arduino монтаж. Ако искате, можете да използвате спойка и термосвиване вместо това. След това внимателно и бавно натиснете всички проводници и компоненти в кутията и затворете капака. Инсталирахте ли батерия и качихте скицата на Arduino, преди да направите всичко това? Ще ви е необходима и библиотеката за 20x4 LCD дисплей със или без I2C (каквото изберете), която можете да изтеглите безплатно в Github. Включете го, опитайте и вижте дали работи. По -късно редактирах скицата си с паузи за по -лесно четене, добавих „ефекта на мигащи точки“и някои други неща, заедно с много коментари. Опитайте се да позиционирате Arduino така, че USB все още да може да бъде свързан и да се качи нова скица. Разбира се, при създаването на скицата е използвана диаграма. Ще видите, че коментарите до голяма степен определят къде е бил всеки блок от диаграма.

Ще откриете, че бутоните са в последователна / паралелна верига, която ви позволява да използвате един входен щифт на Arduino за толкова бутони, колкото искате. Веригата действа като делител на напрежение, за да подаде стойност към аналоговия щифт, като променя стойността, прочетена с всеки натиснат бутон. Можете да използвате серийния монитор, за да определите стойностите на веригата си въз основа на вашите резистори и да промените „приетите стойности“в скицата си.

Надявам се да се забавлявате да изграждате своя собствена! Ако направите един или дори направите някои модификации на това, моля, споделете с останалите от нас. Благодаря ви за четенето.

Стъпка 4: Програмиране и настройки

Програмиране и настройки
Програмиране и настройки
Програмиране и настройки
Програмиране и настройки

Сега за забавление с IDE. Надявам се да сте пили капучино. Може да ви е необходим, за да ви помогне да останете будни.

Може да откриете, че ще трябва да настроите някои библиотеки. Ще ви трябва Wire.h За I2C, LCD.h за LCD, LiquidCrystal_I2C.h за LCD с I2C контрол. Също така ще трябва да използвате командата lcd.begin (20, 4), за да кажете на Arduino, че използвате 20 -знаков 4 -редов LCD и може да има други настройки.

За информация относно инсталирането на библиотеки вижте:

В IDE на Arduino може да откриете, че ще трябва да настроите дъската си и порта, към който тя е свързана. Портът може да бъде намерен в контролния панел на компютъра/диспечера на устройствата/контролерите на универсалната серийна шина. Трябва да разберете кой Arduino използвате. Използвам Arduino Nano, но Uno работи и за това. Изберете настройките си внимателно.

Може да се наложи да разберете вашия I2C адрес. Трябва да можете да го прочетете директно от джъмперите на дъската. Можете също да изтеглите I2C скенер от Arduino.cc или също https://www.gammon.com.au/forum/?id=10896 и други места.

Някъде около този момент трябва да можете да заредите програмата в Arduino и да тествате функционалността. Светва ли LCD екранът? Можете ли да четете герои? Един път, когато изграждах веригата, след това я тествах, подсветката светна, но символите бяха нечетливи. Прекарали часове (така е, HOURS), опитвайки настройките и тонизирайки връзките, за да се уверите, че е изградена правилно. Отказа се за няколко дни. Върнах се по -късно и осъзнах, че променливият резистор на платката е зададен на минимум. Завъртя го и героите бяха видими. Удари главата на бюрото. Друга причина да си ударите главата в бюрото? Ако трябва да смените батерията, може да се наложи да регулирате отново този променлив резистор. Когато това се случи, изрязах малка дупка в задната част на кутията за достъп.

Може да се наложи да зададете свои собствени стойности на бутоните в тази програма въз основа на резисторите, които използвате за вашите бутони. Можете да използвате тази удобна малка скица за това и не забравяйте да активирате серийния монитор. Изпълнете скицата и натиснете всеки бутон и запишете всяка стойност. След това редактирайте скицата, така че да отразява стойностите на вашия бутон. След това качете редактираната скица на дъската си и вижте дали работи.

Има много малки променливи, които трябва да са правилни и вашите може да са различни от моите. Търпението и опитите на различни неща ще ви помогнат да работите. Също така не забравяйте, че след като сте задали променливите си Arduino (като име на платка, com 3, 5 или каквото и да е, процесор и програмист [всички под инструменти]), може да ги настроите правилно, но не работи, защото трябва да рестартирате. Изключете Arduino и го включете отново в компютъра. Може да се наложи да запазите и рестартирате компютъра си отново.

Качете тази скица, стартирайте монитора, натиснете бутоните и запишете стойностите, след това редактирайте скицата Paper Rock Scissors, като замените стойностите на моите резистори с вашите. Пуснете скицата на Paper Rock Scissors и вижте дали работи правилно. О, да, инсталирали ли сте бутоните си в грешен ред? Може да се наложи да ги преинсталирате, ако искате в определен ред.

Забавлявай се!

Стъпка 5: Скицата за четене на бутони ще ви помогне да намерите вашите стойности за съпротива, които да редактирате в основната скица. Натиснете всеки бутон и запишете стойностите на резистора си, за да влезете в основната скица

// скица за четене на бутон

void setup () {

// поставете кода за настройка тук, за да стартирате веднъж:

Serial.begin (9600);

}

void loop () {

// поставете основния си код тук, за да се изпълнява многократно:

int buTTon; // За бутони за четене

buTTon = 0; // За бутони за четене

buTTon = analogRead (A0); // Команда, използвана за четене на бутоните

забавяне (100);

Serial.println (buTTon);

Стъпка 6: Списъци с части и инструменти, от които може да се нуждаете

Списък на частите от Amazon:

Arduino Uno или Arduino Nano

20x4 LCD дисплей със или без I2C

9v или 6v кутия за батерии с плъзгащ превключвател SPST (или вземете плъзгащия превключвател отделно)

5x SPST бутони

1x издърпващ се резистор 1k - 5k

5x резистори по -малко от 1k, 200 - 500 Ohms са добри

Списъци с части Други места или магазини:

9v или 4x 1.5-волтова батерия (опцията 9v ви позволява да рециклирате "предимно мъртви" батерии)

Командни ленти (използва се пакет за зареждане) или двустранна лепкава лента

Сплийсери за телефонни кабели (по избор, но улеснява свързването на проводници)

Няколко инча 1/4 дюбел

Малки винтове за дърво за монтиране на дюбели към LCD

Припой

Топлинно свиване за проводници от 18 ga

Отпадъци или части за рециклиране:

Празна кутия за смес за напитки за капучино (не всеки има 3D принтер, има малко капучино и рециклирайте пластмаса)

Около 1 "x 2" скрап от Proto board, въпреки че използвах protoboard от Amazon

Различна дължина от 18ga до 22ga тел или твърдо ядро Cat 5e

Инструменти, от които може да се нуждаете:

Малка отвертка Philips

Малка отвертка с плоско острие

Екзакто нож

Поялник и спойка

Ножици за тежки условия

Клещи за иглени носове

Владетел

Стъпка 7: Повече информация и основната скица

Благодаря ви за четенето. Знам, че е много. Това е първият ми „Непроницаем“и само това беше малко образователно за мен. Поглеждайки назад, виждам, че съм многословен на някои места и твърде кратък на други. Трябваше да разбия монтажа повече на стъпки. И тъй като изграждах този проект десетина пъти, докато не беше точно, някои от снимките са от един или друг модел. Трябва да се върна и да снимам само един модел. Искам да включа и видео или два. Така че да, ще се върна и ще поправя тези неща. Но засега го давам в ръцете ви. Надявам се да ви хареса да го изграждате толкова, колкото и аз. Благодаря ви отново за четенето.

Препоръчано: