Полетит? Полетит!

Полетит? Полетит!

Если кто не знал, то в объединении доп.образования «программирование на Arduino» мы делаем проект метеозонда. Подробнее можно посмотреть тут: http://space.losev-it.ru/

Так вот, хорошие новости!

Практически завершена работа над прошивкой основного бортового компьютера метеозонда. 

Конечно, пришлось заменить более точный датчик температуры  DS менее точным DHT22, но работы подходят к концу!

✅1. Подключен GPS модуль
✅2. Подключен датчик BMP180
✅3. Подключен модуль SD карт

✅4. Подключен датчик температуры

В планах:
⚠1. Добавить в скетч GSM модуль и научить его отправлять SMS с координатами
⚠2. Подключить аккумулятор к Arduino.
⚠3. Спаять, собрать, настроить
⚠4. Протестировать.

Скетч прошивки:

/**************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);

}

18:35
61
Нет комментариев. Ваш будет первым!
Загрузка...

Подготовка к ГИА


Подпишись