====== Метеодатчик для компьютера ====== **[[arduino-projects:start|Проекты на Arduino Uno и Slot Shield]]** Метеодатчик легко подключить к компьютеру и вывести показания температуры и влажности в ''SerialPort''. {{ :arduino-projects:weather-station:weatherstation_fin1.png |}} Для этого понадобится [[amp>product/arduino-uno?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Arduino Uno]] и [[amp>product/troyka-meteo-sensor?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|цифровой метеосенсор]]. * Платформы: [[amp>product/arduino-uno?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Arduino Uno]], [[amp>product/arduino-leonardo?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Arduino Leonardo]], [[amp>product/iskra-neo?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Iskra Neo]] * Язык программирования: Arduino (C++) ===== Что потребуется ===== [[amp>collection/weather-station?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki | Полный сет]] компонентов проекта. В сет входят: * [[amp>product/arduino-uno?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Arduino Uno]] * [[amp>product/arduino-troyka-slot-shield?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Troyka Slot Shield]] * цифровой [[amp>product/troyka-meteo-sensor?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|метеодатчик]] * четырёхразряный индикатор [[amp>product/troyka-quad-display?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Quad Display]] ===== Видеоинструкция ===== {{youtube>MTm5PyIJJEY?large}} ===== Как собрать ===== Установите [[amp>product/arduino-troyka-slot-shield?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Troyka Slot Shield]] на [[amp>product/arduino-uno?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Arduino Uno]] {{ :arduino-projects:weather-station:weatherstation0.png |}} Подключите [[amp>product/troyka-quad-display?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|метеодатчик]] к пинам I²C разъёма ''A''. {{ :arduino-projects:weather-station:weatherstation1.png |}} Вставьте [[amp>product/troyka-quad-display?utm_source=proj&utm_campaign=arduino-slot-proj-6&utm_medium=wiki|Quad Display]] в разъёмы ''E'' и ''F''. Пин ''CS'' подключите к ''10'' пину Arduino. {{ :arduino-projects:weather-station:weatherstation2.png |}} ===== Скетч ===== Прошейте контроллер скетчем через [[articles:arduino-ide-install|Arduino IDE]]. // библиотека для работы I²C #include // библиотека для работы с метеосенсором #include // создаём объект для работы с метеосенсором TroykaMeteoSensor meteoSensor; // создаем объект класса long для хранения счетчика unsigned long respite_Meteo = 0; void setup() { // открываем последовательный порт Serial.begin(9600); // инициализируем метеосенсор meteoSensor.begin(); } void loop() { // запускаем бесконечный счетчик. Его содержимое будет обрабатываться каждые 1000 миллисекунд if (millis() - respite_Meteo > 1000) { // считываем данные с датчика int stateSensor = meteoSensor.read(); // проверяем состояние данных switch (stateSensor) { case SHT_OK: // выводим показания температуры для плоттера по последовательному соединению Serial.print(meteoSensor.getTemperatureC()); break; // выводим сообщение в Монитор порта, если ошибка данных или сенсор не подключён case SHT_ERROR_DATA: Serial.println("Data error or sensor not connected"); break; // выводим сообщение в Монитор порта, если ошибка контрольной суммы case SHT_ERROR_CHECKSUM: Serial.println("Checksum error"); break; } Serial.print('\t'); switch (stateSensor) { case SHT_OK: // выводим показания влажности для плоттера по последовательному соединению Serial.println(meteoSensor.getHumidity()); break; // выводим сообщение в Монитор порта, если ошибка данных или сенсор не подключён case SHT_ERROR_DATA: Serial.println("Data error or sensor not connected"); break; // выводим сообщение в Монитор порта, если ошибка контрольной суммы case SHT_ERROR_CHECKSUM: Serial.println("Checksum error"); break; } respite_Meteo = millis(); } } ====== Часто задаваемые вопросы ====== > Где скачать необходимые библиотеки и как их установить? * [[https://github.com/amperka/TroykaMeteoSensor|Библиотека для работы с метеосенсором]] * [[программирование:библиотеки|Как установить библиотеку]]