Оглавление:
- Шаг 1: математический фон
- Шаг 2: Программное обеспечение
- Шаг 3: Оборудование
- Шаг 4: Подключение
- Шаг 5: Будущее улучшение
Видео: 2-кнопочная программа для решения квадратного уравнения: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Вступление
добро пожаловать на мой первый инструктаж!
Я начал этот проект, чтобы расширить свои знания в области программирования. Часто вы просто объединяете разные исходные коды, чтобы создать нужную вам программу. Моей целью было написать собственный программный код для взаимодействия с инструментом. Мне понравилось создавать простой инструмент для расчетов. Несколько месяцев назад я помог другу решить квадратное уравнение.
Bazinga! это вариант использования!
Я повторно использовал старую металлическую коробку. Я предпочел минималистичный вид и интерфейс инструментов. вот почему я просто хочу использовать 2 кнопки для ввода. Соревнование будет отображаться на простом ЖК-дисплее.
Запасы
список материалов:
коробка
2 кнопки Аркадный стиль
Arduino Nano или аналогичный
ЖК-дисплей 1602 с адаптером I2C
переключатель включения / выключения
провода
2 резистора 10 кОм
аккумулятор 9v блок
разъем для батареи 9в
макет
разное (деревяшка, металлический уголок, кабельные стяжки, винт, шайбы)
инструменты:
пила
паяльник
дрель
компьютер для программирования
Шаг 1: математический фон
Математический фон
Двухкнопочное квадратное уравнение показывает значения, в которых квадратичная функция пересекает ось X. Квадратичная функция никогда не может пересекать ось X, один или два раза.
Эти значения можно рассчитать разными способами. Для своего инструмента я использую PQ-формулу (не уверен, будет ли это выражение использоваться во всем мире).
Квадратное уравнение имеет вид:
ax² + bx + c = 0
Чтобы вычислить точки пересечения, разделите форму на x² + px + q = 0 с p = b / 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 дырочки. Я просверлил два отверстия для больших кнопок и вырезал окошко для дисплея. Я прикрепляю небольшой кусок дерева за крышкой, чтобы было больше вещей для крепления дисплея и кнопок. Для улучшения внешнего вида на коробку добавлены наклейки.
В качестве источника питания я рекомендую аккумуляторные батареи на 9 В. Я подключаю аккумулятор через выключатель питания к Arduino. Батарея крепится к коробке с помощью небольшого металлического уголка. Разъем для аккумулятора просто фиксируется стяжками.
Микропроцессор является клоном Arduino nano. Для этого варианта использования производительности достаточно. Attiny 85, например, микропроцессор Digispark, был отклонен. Arduino находится рядом с дисплеем.
Дисплей представляет собой ЖК-дисплей 1602. вы можете использовать 16 символов в двух строках. Вы можете найти этот дисплей во многих различных машинах и инструментах. Есть два разных способа использования этого дисплея. Вы можете подключить дисплей напрямую к контроллеру или использовать надстройку для связи с дисплеем через I2C. I2C - стандартный протокол. Я использовал его, потому что так проще подключить дисплей к контроллеру. Вам просто нужно 4 кабеля вместо 16, VCC на 5 В, GND на GND, SDA на A4, SCL на A5. Дисплей крепится винтами к крышке корпуса.
Кнопки огромные! у них типичный стиль аркадных игр. Мне это нравится! Кнопки подключаются к цифровым контактам 4 и 7. Не забудьте резисторы 10 кОм!
Чтобы открыть крышку, например, чтобы заменить аккумулятор, я использовал более длинные кабели, подключенные к макетной плате.
Шаг 4: Подключение
Шаг 5: Будущее улучшение
Будущее улучшение
После завершения проекта вы всегда найдете ошибки или функции, которые нужно улучшить. В этом проекте я рад просто найти несколько моментов, которые я буду улучшать в будущем.
В следующий раз я бы улучшил эксплуатацию в коробке. Я исправил дисплей, выключатель питания и кнопки в начале этого проекта. В конце концов, у меня возникли проблемы с поиском места для батареи и микропроцессора в коробке. Когда я вынесу кнопку и дисплей наружу, у меня не возникнет проблем с пространством для деталей внутри коробки.
На данный момент у меня нет варианта использования для решения квадратного уравнения. Чтобы улучшить инструмент, я хотел бы расширить его дополнительными математическими элементами, например, базовыми вычислениями или формулами, такими как биноминальная формула или предложение Пифагора.
Рекомендуемые:
Машина Arduino для решения задач (также известная как: создание собственного Bop-it!): 5 шагов
The Task Giving Machine Arduino (также известный как: Making Your Own Bop-it!): Для исследования, за которым я сейчас следую, я получил задание сделать что-нибудь с Arduino. Я купил себе стандартный набор материалов из школы и придумал что-то, что обойдется с ними, с минимальным внешним ковриком
Бо-бот для решения лабиринта: 3 шага
Бо-бот для решения лабиринта: Здравствуйте! Меня зовут Маахум Имран, я учусь в 11 классе технологического класса. Перед нами стояла задача взять наш Бо-бот и запрограммировать его на умелое прохождение лабиринта. Поначалу это было непросто, и я признаю, что без помощи
Проект Arduino: испытательный полигон LoRa Module RF1276 для решения GPS-слежения: 9 шагов (с изображениями)
Проект Arduino: Тестовый полигон LoRa Module RF1276 для GPS-слежения Решение: Подключение: USB - SerialNeed: Требуется браузер Chrome: 1 X Требуется Mega Arduino: 1 X Требуется GPS: 1 X SD-карта Требуется: 2 X LoRa Modem RF1276 Функция: Arduino Отправить значение GPS на основную базу - Данные основного базового хранилища в Dataino Server Lora Module: сверхдальний диапазон
Интуитивно понятный робот для решения лабиринта: 3 шага
Интуитивно понятный робот для решения лабиринтов: в этом руководстве вы узнаете, как создать робота для решения лабиринтов, который решает лабиринты, нарисованные людьми. В то время как большинство роботов решают первый тип нарисованных лабиринтов (вы должны следовать по линиям, это пути), нормальные люди склонны рисовать лабиринты второго типа
Макрос квадратного уравнения в Excel: 3 шага
Макрос квадратного уравнения в Excel: вы можете легко решить квадратное уравнение, просто перейдя к макросу tools-macro-run. Я новый участник, и мне действительно нужна любая обратная связь, которую вы можете дать. Наслаждайтесь тем, что не используете какую-либо бумагу для решения этих уравнений