Инфоурок Информатика Научные работыТемпературный датчик с оповещением через СМС на робоплатформе Ардуино

Температурный датчик с оповещением через СМС на робоплатформе Ардуино

Скачать материал

Муниципальное бюджетное образовательное учреждение

«Бердигестяхская средняя общеобразовательная школа»

Автономная некоммерческая организация «Росток»

 

 

 

 

 

ДОКЛАД

на тему:

«Температурный датчик с оповещением через СМС на робоплатформе Ардуино»

 

 

 

 

Выполнил: Петров Альберт 9 класс

Руководитель: Ефремов И.В.

 

 

 

 

                                     

 с.Бердигестях

2016

СОДЕРЖАНИЕ

Введение

Подключение дисплея

Подключение передатчика

Подключение приемника

Создание модели на 3Д принтере

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

Мы живем в сельской местности, в частности в Горном улусе село Бердигестях. В нашем селе газового отопления нету, не все дома подключены к центральному отоплению, многие дома имеют собственное отопление. Поэтому появляется необходимость контролировать температуру помещения, дома, квартиры, гаража и т.д. По этому, наша тема доклада  «Оповещение температуры воздуха в помещении через СМС на Arduino» особенна актуальна.

Цель проекта: создание оборудования для Температурный датчик с оповещением через СМС на робоплатформе Ардуино

Задачи:

- измерить температуру помещения с помощью датчика;

- передать полученные данные на расстоянии;

- создать панели для приемника и передатчика с помощью 3Д принтера;

 

Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки.

Рис.1 Arduino Uno

Модуль датчика температуры  Temperature sensor module KY-013

Модуль содержит аналоговый датчик температуры – терморезистор. С изменением температуры корпуса терморезистора меняется его сопротивление. С помощью модуля KY-013 электроника грубо определяет температуру воздуха. Основное назначение терморезистора – контроль температуры воздуха, но с его помощью можно контролировать температуру поверхности. Для этого он прижимается механическим креплением к поверхности, а между терморезистором и поверхностью вносят термопроводящую пасту. В крайнем случае при отсутствии пасты терморезистор приклеивают.

В автоматике используется для грубого определения температуры, что позволяет включать или отключать исполнительные устройства с помощью схем на дискретных элементах. Основное назначение – коррекция, стабилизация режима работы цепей схем при колебаниях температуры. Для точного измерения температуры, сборки электронных термометров применяют цифровой датчик.

Рис.2 Датчик температуры

Характеристики:

- Диапазон рабочей температуры от -55 до 125 °C

- Потребляемая мощность 5 Вольт

Схема:

Arduino pin analog A5 -->    module S (Signal)

Arduino pin GND -                module -

Arduino pin 5+ -->                 middel pin 5V

рис.3 Схема подключения датчика

 

Скетч (программа) для обработки данных с датчика температуры:

#include <math.h> //Считывает библиотеку math

int sensorPin = A0;   //вход для датчика температуры

double Thermistor(int RawADC) {

  double Temp;

  Temp = log(10000.0*((1024.0/RawADC-1)));

  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );

  Temp = Temp - 273.15; //Преобразует Kelvin на Celcius

  return Temp;  }

void setup() {

 Serial.begin(9600);

}

void loop() {

 int readVal=analogRead(sensorPin);

 double temp =  Thermistor(readVal);

  Serial.println(temp);  //вывод показания температуры

delay(500);

}

Рисунок1.jpg

Рис.Схема подключения датчика к Ардуино

 

Подключение дисплея LCD Nokia 5110 к ардуино:

Подключайте согласно изображению. Если у вас печатная плата не красная а синяя, то к контакту №7(BL) нужно вместо GND подавать +3.3В.

Предназначение:

RST -  Вывод для перезагрузки контроллера дисплея.
CE -    Состояние данного вывода разрешает или запрещает ввод данных в контроллер дисплея
DC -    Вывод выбора режима ввода данных - Данные/Команды
DIN -   Вход данных последовательного интерфейса SPI 
CLK -  Тактирующий вывод для последовательного интерфейса SPI 
VCC -  Питание контроллера дисплея 2.7 - 3.3Вольт 
BL (LIGHT) -  Подсветка 
GND - GND

Скетч

Предварительно скачайте и установите библиотеку для работы с дисплеем (просто распакуйте в папку Library).  Еще понадобится библиотека Adafruit_GFX.

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Adafruit_PCD8544.h>

Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

 

