You are on page 1of 9

Міністерство освіти і науки, молоді та спорту України

Сумський державний університет


Факультет електроніки та інформаційних технологій
Кафедра комп′ютерних наук

Обов’язкове домашнє завдання


з дисципліни «Експлуатація мікропроцесорних систем»

Варіант 1

Виконав:
студент гр. СУ.м-21 Сазонов Д.А.

Перевірив:
доцент каф. КН Соколов С. В.

Суми – 2022
1. Опишіть особливості, характеристики, розпіновку, призначення,
переваги, недоліки мікроконтролера Raspberry Pi 4B

Raspberry Pi 4B є найновішою моделлю мікроконтролера від Raspberry Pi


Foundation. Вона має наступні особливості та характеристики:
● Процесор: Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC
@ 1.5GHz
● Великий обсяг пам'яті: моделі Raspberry Pi 4B доступні 2, 4 або 8 Гб
LPDDR4-3200 SDRAM, що забезпечує достатню пам'ять для багатьох
завдань
● Графічний інтерфейс: VideoCore VI

● Інтерфейси: 2 USB 3.0 ports, 2 USB 2.0 ports, 2 порти Ethernet, 2 порти
HDMI, 3.5mm audio jack і 40-pin GPIO header
● Підтримка дискретної відеокарти: немає

● Підтримка мультимедійних форматів: H.265 (4kp60 decode), H.264


(1080p60 decode, 1080p30 encode)
● Підтримка ОС: Linux, Windows 10 IoT

● Розміри: 88 x 58 x 19.5 мм

● Вага: 45 г

Однак недоліки Raspberry Pi 4B також є, включаючи:


● Недостатню підтримку дискретної відеокарти, що може обмежувати
якість графіки
● Високий енерговитратний режим, що може призвести до високого рівня
жару
● Відсутність бездротового інтерфейсу за замовчуванням.
Рисунок 1 - Розпiновка Raspberry Pi 4B

Розпіновка Raspberry Pi 4B включає в себе порти USB, Ethernet, HDMI, audio, і


GPIO. Це дозволяє використовувати її для різноманітних завдань, включаючи
настільні комп'ютери, сервери, проекти ІoT і мультимедійні системи.
Переваги Raspberry Pi 4B включають:
● Високу продуктивність завдяки процесору Cortex-A72

● Великий обсяг пам'яті, до 8 Гб


● Доступна ціна

● Широкий вибір ОС, як Linux, так і Windows 10 IoT

● Розширені інтерфейси, які дозволяють робити багато різноманітні


проекти
Використана література
Інтернет ресурс: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
Інтернет ресурс: https://magpi.raspberrypi.com/articles/raspberry-pi-4-specs-
benchmarks
Інтернет ресурс: https://miniboard.com.ua/boards/854-raspberry-pi-4-model-b.html
2. Опишіть особливості програмного (налаштування, приклад коду) і/або
апаратного (распіновка, необхідне обладнання) узгодження певного
протоколу із мікроконтролером (Arduino) або одноплатним комп’ютером
(Raspberry Pi). Наведіть посилання на використані джерела інформації.

1-Wire є протоколом для з'єднання датчиків та периферійних пристроїв з


мікроконтролером (наприклад, Arduino) або одноплатним комп'ютером
(наприклад, Raspberry Pi) з використанням тільки одного каналу даних.
Налаштування програмного забезпечення для 1-Wire на Raspberry Pi
вимагає включення підтримки 1-Wire у налаштуваннях системи та встановлення
необхідної бібліотеки. Наприклад, для роботи з 1-Wire у Python, може бути
використана бібліотека w1thermsensor. Нижче приведений приклад коду, який
демонструє читання даних з датчика температури з використанням бібліотеки
w1thermsensor:

from w1thermsensor import W1ThermSensor


sensor = W1ThermSensor()
temperature = sensor.get_temperature()
print(temperature)

Для налаштування апаратного з'єднання, потрібно знати розпіновку


портів 1-Wire на платі Raspberry Pi. Зазвичай, порт 1-Wire знаходиться на платі
Raspberry Pi на піні 4. Рекомендовано використовувати 3.3V, щоб уникнути
пошкодження плати або підключеного обладнання. Для роботи з 1-Wire також
може знадобитися додаткове обладнання, таке як роз'єми з'єднання, провідники
та інше.
Рисунок 2 - Підключення DS18020 до Raspberry Pi

Використана література
Інтернет ресурс: https://www.raspberrypi.com/documentation/
Інтернет ресурс: https://forums.raspberrypi.com/
3. Опишіть обґрунтування вибору схемного рішення, особливості
апаратного (распіновка, необхідне обладнання) і програмного
(налаштування, приклад коду) узгодження підключення Термометру опору
PT 100 до одноплатного комп’ютера (Raspberry Pi). Наведіть посилання на
використані джерела інформації.

Рисунок 3 - Ультразвуковий датчик D12

Ультразвуковий датчик D12 (XX512A2PAM8) є одним з популярних видів


датчиків відстані, який використовує ультразвукову технологію для
вимірювання відстані до предмету. Його основні переваги включають високу
точність, швидкість та низьку ціну.
Для підключення датчика до Raspberry Pi, потрібно мати роз'єм TRIG та ECHO,
щоб відправити сигнал та отримати відповідь від датчика. Рекомендовано
використовувати підсилення сигналу, щоб забезпечити більшу точність
вимірювання. Розпіновка може залежати від конкретної моделі датчика, тому
рекомендовано ознайомитися з інструкцією для конкретного датчика.
Приклад коду для підключення датчика D12 до Raspberry Pi може
виглядати так:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
TRIG = 23
ECHO = 24
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.output(TRIG, False)
time.sleep(2)
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
while GPIO.input(ECHO)==0:
pulse_start = time.time()
while GPIO.input(ECHO)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round(distance, 2)
print("Distance:",distance,"cm")
GPIO.cleanup()

Щодо підключення PT 100 до Raspberry Pi, одним з варіантів є


використання модуля АЦП (Аналого-цифрового перетворювача) для зчитування
аналогового сигналу від термометра. Для цього можна використовувати модулі
MCP3008 або MCP3208. Також можна використовувати спеціальні модулі для
термометрів PT100 як MAX31865.
Для програмного налаштування, може бути використана бібліотека
Python, яка дозволяє робити читання з модуля АЦП та обробляти зчитані дані.
Приклад коду для підключення PT 100 до Raspberry Pi з використанням модуля
MCP3208 може виглядати так:

import spidev
import time
spi = spidev.SpiDev()
spi.open(0,0)
def read_adc(channel):
adc = spi.xfer2([1, (8+channel)<<4, 0])
data = ((adc[1]&3) << 8) + adc[2]
return data
while True:
temp_reading = read_adc(0)
temperature = (temp_reading * 3.3) / 1024
print("Temperature: ", temperature)
time.sleep(1)

Використана література
Інтернет ресурс: https://watt-shop.com/ua/avtomatizatsiya-i-promyshlennyj-
kontrol/datchiki-ultrazvukovye/42943.html
Інтернет ресурс:
https://learn.adafruit.com/adafruit-max31865-rtd-pt100-amplifier/python-
circuitpython

You might also like