Сконструировать микроэлектронную схему
Автор: maruf_94_94 • Январь 28, 2022 • Практическая работа • 368 Слов (2 Страниц) • 203 Просмотры
Практическое задание №1
Цель проекта: освоить принципы работы с микроконтроллерами, основы микроэлетроники и проектирования печатных плат
Задача проекта: в среде Tinkercad Arduino реализовать индикатор уровня заряда батареи.
- Tinkercad Arduino
Tinkercad Arduino представляет собой среду для разработчиков разных областей. Для решения нашей задачи, выбираем из раздела «Цепи» «Создать цепь»[pic 1]
[pic 2]
Рис. 1. Создание цепи
Справа в новой открывшейся страницы расположены все инструменты для проектирования печатных плат.
[pic 3]
Рис.2. Выбор микроэлектронных элементов
Перетаскиваем в пустую область для проектирования все необходимые микроэлектронные элементы и компоненты Табл.1.
Табл.1. Микроэлектронные элементы и компоненты
RGB – светодиод 1 шт | [pic 4] |
Батарейка на 1,5 В – 3шт | [pic 5] |
Плата ArduinoUno R3 – 1шт | [pic 6] |
Резисторы сопротивления – 3 шт | [pic 7] |
Делитель напряжения – 1шт | [pic 8] |
Мультиметр -1 шт | [pic 9] |
Освоив базовые знания по проектированию микроэлектронных элементов, начинаем сопрягать все выбранные для выполнения задания элементы.
[pic 10]
Рис.3. Создание схемы
Для определения сопротивлений для каждого цвета светодиода воспользуемся калькулятором - https://cxem.net/calc/ledcalc.php
Красный – 120 Ом
Желтый – 140 Ом
Зеленый – 150 Ом
- Написание кода
#define RGB_pin_green 2 #define RGB_pin_blue 3 #define RGB_pin_red 4 | Предустановка пинов 2,3,4 по цветам |
int potensiometr=0; | Создаем тип данных |
void setup() { pinMode(RGB_pin_green, OUTPUT); pinMode(RGB_pin_blue, OUTPUT); pinMode(RGB_pin_red, OUTPUT); pinMode(A0, OUTPUT); } | В этой функции мы объявляем с чем мы будем работать |
void loop() { potensiometr = analogRead(A0); potensiometr = map(potensiometr, 0, 1023, 0, 100);
if (potensiometr>=75) { digitalWrite(RGB_pin_green, HIGH); digitalWrite(RGB_pin_blue, LOW); digitalWrite(RGB_pin_red, LOW); } else if (potensiometr>=35) { digitalWrite(RGB_pin_green, HIGH); digitalWrite(RGB_pin_blue, LOW); digitalWrite(RGB_pin_red, HIGH); } else if (potensiometr<35) { digitalWrite(RGB_pin_green, LOW); digitalWrite(RGB_pin_blue, LOW); digitalWrite(RGB_pin_red, HIGH); } } | В этой функции мы выстраиваем основной код, который будет выполняться по циклу. |
...