Прошивка бортового компьютера:
Версия 1 прошивки бортового компьютера метеозонда Iskra2:
/*
* **************************************
* **************************************
Программное обеспечение метеорологического зонада Iskra 2
школьной лаборатории информатики
МБОУ «Школа №7» город Богородск
* **************************************
* **************************************
*/
/**************DHT*****************/
#include «DHT.h»
#define DHTPIN 7//пин подключения датчика
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
/********BMP180**********************/
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
/**************ds*****************
#include <OneWire.h>
#include <DallasTemperature.h>// библиотека для работы с датчиком DS18B20
#define ONE_WIRE_BUS 13// сигнальный провод датчика
OneWire oneWire(ONE_WIRE_BUS);// создаём объект для работы с библиотекой OneWire
DallasTemperature sensor(&oneWire);// создадим объект для работы с библиотекой DallasTemperature
/*******************************SD********************/
#include <SPI.h>
#include <SD.h>
File myFile;
Sd2Card card;
void setup() {
Serial.begin(9600);
/***********DHT**************/
dht.begin();
/*****************SD********************/
Serial.print(«Initializing SD card…»);
if (!SD.begin(4)) {
Serial.println(«initialization failed!»);
}
Serial.println(«initialization done.»);
/***********bmp***********************/
bmp.begin();
delay(2000);
/********************ds*************
sensor.begin(); // начинаем работу с датчиком
sensor.setResolution(12); // устанавливаем разрешение датчика от 9 до 12 бит
/**************************************/
}
void loop() {
/************DHT*****************/
float h = dht.readHumidity();//считываем влажность
float t = dht.readTemperature();//считываем температуру
Serial.print(F(«Humidity: «));
Serial.println(h);
Serial.print(F(«Temp_outside: «));
Serial.print(t);
Serial.println(F(«°C «));
/************************************bmp************************/
Serial.print(«Temperature = «);
Serial.print(bmp.readTemperature());
Serial.println(» *C»);
Serial.print(«Pressure = «);
Serial.print(bmp.readPressure() / 133.3); //получаем в паскалях, выводим в мм рт. столб@
Serial.println(» mm Hg»);
Serial.print(«Altitude = «);
Serial.print(bmp.readAltitude());
Serial.println(» meters»);
Serial.println();
delay(1000);
/*******************************ds********************
float temperature;// переменная для хранения температуры
sensor.requestTemperatures(); // отправляем запрос на измерение температуры
temperature = sensor.getTempCByIndex(0); // считываем данные из регистра датчика
Serial.print(«Temp C: «);// выводим температуру в Serial-порт
Serial.println(temperature);
delay(1000);
/*****************SD**************************/
myFile = SD.open(«data2.txt», FILE_WRITE);
myFile.print(«temp_ins: «);
myFile.println(bmp.readTemperature());
myFile.print(«alt: «);
myFile.println(bmp.readAltitude());
myFile.print(«Pres: «);
myFile.println(bmp.readPressure() / 133.3);
myFile.print(«temp_out: «);
myFile.println(t);
myFile.print(«humid: «);
myFile.println(h);
myFile.print(«___________________________»);
myFile.close();
delay(5000);
}
Добавить комментарий