void setup()   {

  display.begin();

  display.clearDisplay();

  display.setContrast(50);

  display.setTextSize(1);

  display.setTextColor(BLACK);

  display.setCursor(0, 0);

  display.println("www.2150692.ru");

  display.println("--------------");

  display.println("  NOKIA 5110");

  display.display();

  delay(2000);

}
void loop() {}

 

Если на экране изображение слишком бледное или совсем ничего не видно, то в скетче попробуйте поменять контраст вместо 50 например 60:

display.setContrast(60);

 

                Приёмник + передатчик 433MHZ (комплект модулей)
                      433Mhz RF Wireless Transmitter Receiver Module

          Комплект состоит из двух модулей: радиопередатчика и приемника, настроенных на частоту 433,92 МГц. Он предназначен для создания простого радиоканала трансляции данных, где происходит передача команд без обратной связи. Контроль выполнения команды дистанционного управления с помощью комплекта приемник + передатчик 433MHZ производится оператором. Например: квартирный радиозвонок, дистанционное включение освещения, управление электромагнитным замком двери, двигателями штор, жалюзи, видеокамеры. Источники питания приборов должны иметь хорошую фильтрацию от помех сети 220 В.

            Приемник и передатчик 433MHZ рассчитаны на антенны с волновым сопротивлением 50 Ом. Они изготавливаются из одножильного провода длинной 17 см, что примерно соответствует 1/4 длины волны сигнала 433,92 МГц или из проволоки длинной 33 см, свернутой в спираль, что примерно соответствует ½ длины волны. Антенны устанавливаются как можно дальше от источников помех и металлических конструкций.

433Mhz RF link kit.jpg

 

Характеристики
Питание
    напряжение
        номинальное 5 В,
        пределы 3,5–12 В.
    ток 9–40 мА
Несущая частота 315 МГц или 433,92 МГц
 150 КГц
±Максимальное отклонение частоты
Мощность передачи
    номинальная 10 мВт (при питании 5 В),
    максимальная 25 мВт (на частоте 315 МГц при питании 12 В).
Скорость передачи данных 2 Кбод
Размеры платы 19 x 19 мм

Описание
           Устройство передает сигналы с помощью разновидности амплитудной модуляции ООК (On Off Кeying). Это альтернатива обычной амплитудной модуляции ASK несущей частоты. Альтернативой является бинарная форма модуляции. При обычной модуляции ASK происходит постоянное энергопотребление, а в процессе ООК энергии требуется меньше. Скорость передачи данных в режиме ООК ограничивается временем выхода генератора на рабочий режим. Благодаря использованию в передатчике ООК модуляции происходит экономия энергии, что особенно важно при питании от батарей.

Подключение (схема) Приёмник + передатчик 433MHZ (комплект модулей)

radio_receiver_radio_transmitter_433MHz_connection-to_Arduino.jpg

    Подключение Приёмник + передатчик 433MHZ (комплект модулей)   

  Подключаем по схеме дисплей LCD Nokia5110 и ресивер (приемник) к плате Arduino Uno R3. Данный ресивер должен приниамть сигнал с трансмиттера (передатчика) и вывести результат на дисплей. Для этого написали программу приема сигнала и вывода на дисплей. В программе используются бибилиотеки VirtualWire.h для работы ресивера, библиотеки Adafruit_GFX.h и Adafruit_PCD8544.h для работы дисплея, math.h  для работы с данными температуры.                                                 

IMG_20161214_092855.jpg

Скетч(программа) для ресивера(приемника)

#include <VirtualWire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_PCD8544.h>

#include <math.h>                                                         //Считывает библиотеку

 

Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7);

 

const int led_pin = 11;                                                 //Вход для приемника

const int transmit_pin = 12;

const int receive_pin = 2;

const int transmit_en_pin = 1;                                  

 

void setup()

{

    delay(1000);

    Serial.begin(9600);                                                   // Отладка

   

     display.begin();              // Инициализация дисплея

  display.setContrast(60);      // Устанавливаем контраст

  display.setTextColor(BLACK);  // Устанавливаем цвет текста

  display.setTextSize(1);       // Устанавливаем размер текста

  display.clearDisplay();       // Очищаем дисплей

  display.display();

  delay(1000);

  Serial.println("Setup");

 

                                                   // Инициализируем IO и ISR

    vw_set_tx_pin(transmit_pin);

    vw_set_rx_pin(receive_pin);

    vw_set_ptt_pin(transmit_en_pin);

    vw_set_ptt_inverted(true);                                       

    vw_setup(2000);                                                      

 

    vw_rx_start();       // Запустите приемник

 

 

    pinMode(led_pin, OUTPUT);

}

 

