Оглавление:

Калькулятор двоичного числа в десятичный: 8 шагов
Калькулятор двоичного числа в десятичный: 8 шагов

Видео: Калькулятор двоичного числа в десятичный: 8 шагов

Видео: Калькулятор двоичного числа в десятичный: 8 шагов
Видео: Перевод числа в двоичную систему за два шага!!! 2024, Июль
Anonim
Калькулятор двоичного числа в десятичный
Калькулятор двоичного числа в десятичный

Для одиннадцатого класса компьютерной инженерии мне нужно было определиться с финальным проектом. Сначала я не знал, что делать, потому что это должно было включать определенные аппаратные компоненты. Через несколько дней мой одноклассник сказал мне сделать проект, основанный на четырехбитном сумматоре, который мы создали несколько месяцев назад. После этого дня, используя свой четырехбитный сумматор, я смог создать преобразователь двоичного кода в десятичный.

Создание этого проекта требует большого количества исследований, в том числе в основном понимания того, как работает полный и половинный сумматор.

Шаг 1. Необходимые материалы

Для этого проекта вам потребуются следующие материалы:

  • Arduino UNO
  • четыре макета
  • батарея на девять вольт
  • семь ворот XOR (2 чипа XOR)
  • семь ворот И (2 фишки И)
  • три ворот ИЛИ (1 фишка ИЛИ)
  • пять светодиодов
  • восемь резисторов 330 Ом
  • ЖК дисплей
  • четыре мужских-женских провода
  • много проводов папа-папа
  • инструмент для зачистки проводов
  • светодиод RGB с общим анодом

Стоимость (без учета проводов): 79,82 $

Стоимость всех материалов указана на электронике ABRA.

Шаг 2. Общие сведения о 4-битном сумматоре

Понимание 4-битного сумматора
Понимание 4-битного сумматора

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

www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s

Шаг 3. Создание 4-битного сумматора

Создание 4-битного сумматора
Создание 4-битного сумматора
Создание 4-битного сумматора
Создание 4-битного сумматора

Объяснить, как построить четырехбитный сумматор, очень сложно, так как это требует большого количества проводов. На основе этих изображений я могу дать вам несколько уловок, чтобы построить эту схему. Во-первых, очень важно то, как вы расположите свои логические микросхемы. Чтобы получить аккуратную схему, разместите свои чипы в следующем порядке: XOR, AND, OR, AND, XOR. Имея такой порядок, ваша схема не только будет аккуратной, но и вам будет очень легко ее организовать.

Еще один отличный трюк - построить каждый сумматор по одному, с правой стороны на левую. Распространенная ошибка, которую совершают многие люди, - использовать все сумматоры одновременно. Поступая так, вы можете испортить проводку. Одна ошибка в 4-битном сумматоре может привести к тому, что все это не сработает,

Шаг 4: Обеспечение питания и заземления цепи

Используя 9-вольтовую батарею, подайте питание и заземление на макетную плату, которая будет содержать четырехразрядный сумматор. Для остальных 3 макетов подключите питание и заземление через Arduino UNO.

Шаг 5: Подключение светодиодов

Подключение светодиодов
Подключение светодиодов

В этом проекте пять светодиодов будут использоваться в качестве устройства ввода и вывода. В качестве устройства вывода светодиод будет подсвечивать двоичное число в зависимости от входов, введенных в четырехразрядный сумматор. В качестве устройства ввода, в зависимости от того, какие светодиоды включены и выключены, мы сможем проецировать преобразованное двоичное число на ЖК-дисплей в виде десятичного числа. Чтобы подключить светодиод, вы подключите одну из сумм, образованных четырехразрядным сумматором, к анодной ножке светодиода (длинная ножка светодиода), однако между этими двумя поместите резистор на 330 Ом. Затем подключите катодную ножку светодиода (короткую ножку светодиода) к шине заземления. Между резистором и суммирующим проводом подключите вилку к вилке к любому цифровому выводу на Arduino UNO. Повторите этот шаг для трех оставшихся сумм и переноса. Я использовал цифровые выводы 2, 3, 4, 5 и 6.

Шаг 6: Подключение светодиода RGB с общим анодом

Схема подключения RGB-светодиода с общим анодом
Схема подключения RGB-светодиода с общим анодом

