Основы программирования на Python Каширский / методички / Лабораторная работа № 3 2025
.pdfВариант 10: Параметры цифрового фильтра
Создать модель цифрового фильтра. Рассчитать:
1.Частоту Найквиста
2.Нормированную частоту среза
3.Сумму коэффициентов фильтра
4.Задержку фильтра
filter = {
"type": "ФНЧ", "order": 2,
"cutoff_frequency": 1000, "coefficients": [0.25, 0.5, 0.25], "sampling_rate": 10000
}
Вариант 11: Генератор сигналов
Создать модель генератора сигналов. Рассчитать:
1.Период сигнала
2.Амплитуду Vpp и Vrms
3.Угловую частоту
4.Мгновенное значение при фазе 45°
generator = {
"type": "синусоидальный", "frequency": 1000, "amplitude": 1.0,
"offset": 0.0, "phase": 0
}
Вариант 12: Характеристики осциллографа
Создать модель осциллографа. Вывести:
1.Все основные характеристики
2.Список доступных измерений
3.Время развертки для 10 периодов сигнала 1кГц
4.Объем памяти на канал
oscilloscope = { "channels": 2, "bandwidth": "100 МГц",
"memory": "1 Мточка/канал", "sampling_rate": "1 Гвыб/с",
"measurements": ["Vpp", "Vavg", "Freq", "Period", "RiseTime"]
}
Вариант 13: Микроконтроллер
Создать модель микроконтроллера. Вывести:
1.Полное описание микроконтроллера
2.Список всех периферийных модулей
3.Общий объем памяти
4.Соотношение типов памяти
mcu = {
"name": "ATmega328", "flash": "32 КБ", "ram": "2 КБ", "eeprom": "1 КБ", "pins": 28,
"peripherals": ["UART", "SPI", "I2C", "ADC", "PWM", "Timers"]
}
Вариант 14: Параметры интерфейса UART
Создать модель интерфейса UART. Рассчитать:
1.Время передачи одного бита и символа
2.Пропускную способность
3.Время передачи строки "Hello" (5 символов)
4.Номинальную и реальную скорость
interface = { "type": "UART", "baudrate": 9600, "databits": 8, "parity": "нет", "stopbits": 1
}
Вариант 15: Сетевая конфигурация
Создать модель сети устройств. Вывести:
1.Полную конфигурацию сети
2.Количество ведомых устройств
3.Время опроса всех устройств
4.Топологию и протокол связи
network = { "master": "ПК",
"slaves": ["Датчик1", "Датчик2", "Исполнитель1", "Дисплей"], "protocol": "Modbus RTU",
"speed": "115200 бод", "topology": "шина"
}
Вариант 16: Система управления
Создать модель системы управления. Вывести:
1.Все компоненты системы
2.Количество датчиков и исполнительных механизмов
3.Тип контроллера
4.Общую структуру системы
control_system = {
"sensors": ["Температура", "Давление", "Уровень", "Расход"], "actuators": ["Нагреватель", "Клапан", "Насос", "Вентилятор"], "controller": "ПИД-регулятор"
}
Вариант 17: База данных отказов
Создать базу данных отказов компонентов. Вывести:
1.Статистику отказов по компоненту
2.Самую частую причину отказа
3.Даты всех отказов
4.Общее количество отказов
failures = {
"component": "Конденсатор электролитический", "failures": [
{"date": "2024-01-10", "cause": "перегрев", "count": 5}, {"date": "2024-01-12", "cause": "перенапряжение", "count": 3}, {"date": "2024-01-15", "cause": "старение", "count": 2}
]
}
Вариант 18: Система мониторинга
Создать систему мониторинга параметров. Вывести:
1.Все параметры мониторинга с их пределами
2.Типы сигналов тревоги
3.Диапазоны нормальных значений
4.Соотношение минимальных и максимальных пределов
monitoring = {
"parameters": ["Напряжение", "Ток", "Температура", "Влажность"], "limits": {"min": [10, 0.1, 20, 30], "max": [14, 2.0, 80, 70]},
"alarms": ["Низкое напряжение", "Перегрузка", "Перегрев", "Высокая влажность"]
}
Вариант 19: Структура устройства
Создать структуру электронного устройства. Вывести:
1.Полное описание устройства
2.Список всех компонентов с их версиями
3.Основные характеристики устройства
4.Иерархию компонентов
device = {
"name": "Цифровой термометр", "version": "1.0",
"specifications": { "range": "-50...+150°C", "accuracy": "±0.5°C", "resolution": "0.1°C"
}, "components": {
"sensor": "LM35", "mcu": "ATmega328", "display": "LCD 16x2"
}
}
Вариант 20: Технические требования
Создать список технических требований. Вывести:
1.Все требования с их значениями
2.Допуски и пределы параметров
3.Наиболее строгое требование
4.Общую характеристику устройства
requirements = {
"power": {"voltage": "12±0.5V", "current": "1A max", "ripple": "50mV max"}, "environment": {"temp": "-40...+85°C", "humidity": "95% max"}, "reliability": {"MTBF": "10000 hours", "warranty": "2 years"}
}
Вариант 21: Система диагностики
Создать систему диагностики устройства. Вывести:
1.Результаты всех тестов
2.Общий статус устройства
3.Количество пройденных и непройденных тестов
4.Значения измеренных параметров
diagnostics = {
"device": "Блок питания", "tests": [
{"name": "Питание", "result": "PASS", "value": "12.1V"}, {"name": "Температура", "result": "FAIL", "value": "90°C"}, {"name": "Ток нагрузки", "result": "PASS", "value": "1.8A"}
]
}
Вариант 22: Конфигурация системы
Создать конфигурацию измерительной системы. Рассчитать:
1.Общий объем буфера данных
2.Время заполнения буфера
3.Соотношение каналов
4.Масштабные коэффициенты
configuration = { "sampling_rate": 1000, "buffer_size": 1024,
"channels": ["AI0", "AI1", "AO0", "DIO0"], "scaling": [1.0, 2.5, 1.0, 1.0]
}
Вариант 23: Результаты эксперимента
Создать структуру экспериментальных данных. Рассчитать:
1.Размах значений напряжения и тока
2.Средние значения параметров
3.Соотношение Vce и Ic
4.Характеристики транзистора
experiment = {
"name": "Характеристика транзистора",
"data": {
"Vce": [0, 1, 2, 3, 4, 5],
"Ic": [0, 0.1, 0.2, 0.3, 0.4, 0.5]
}
}
Вариант 24: База знаний компонентов
Создать базу знаний электронных компонентов. Вывести:
1.Все типы компонентов с их обозначениями
2.Единицы измерения для каждого типа
3.Полный справочник компонентов
4.Стандартные обозначения
knowledge_base = { "components": {
"резистор": {"unit": "Ом", "symbol": "R", "tolerance": "%"}, "конденсатор": {"unit": "Ф", "symbol": "C", "voltage": "V"}, "катушка": {"unit": "Гн", "symbol": "L", "current": "A"}
}
}
Вариант 25: Система документирования
Создать систему файлов документации. Вывести:
1.Полный список файлов проекта
2.Типы документов и их количество
3.Основные файлы проекта
4.Структуру документации
documentation = { "schematic": "controller.sch", "layout": "controller.brd", "bom": "controller_bom.csv", "firmware": "firmware.hex", "manual": "user_manual.pdf"
}
Вариант 26: Профиль нагрузки
Создать профиль нагрузки устройства. Рассчитать:
1.Среднюю потребляемую мощность
2.Пиковую мощность
3.Энергию за период измерений
4.Коэффициент нагрузки
load_profile = {
"time": [0, 1, 2, 3, 4, 5], "power": [10, 20, 15, 25, 30, 20],
"current": [0.8, 1.6, 1.2, 2.0, 2.4, 1.6]
}
Вариант 27: Калибровочная кривая
Создать калибровочную кривую датчика. Рассчитать:
1.Чувствительность датчика
2.Погрешность в середине диапазона
3.Выходной сигнал для произвольной температуры
4.Линейность характеристики
calibration_curve = {
"sensor": "Термопара K-type", "points": [
{"temp": 0, "voltage": 0.000}, {"temp": 100, "voltage": 4.095}, {"temp": 200, "voltage": 8.137}, {"temp": 300, "voltage": 12.207}
]
}
Вариант 28: Система версионирования
Создать систему управления версиями. Вывести:
1.Версии всех компонентов системы
2.Даты последних изменений
3.Самый старый и самый новый компонент
4.Общую версию системы
version_control = {
"hardware": {"version": "1.2", "date": "2024-01-15", "changes": "добавлен разъем"},
"firmware": {"version": "2.1", "date": "2024-01-10", "changes": "оптимизация
кода"},
"documentation": {"version": "1.0", "date": "2024-01-05", "changes": "первоначальная версия"}
}
Вариант 29: Матрица связей
Создать матрицу связей компонентов. Вывести:
1.Все соединения для каждого компонента
2.Количество подключений каждого компонента
3.Наиболее connected компонент
4.Общую схему соединений
connection_matrix = {
"U1": {"pin1": "Vcc", "pin2": "GND", "pin3": "OUT", "pin4": "IN"}, "U2": {"pin1": "IN", "pin2": "GND", "pin3": "Vcc", "pin4": "CTRL"}, "J1": {"pin1": "U1.pin3", "pin2": "U2.pin1", "pin3": "GND"}
}
Вариант 30: База данных проектов
Создать базу данных проектов. Вывести:
1.Статистику по всем проектам
2.Самый дорогой и самый дешевый проект
3.Общую стоимость всех проектов
4.Состояние завершенности проектов
projects_database = { "project1": {
"name": "Блок питания", "status": "завершен", "components": 25, "cost": 1500,
"duration": "2 месяца"
}, "project2": {
"name": "Контроллер", "status": "в разработке", "components": 50, "cost": 3000, "duration": "3 месяца"
}, "project3": {
"name": "Датчик температуры", "status": "планирование", "components": 15,
"cost": 800, "duration": "1 месяц"
}
}