void loop()

{

    uint8_t buf[VW_MAX_MESSAGE_LEN];

    uint8_t buflen = VW_MAX_MESSAGE_LEN;

 

    if (vw_get_message(buf, &buflen))        

    {   int i;

 

        digitalWrite(led_pin, HIGH); // Вспышка света, чтобы показать хорошее сообщение принятый

for (i = 0; i < buflen; i++)

                                                                                      {

                                                                                          // Очищаем дисплей

  display.clearDisplay();

  display.display();

  delay(25);

    // Выведем текст

    display.setTextSize(1);

  display.println("  TEMPERATURA ");

  display.setTextSize(4);

  display.print(" ");

  display.println(buf[i], DEC);

  display.display();

  delay(500);

                                                                                         

    Serial.print(buf[i], DEC);

    Serial.print(' ');

}

Serial.println();

 digitalWrite(led_pin, LOW);

    }

   

}

 

 

 

 

Подключаем трансмиттер и датчик температуры Temperature sensor module KY-013 к Ардуино UNO:

     Подключаем трансмиттер и датчик температуры к Ардуино по схеме. Датчик температуры передает сигнал.

 

Скетч (программа) для трансмиттера (передатчика)

#include <VirtualWire.h>

#include <math.h>

 int sensorPin = A5; // select the input pin for the potentiometer

double Thermistor(int RawADC) {

  double Temp;

  Temp = log(10000.0*((1024.0/RawADC-1)));

  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );

  Temp = Temp - 273.15;            // Convert Kelvin to Celcius

   //Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit

   return Temp;

}

const int led_pin = 11;

const int transmit_pin = 12;

const int receive_pin = 2;

const int transmit_en_pin = 3;

void setup(){

 Serial.begin(9600);

 

    // Initialise the IO and ISR

    vw_set_tx_pin(transmit_pin);

    vw_set_rx_pin(receive_pin);

    vw_set_ptt_pin(transmit_en_pin);

    vw_set_ptt_inverted(true); // Required for DR3100

    vw_setup(2000);       // Bits per sec

    pinMode(led_pin, OUTPUT);

}

byte count = 1;

void loop() {

 int readVal=analogRead(sensorPin);

 double temp =  Thermistor(readVal);

 

 Serial.println(temp);  // display tempature

 //Serial.println(readVal);  // display tempature

  delay(500);

  char msg[7] = {temp};

  msg[7] = count;

  digitalWrite(led_pin, HIGH); // Flash a light to show transmitting

  vw_send(msg, 1);

  vw_wait_tx(); // Wait until the whole message is gone

  digitalWrite(led_pin, LOW);

  delay(1000);

  count = count + 1;

}

 

 

Создание модели оборудования на 3Д принтере:

 

С помощью программы 123Д Design создали модель оборудования

 

 

 

Распечатываем с помощью принтера

 

 

 

Заключение

·        Мы изучили язык программирования Ардуино.

·        Составили план-схему для создания оборудования.

·        Подобрали необходимые детали и датчик;

·        Сделали модель на 123Д и распечатали на 3Д принтере;

 

Данное оборудование позволяет узнать температуру помещения на расстоянии 90 метров.

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Температурный датчик с оповещением через СМС на робоплатформе Ардуино"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Портной

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 662 891 материал в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 17.12.2016 3359
    • DOCX 1.2 мбайт
    • Рейтинг: 1 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ефремов Иван Владимирович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ефремов Иван Владимирович
    Ефремов Иван Владимирович
    • На сайте: 8 лет и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 14981
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Копирайтер

Копирайтер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 619 человек из 77 регионов
  • Этот курс уже прошли 956 человек

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в профессиональном образовании

Преподаватель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 21 региона
  • Этот курс уже прошли 151 человек

Мини-курс

Основы психологических трансформационных игр

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 55 человек из 33 регионов
  • Этот курс уже прошли 32 человека

Мини-курс

Финансовые ключи экспертного успеха

5 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Искусственный интеллект: тексты и креативы

7 ч.

1180 руб. 590 руб.
Подать заявку О курсе
  • Сейчас обучается 241 человек из 62 регионов
  • Этот курс уже прошли 28 человек