В этом проекте целью этого светодиода RGB является изменение цвета всякий раз, когда на ЖК-дисплее формируется новое десятичное число. Когда вы впервые посмотрите на обычный анодный светодиод RGB, вы заметите, что у него 4 ножки; нога красного света, силовая нога (анодная), нога зеленого света и нога синего света. Силовая (анодная) нога будет подключена к шине питания, получая 5 вольт. К оставшимся трем цветным ножкам подключите резисторы на 330 Ом. На другом конце резистора используйте провод «папа-вилка», чтобы подключить его к цифровому выводу ШИМ на Arduino. Цифровой вывод ШИМ - это любой цифровой вывод с волнистой линией рядом с ним. Я использовал выводы ШИМ 9, 10 и 11.

Шаг 7: Подключение ЖК-дисплея

Подключение ЖК-дисплея
Подключение ЖК-дисплея

Для этого проекта ЖК-дисплей будет проецировать преобразованное двоичное число в десятичное. Когда мы посмотрим на ЖК-дисплей, вы заметите 4 штыря. Эти контакты - VCC, GND, SDA и SCL. Для VCC используйте провод «папа-мама», чтобы подключить вывод VCC к шине питания на макетной плате. Это обеспечит 5 вольт на выводе VCC. Для вывода GND подключите его к шине заземления проводом «папа-мама». С помощью контактов SDA и SCL подключите его к аналоговому контакту с помощью штыревого и женского проводов. Я подключил вывод SCL к аналоговому выводу A5, а вывод SDA - к аналоговому выводу A4.

Шаг 8: Написание кода

Теперь, когда я объяснил строительную часть этого проекта, приступим к написанию кода. Во-первых, нам нужно сначала загрузить и импортировать следующие библиотеки; Библиотека LiquidCrystal_I2C и библиотека проводов.

#include #include

Как только вы это сделаете, вам нужно объявить все необходимые переменные. В любом типе кода вы должны сначала объявить свои переменные.

const int digit1 = 2;

const int digit2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int digit5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1 = "двоичное в десятичное";

char array2 = "Конвертер";

int tim = 500; // значение времени задержки

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

В void setup () вы объявляете тип вывода для всех ваших переменных. Вы также будете использовать последовательное начало, потому что мы используем analogWrite ()

установка void ()

{

Serial.begin (9600);

pinMode (цифра1, ВХОД);

pinMode (цифра2, ВХОД);

pinMode (цифра 3, ВХОД);

pinMode (цифра4, ВХОД);

pinMode (цифра 5, ВХОД);

lcd.init ();

lcd.backlight ();

pinMode (redPin, ВЫХОД);

pinMode (greenPin, ВЫХОД);

pinMode (bluePin, ВЫХОД);

В void setup () я создал цикл for для создания сообщения с названием этого проекта. Причина, по которой он не находится в void loop (), заключается в том, что если он находится в этом void, сообщение будет продолжать повторяться

lcd.setCursor (15, 0); // установить курсор в столбец 15, строка 0

for (int positionCounter1 = 0; positionCounter1 <17; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // Прокручивает содержимое дисплея на одну позицию влево.

lcd.print (array1 [positionCounter1]); // Выводим сообщение на ЖК-дисплей.

задержка (время); // ждем 250 микросекунд

}

lcd.clear (); // Очищает ЖК-экран и помещает курсор в левый верхний угол.

lcd.setCursor (15, 1); // установить курсор в столбец 15, строка 1

for (int positionCounter = 0; positionCounter <9; positionCounter ++)

{

lcd.scrollDisplayLeft (); // Прокручивает содержимое дисплея на одну позицию влево.

lcd.print (array2 [positionCounter]); // Выводим сообщение на ЖК-дисплей.

delay (tim); // ждем 250 микросекунд

}

lcd.clear (); // Очищает ЖК-экран и помещает курсор в левый верхний угол.

}

Теперь, когда мы закончили void setup (), перейдем к void loop (). В цикле void я создал несколько операторов if-else, чтобы убедиться, что при включении или выключении определенных источников света на дисплее будет отображаться определенное десятичное число. Я приложил документ, показывающий, что находится внутри моего цикла void и многие другие пустоты, которые я создал. Щелкните здесь, чтобы просмотреть документ

Теперь все, что вам нужно сделать, это запустить код и наслаждаться новым преобразователем двоичного кода в десятичный.

Рекомендуемые: