24. Практическая работа «Разработка мобильной станции экологического мониторинга»
Модуль: Прикладная робототехника
Тема урока: 24. Практическая работа «Разработка мобильной станции экологического мониторинга»
Цель урока: Сформировать практические навыки создания робототехнической системы для сбора экологических данных, их визуализации и передачи на компьютер.
Планируемые результаты:
Предметные:
- Знать принципы работы датчиков экологического мониторинга
- Уметь подключать и программировать различные типы сенсоров
- Владеть навыками сбора и обработки данных с датчиков
- Понимать основы передачи данных между робототехническими системами и компьютером
Метапредметные:
- Регулятивные УУД: умение планировать этапы создания роботизированной системы, контролировать качество сбора данных
- Познавательные УУД: обработка и анализ информации с датчиков, применение знаний из разных предметных областей
- Коммуникативные УУД: работа в команде, распределение обязанностей, представление результатов
Личностные:
- Формирование экологического мышления и бережного отношения к окружающей среде
- Развитие инженерного подхода к решению практических задач
- Воспитание ответственности за качество собираемых данных
Задачи урока:
- Закрепить знания о типах датчиков для экологического мониторинга
- Сформировать навыки конструирования мобильной платформы с набором сенсоров
- Научить калибровать датчики для повышения точности измерений
- Развить умения программировать сбор, отображение и передачу данных
- Создать функционирующую модель мобильной станции экологического мониторинга
Тип урока: Практическая работа
Учебно-методическое и материально-техническое обеспечение:
- Робототехнические наборы с контроллерами (по количеству групп)
- Датчики: температуры, влажности, освещенности, качества воздуха, и др.
- Дисплеи для отображения данных
- Модули беспроводной связи (Bluetooth, Wi-Fi)
- Компьютеры с установленной средой программирования
- Программное обеспечение для приема и визуализации данных
- Инструкционные карты по подключению и программированию датчиков
- Материалы для калибровки датчиков (термометр, люксметр и др.)
- Карта местности для планирования маршрута мониторинга
- Зарядные устройства и дополнительные аккумуляторы
Образовательные технологии: Проектная деятельность, работа в малых группах, практико-ориентированное обучение
Межпредметные связи:
- Информатика: сбор, хранение и визуализация данных датчиков, программирование
- Физика: калибровка сенсоров, учет внешних факторов при измерениях
- География: геолокация собираемых данных, построение карт экологических параметров
- Экология: понимание экологических параметров и их значимости
Этап урока | Деятельность учителя | Деятельность ученика | Планируемые результаты предметные | Планируемые результаты УУД |
---|---|---|---|---|
1. Организационный момент (3 мин) | Приветствует учащихся, проверяет готовность к уроку. Организует деление на рабочие группы по 3-4 человека. | Готовятся к уроку, формируют рабочие группы, проверяют наличие необходимого оборудования. | Регулятивные: самоорганизация, готовность к работе | |
2. Актуализация знаний и постановка задачи (7 мин) | Напоминает основные типы датчиков для экологического мониторинга и их применение (с предыдущего урока). Формулирует задачу практической работы: “Сегодня вам предстоит создать мобильную станцию экологического мониторинга, которая будет собирать данные об окружающей среде, отображать их и передавать на компьютер для анализа”. Демонстрирует пример готовой мобильной станции или видеоролик с аналогичным проектом. |
Вспоминают материал предыдущего урока о датчиках и системах экологического мониторинга. Воспринимают задачу практической работы. Задают уточняющие вопросы. Анализируют представленный пример. |
Воспроизведение знаний о типах датчиков для экологического мониторинга. Понимание задачи по созданию мобильной станции. |
Познавательные: актуализация имеющихся знаний. Регулятивные: принятие учебной задачи. |
3. Планирование работы (5 мин) | Обсуждает с учащимися этапы создания мобильной станции мониторинга: 1. Выбор параметров для измерения 2. Конструирование мобильной платформы 3. Установка и подключение датчиков 4. Калибровка сенсоров 5. Программирование сбора и отображения данных 6. Настройка передачи данных на компьютер 7. Тестирование системы Распределяет роли в группах: - Конструктор (сборка платформы) - Электронщик (подключение датчиков) - Программист (написание программы) - Тестировщик (проверка работы) |
Участвуют в обсуждении этапов создания проекта. Распределяют роли в группе. Планируют последовательность действий. |
Регулятивные: планирование деятельности. Коммуникативные: распределение ролей, согласование действий. |
|
4. Инструктаж по работе с оборудованием и технике безопасности (5 мин) | Проводит инструктаж по работе с электронными компонентами и технике безопасности: - Правила подключения датчиков - Предотвращение короткого замыкания - Работа с аккумуляторами - Обращение с чувствительными сенсорами Раздает инструкционные карты по подключению датчиков и программированию. |
Слушают инструктаж по технике безопасности. Изучают инструкционные карты. Задают вопросы по работе с оборудованием. |
Знание правил безопасной работы с электронными компонентами. | Регулятивные: усвоение правил безопасной работы. |
5. Практическая работа: Конструирование мобильной платформы (10 мин) | Консультирует группы по конструированию мобильной платформы: - Помогает выбрать оптимальную конструкцию - Подсказывает, как обеспечить устойчивость - Обращает внимание на размещение компонентов - Контролирует правильность сборки Акцентирует внимание на необходимости продумать расположение датчиков для корректного измерения параметров окружающей среды. |
Конструируют мобильную платформу: - Собирают базовую конструкцию - Устанавливают моторы и колеса - Подготавливают места для монтажа датчиков - Размещают контроллер и источник питания - Проверяют устойчивость и мобильность платформы |
Умение конструировать робототехническую платформу с учетом её функционального назначения. Навыки оптимального размещения компонентов. |
Познавательные: конструирование, пространственное мышление. Регулятивные: последовательное выполнение этапов сборки. |
6. Практическая работа: Установка и подключение датчиков (15 мин) | Консультирует группы по установке и подключению датчиков: - Объясняет принципы работы различных сенсоров - Помогает с подключением к контроллеру - Подсказывает оптимальное расположение - Обращает внимание на правильность соединений Обсуждает с учащимися физические принципы работы датчиков и факторы, влияющие на точность измерений. |
Устанавливают и подключают датчики к платформе: - Монтируют сенсоры в оптимальных местах - Соединяют датчики с контроллером - Проверяют правильность подключения - Обсуждают физические принципы работы датчиков - Учитывают факторы, влияющие на точность измерений |
Умение подключать различные типы сенсоров к робототехнической платформе. Понимание принципов работы датчиков и факторов, влияющих на измерения. |
Познавательные: понимание принципов работы электронных компонентов, применение знаний из физики. Регулятивные: контроль правильности подключения. |
7. Физкультминутка (2 мин) | Проводит короткую физкультминутку для снятия напряжения и усталости. | Выполняют упражнения для расслабления глаз и мышц. | Регулятивные: саморегуляция. | |
8. Практическая работа: Калибровка датчиков (8 мин) | Объясняет процесс калибровки датчиков: - Демонстрирует методы сравнения показаний с эталонными измерениями - Объясняет необходимость учета внешних факторов - Помогает настраивать коэффициенты коррекции Межпредметная связь с физикой: обсуждает погрешности измерений и способы их минимизации. |
Выполняют калибровку датчиков: - Сравнивают показания с эталонными измерениями - Вносят корректировки в настройки - Учитывают влияние внешних факторов - Документируют результаты калибровки - Устанавливают связь с физическими принципами измерений |
Умение калибровать датчики для повышения точности измерений. Понимание причин возникновения погрешностей и способов их минимизации. |
Познавательные: применение знаний из физики, анализ факторов, влияющих на точность. Регулятивные: корректировка настроек, контроль результатов. |
9. Практическая работа: Программирование сбора и отображения данных (15 мин) | Консультирует группы по программированию: - Помогает с написанием кода для сбора данных с датчиков - Объясняет способы обработки и фильтрации данных - Подсказывает, как реализовать отображение на дисплее - Обращает внимание на структуру данных Межпредметная связь с информатикой: обсуждает алгоритмы обработки данных, структуры данных, форматирование для отображения. |
Программируют сбор и отображение данных: - Пишут код для считывания показаний датчиков - Реализуют обработку и фильтрацию данных - Программируют вывод информации на дисплей - Тестируют работу программы - Отлаживают код при возникновении проблем - Применяют знания из информатики о структурах данных и алгоритмах |
Умение программировать сбор и обработку данных с датчиков. Навыки отображения информации в удобном формате. Понимание алгоритмов обработки сенсорных данных. |
Познавательные: алгоритмическое мышление, применение знаний из информатики. Регулятивные: отладка программы, исправление ошибок. |
10. Практическая работа: Настройка передачи данных на компьютер (10 мин) | Объясняет способы передачи данных на компьютер: - Демонстрирует настройку беспроводной связи - Показывает форматы передачи данных - Объясняет принципы работы программы для приема данных Помогает настроить программу на компьютере для приема и визуализации данных. Межпредметная связь с географией: обсуждает привязку данных к географическим координатам и создание экологических карт. |
Настраивают передачу данных: - Подключают и настраивают модуль беспроводной связи - Программируют передачу данных в нужном формате - Устанавливают соединение с компьютером - Настраивают программу для приема и визуализации данных - Обсуждают возможности геопривязки данных и создания экологических карт |
Умение настраивать беспроводную передачу данных. Навыки работы с форматами данных. Понимание принципов визуализации экологической информации. |
Познавательные: понимание принципов передачи данных, применение знаний из информатики и географии. Коммуникативные: взаимодействие при настройке системы. |
11. Тестирование и отладка системы (10 мин) | Организует тестирование мобильных станций мониторинга: - Предлагает проверить работу системы в различных условиях - Помогает выявить и устранить проблемы - Обращает внимание на качество собираемых данных - Консультирует по вопросам оптимизации Создает различные условия для проверки (изменение освещения, температуры и т.д.) |
Тестируют работу мобильной станции мониторинга: - Проверяют сбор данных с датчиков - Контролируют отображение информации на дисплее - Тестируют передачу данных на компьютер - Проверяют работу системы в различных условиях - Выявляют и устраняют проблемы - Оптимизируют работу системы |
Умение тестировать робототехническую систему. Навыки выявления и устранения проблем. Понимание факторов, влияющих на качество собираемых данных. |
Регулятивные: контроль результатов, коррекция недостатков. Познавательные: анализ работы системы, выявление причин неполадок. |
12. Демонстрация результатов (10 мин) | Организует демонстрацию работы мобильных станций мониторинга: - Предоставляет каждой группе время для презентации (2-3 мин) - Задает вопросы о принципах работы и особенностях системы - Предлагает провести измерения в различных точках класса - Обращает внимание на сравнение данных от разных групп - Стимулирует обсуждение точности и достоверности измерений |
Представляют результаты работы: - Демонстрируют функционирование мобильной станции - Объясняют принципы сбора и обработки данных - Показывают результаты измерений и их визуализацию - Сравнивают данные с результатами других групп - Обсуждают факторы, влияющие на точность измерений - Отвечают на вопросы |
Умение представлять и объяснять принципы работы созданной системы. Навыки анализа и интерпретации экологических данных. Понимание достоинств и недостатков созданной системы. |
Коммуникативные: представление результатов, аргументация, ответы на вопросы. Познавательные: анализ данных, сравнение результатов, выявление закономерностей. |
13. Обсуждение применения созданных систем (5 мин) | Организует обсуждение потенциального применения созданных систем: - Предлагает подумать о возможных сценариях использования - Обсуждает значимость таких систем для экологического мониторинга - Стимулирует связь с реальными экологическими проблемами - Подводит к идее долгосрочного мониторинга |
Участвуют в обсуждении: - Предлагают варианты применения созданных систем - Обсуждают значимость собираемых данных - Связывают технологии с решением экологических проблем - Предлагают идеи для улучшения систем |
Понимание практической значимости созданных систем. Осознание связи между технологиями и решением экологических проблем. |
Личностные: осознание экологической значимости проекта. Познавательные: анализ возможностей применения. Коммуникативные: участие в дискуссии. |
14. Рефлексия и подведение итогов (3 мин) | Организует рефлексию с использованием метода “Экодатчик”: - Что было самым интересным в проекте? - Какие трудности возникли при создании системы? - Какие знания из других предметов вам пригодились? - Как можно улучшить созданную систему? Подводит итоги урока. Оценивает работу групп. |
Участвуют в рефлексии: - Делятся впечатлениями от работы - Анализируют возникшие трудности - Определяют межпредметные связи - Предлагают идеи для улучшения - Оценивают свой вклад в групповую работу |
Регулятивные: оценка деятельности. Личностные: осознание приобретенного опыта. Познавательные: рефлексия межпредметных связей. |
|
15. Домашнее задание (2 мин) | Объясняет домашнее задание: 1. Обязательная часть: подготовить отчет о созданной мобильной станции мониторинга с указанием используемых датчиков, принципов работы и полученных результатов 2. Творческое задание (по желанию): предложить план проведения экологического исследования с использованием созданной станции мониторинга |
Записывают домашнее задание. Задают уточняющие вопросы. |
Регулятивные: планирование самостоятельной работы. |
Arduino UNO/MEGA <-> Датчики и периферия:
1. Датчик температуры и влажности DHT22:
- VCC -> 5V
- GND -> GND
- DATA -> Digital Pin 2
2. Датчик освещенности BH1750:
- VCC -> 3.3V
- GND -> GND
- SCL -> SCL (Arduino Uno: A5, Mega: 21)
- SDA -> SDA (Arduino Uno: A4, Mega: 20)
3. Датчик качества воздуха MQ-135:
- VCC -> 5V
- GND -> GND
- AOUT -> Analog Pin A0
4. GPS-модуль (опционально):
- VCC -> 5V
- GND -> GND
- TX -> Digital Pin 10 (RX на Arduino)
- RX -> Digital Pin 11 (TX на Arduino)
5. Дисплей LCD I2C:
- VCC -> 5V
- GND -> GND
- SCL -> SCL (Arduino Uno: A5, Mega: 21)
- SDA -> SDA (Arduino Uno: A4, Mega: 20)
6. Bluetooth модуль HC-05/HC-06:
- VCC -> 5V
- GND -> GND
- TX -> Digital Pin 8 (RX на Arduino)
- RX -> Digital Pin 9 (TX на Arduino)
7. SD Card модуль (для локального хранения данных):
- VCC -> 5V
- GND -> GND
- MOSI -> Digital Pin 11 (MOSI)
- MISO -> Digital Pin 12 (MISO)
- SCK -> Digital Pin 13 (SCK)
- CS -> Digital Pin 4
// Библиотеки для работы с датчиками
#include <DHT.h>
#include <Wire.h>
#include <BH1750.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
// Определение пинов и констант
#define DHTPIN 2 // Пин для датчика DHT22
#define DHTTYPE DHT22 // Тип датчика DHT
#define MQ135_PIN A0 // Аналоговый пин для датчика качества воздуха
#define BT_RX 8 // RX для Bluetooth модуля
#define BT_TX 9 // TX для Bluetooth модуля
// Инициализация объектов
DHT dht(DHTPIN, DHTTYPE);
BH1750 lightMeter;
LiquidCrystal_I2C lcd(0x27, 16, 2); // Адрес 0x27, 16 столбцов, 2 строки
SoftwareSerial bluetooth(BT_RX, BT_TX);
// Переменные для хранения данных
float temperature = 0;
float humidity = 0;
float light = 0;
int airQuality = 0;
// Коэффициенты калибровки
float tempCalibration = 1.0;
float humidityCalibration = 1.0;
float lightCalibration = 1.0;
float airQualityCalibration = 1.0;
// Интервал между измерениями (мс)
const long interval = 3000;
unsigned long previousMillis = 0;
void setup() {
// Инициализация последовательных портов
Serial.begin(9600);
bluetooth.begin(9600);
// Инициализация датчиков
dht.begin();
Wire.begin();
lightMeter.begin();
// Инициализация дисплея
lcd.init();
lcd.backlight();
lcd.print("Eco Monitor");
lcd.setCursor(0, 1);
lcd.print("Initializing...");
delay(2000);
}
void loop() {
unsigned long currentMillis = millis();
// Проверяем, прошел ли интервал для нового измерения
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
// Считываем данные с датчиков
readSensors();
// Отображаем данные на дисплее
displayData();
// Отправляем данные через Bluetooth
sendData();
}
}
void readSensors() {
// Считываем температуру и влажность
temperature = dht.readTemperature() * tempCalibration;
humidity = dht.readHumidity() * humidityCalibration;
// Считываем освещенность
light = lightMeter.readLightLevel() * lightCalibration;
// Считываем качество воздуха
airQuality = analogRead(MQ135_PIN) * airQualityCalibration;
// Выводим данные в консоль для отладки
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.print(" %, Light: ");
Serial.print(light);
Serial.print(" lx, Air Quality: ");
Serial.println(airQuality);
}
void displayData() {
// Очищаем дисплей
lcd.clear();
// Выводим температуру и влажность на первую строку
lcd.setCursor(0, 0);
lcd.print("T:");
lcd.print(temperature, 1);
lcd.print("C ");
lcd.print("H:");
lcd.print(humidity, 0);
lcd.print("%");
// Выводим освещенность и качество воздуха на вторую строку
lcd.setCursor(0, 1);
lcd.print("L:");
lcd.print(light, 0);
lcd.print("lx ");
lcd.print("A:");
lcd.print(airQuality);
}
void sendData() {
// Формируем строку с данными в формате CSV
String dataString = String(temperature) + "," + String(humidity) + "," +
String(light) + "," + String(airQuality);
// Отправляем данные через Bluetooth
bluetooth.println(dataString);
}
import serial
import time
import matplotlib.pyplot as plt
from datetime import datetime
import csv
# Настройки последовательного порта (порт и скорость нужно настроить под ваше устройство)
PORT = 'COM5' # для Windows, для Linux будет что-то вроде '/dev/ttyUSB0'
BAUD_RATE = 9600
# Инициализация переменных для хранения данных
timestamps = []
temperatures = []
humidities = []
light_levels = []
air_qualities = []
# Настройка графика
plt.ion() # Включаем интерактивный режим
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(10, 8))
fig.suptitle('Мониторинг окружающей среды в реальном времени')
# Функция для обновления графиков
def update_plots():
# Очистка графиков
ax1.clear()
ax2.clear()
ax3.clear()
ax4.clear()
# Настройка графиков
ax1.set_title('Температура (°C)')
ax1.plot(timestamps, temperatures, 'r-')
ax2.set_title('Влажность (%)')
ax2.plot(timestamps, humidities, 'b-')
ax3.set_title('Освещенность (lx)')
ax3.plot(timestamps, light_levels, 'y-')
ax4.set_title('Качество воздуха')
ax4.plot(timestamps, air_qualities, 'g-')
# Форматирование
for ax in [ax1, ax2, ax3, ax4]:
ax.grid(True)
if len(timestamps) > 0:
ax.set_xlim(max(0, timestamps[-1] - 60), timestamps[-1] + 5) # Показываем последние 60 секунд
plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.draw()
plt.pause(0.1)
# Функция для сохранения данных в CSV
def save_to_csv():
with open(f'eco_data_{datetime.now().strftime("%Y%m%d_%H%M%S")}.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Timestamp', 'Temperature', 'Humidity', 'Light', 'Air Quality'])
for i in range(len(timestamps)):
writer.writerow([timestamps[i], temperatures[i], humidities[i], light_levels[i], air_qualities[i]])
try:
# Открываем последовательный порт
ser = serial.Serial(PORT, BAUD_RATE)
print(f"Подключено к {PORT} со скоростью {BAUD_RATE}")
# Время начала
start_time = time.time()
while True:
# Читаем строку данных
if ser.in_waiting:
data = ser.readline().decode('utf-8').strip()
try:
# Парсим полученные данные
temp, hum, light, air = map(float, data.split(','))
# Добавляем данные в списки
current_time = time.time() - start_time
timestamps.append(current_time)
temperatures.append(temp)
humidities.append(hum)
light_levels.append(light)
air_qualities.append(air)
# Выводим значения в консоль
print(f"Время: {current_time:.1f}s, Температура: {temp}°C, Влажность: {hum}%, Освещенность: {light}lx, Качество воздуха: {air}")
# Обновляем графики
update_plots()
except ValueError:
print(f"Ошибка при парсинге данных: {data}")
time.sleep(0.1)
except KeyboardInterrupt:
print("\nЗавершение работы...")
save_to_csv()
print("Данные сохранены в CSV файл")
except Exception as e:
print(f"Ошибка: {e}")
finally:
try:
ser.close()
except:
pass
plt.close()
-
Датчик температуры:
- Сравните показания датчика с эталонным термометром в различных условиях
- Вычислите среднее отклонение
- Внесите коэффициент коррекции в код (
tempCalibration
)
-
Датчик влажности:
- Для калибровки при низкой влажности: поместите датчик в герметичный контейнер с сухим силикагелем (относительная влажность около 10%)
- Для калибровки при высокой влажности: поместите датчик над водой в герметичном контейнере (относительная влажность около 90-95%)
- Вычислите коэффициент коррекции и внесите в код (
humidityCalibration
)
-
Датчик освещенности:
- Сравните показания с профессиональным люксметром при разных условиях освещения
- Определите корректирующий коэффициент
- Внесите коррекцию в код (
lightCalibration
)
-
Датчик качества воздуха:
- Проведите измерения на свежем воздухе для установления базового уровня
- Сравните показания в различных условиях (проветриваемое помещение, закрытое помещение)
- Внесите корректирующие коэффициенты в код (
airQualityCalibration
)
Таблица калибровки датчиков
Группа: _________ Дата: __________
|---------------|--------------|---------------|----------------|----------------|
| Датчик | Показание | Эталонное | Отклонение | Коэффициент |
| | датчика | значение | | калибровки |
|---------------|--------------|---------------|----------------|----------------|
| Температура | | | | |
| (DHT22) | | | | |
|---------------|--------------|---------------|----------------|----------------|
| Влажность | | | | |
| (DHT22) | | | | |
|---------------|--------------|---------------|----------------|----------------|
| Освещенность | | | | |
| (BH1750) | | | | |
|---------------|--------------|---------------|----------------|----------------|
| Качество | | | | |
| воздуха | | | | |
|---------------|--------------|---------------|----------------|----------------|
Примечания:
_______________________________________________________
_______________________________________________________
Конструкция мобильной станции (0-5 баллов):
- Функциональность и надежность конструкции (0-2)
- Правильное размещение датчиков (0-2)
- Эстетика и аккуратность исполнения (0-1)
Электроника и подключение (0-5 баллов):
- Правильность подключения датчиков (0-2)
- Качество калибровки сенсоров (0-2)
- Энергоэффективность и автономность (0-1)
Программирование (0-5 баллов):
- Корректность алгоритма сбора данных (0-2)
- Реализация отображения данных на дисплее (0-1)
- Реализация передачи данных на компьютер (0-2)
Функциональность системы (0-5 баллов):
- Точность и достоверность собираемых данных (0-2)
- Стабильность работы системы (0-1)
- Удобство использования и информативность (0-1)
- Возможность расширения функционала (0-1)
Максимальный балл: 20 Шкала перевода в оценку:
- 18-20 баллов - “5”
- 14-17 баллов - “4”
- 10-13 баллов - “3”
- менее 10 баллов - “2”
Фамилия, имя: _________________________
Группа: _______
Что было самым интересным в проекте?
_________________________________________________
_________________________________________________
Какие трудности возникли при создании системы?
_________________________________________________
_________________________________________________
Какие знания из других предметов вы применили в данной работе?
_________________________________________________
_________________________________________________
Как можно улучшить созданную систему?
_________________________________________________
_________________________________________________
Какой вклад в защиту окружающей среды может внести ваша система?
_________________________________________________
_________________________________________________
Оцените свой вклад в работу группы (от 1 до 5): _______