Квадратично уравнение с 2 бутона: 5 стъпки
Квадратично уравнение с 2 бутона: 5 стъпки
Anonim
Image
Image

Въведение

добре дошли в първия ми инструктаж!

Започнах този проект, за да разширя познанията си по програмиране. Често просто обединявате различен изходен код, за да създадете необходимата програма. Целта ми беше да напиша собствен програмен код за взаимодействие с инструмент. Хареса ми да създам прост инструмент за изчисляване. Преди месец подкрепих приятел да реши квадратно уравнение.

Базинга! това е случаят на употреба!

Използвах повторно стара метална кутия. Предпочитах минималистичния вид и интерфейса на инструментите. това е причината просто да използвам 2 бутона за въвеждане. Конкурсът ще бъде показан от обикновен LCD дисплей.

Консумативи

списък на материалите:

кутия

2 бутона Аркаден стил

Arduino Nano или подобен

LCD дисплей 1602 с I2C адаптер

превключвател за включване/изключване

проводници

2x 10k Ohm резистор

батерия 9v блок

конектор за 9v батерия

макет

различни (парче дърво, метален ъгъл, кабелни връзки, винт, шайби)

инструменти:

трион

поялник

пробивна машина

компютър за програмиране

Стъпка 1: Математически фон

Софтуер
Софтуер

Математически фон

Квадратното уравнение с 2 бутона показва стойностите, при които квадратната функция пресича оста X. Квадратичната функция не може да пресича ос X никога, веднъж или два пъти.

Има различни начини за изчисляване на тези стойности. За моя инструмент използвам формулата PQ (не съм сигурен дали този израз ще се използва по целия свят).

Квадратното уравнение има формата:

ax²+bx+c = 0

За да изчислите точките на пресичане, разделете формата на a x²+px+q = 0 с p = b/a; q = c/a

формулата PQ:

x1 = -p/2 + sqrt ((p/2) ² -q)

x2 = -p/2 -sqrt ((p/2) ² -q)

Резултатът x може да получи 0, 1 или 2 стойности. Това зависи от стойността под квадратния корен.

Ако стойността е> 0, тогава PQ-формулата има две решения.

Стойността е 0, тогава PQ-формулата има едно решение

е стойността <0, тогава формулата PQ няма решение. Функцията не пресича оста X.

Стъпка 2: Софтуер

Софтуер

За програмиране използвах официалния Arduino IDE. Целта ми беше да създам своя собствена софтуерна програма. Моят интерфейс трябва да има два бутона. Един бутон за преминаване между различни нива, втори бутон за промяна на стойностите в различните нива.

За да реша PQ-формулата, създавам горната структура:

Със сигурност не преоткривам колелото. За създаването на кода използвах модула:

- разобличаване

- дисплей

Най -големите предизвикателства бяха следните точки:

- Как мога да избера знака? Реших това предизвикателство с функцията по модул (връзка). Кодът разделя входа на 2. Входът е нечетно число, стойността става отрицателна, в противен случай числото е положително.

- След като премина през всички нива, трябва да обявя всички стойности на 0.

- Показваният текст просто изтрива изпратените знаци. Ако кодовете изпращат дума с 4 знака, само тези 4 знака ще бъдат презаредени. Ако думата преди имаше повече знаци, знаците ще останат. За да поправите това, показаният текст ще бъде запълнен с празни места. Всички 16 последователни знака ще бъдат презаредени.

Окончателният код е приложен.

Стъпка 3: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Хардуер

Частите са изброени по -горе. За този проект хардуерът е прост. Трябва ми само микропроцесор Arduino, 2 бутона и дисплей. Добре, ако искате да поставите в кутия, имате нужда и от кутия и захранване.

Използвам повторно стара метална кутия. Пробих дупка в бутона за включване на превключвателя за захранване. Капакът на кутията има 3 дупки. Пробих две дупки за големите бутони и изрязах прозорец за дисплея. Залепвам малко парче дърво зад капака, за да има повече неща за поправяне на дисплея и бутоните. За да подобрите външния вид, кутията има стикери.

За захранване препоръчвам акумулаторни 9V блок батерии. Свързвам батерията чрез превключвателя на захранването към Arduino. Батерията е фиксирана към кутията с малък метален ъгъл. Конекторът за батерията е фиксиран само чрез кабелни връзки.

Микропроцесорът е клонинг на Arduino nano. За този случай на използване ефективността е достатъчна. Attiny 85, например микропроцесор Digispark, беше отхвърлен. Arduino е „хляб на дъска“до дисплея.

Дисплеят е 1602 LCD дисплей. можете да използвате 16 знака в два реда. Можете да намерите този дисплей в много различни машини и инструменти. Има два различни начина за използване на този дисплей. Можете да свържете дисплея директно към контролера или можете да използвате добавка за комуникация с дисплея чрез I2C. I2C е стандартен протокол. Използвах го, защото е по -лесно да свържете дисплея към контролера. Нуждаете се само от 4 кабела вместо 16, VCC до 5V, GND до GND, SDA до A4, SCL до A5. Дисплеят е фиксиран с винтове към капака на кутията.

Бутоните са огромни! те имат типичния стил на аркадна игра. Харесва ми! Бутоните са свързани към цифрови щифтове 4 и 7. Моля, не забравяйте 10K резистори!

За да отворя капака, например за смяна на батерията, използвах по -дълги кабели, включени в макета.

Стъпка 4: Окабеляване

Електрически инсталации
Електрически инсталации

Стъпка 5: Бъдещо подобрение

Бъдещо подобрение

След завършване на проект винаги откривате грешки или функции за подобрение. Щастлив съм да намеря няколко точки в този проект, които бих подобрил за в бъдеще.

За следващия път бих подобрил експлоатацията в кутията. Поправих дисплея, превключвателя на захранването и бутоните в началото на този проект. В крайна сметка имах малко проблеми да намеря достатъчно място за батерията и микропроцесора в кутията. Когато поставям бутона и дисплея повече навън, няма да имам проблеми с мястото за частите в кутията.

В момента нямам случай на използване за решаване на квадратно уравнение. За да подобря инструмента, бих искал да разширя инструмента с допълнителни математически неща, например основно изчисление или формули като биноминална формула или изречение на Питагор.

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