Суббота, 12.10.2024, 03:11

Мои инструкции

Меню сайта
Друзья сайта

Вышивка крестом , схемы

И еще много всякого интересного и полезного

Вы найдете на этом сайте.

Arduino mega2560 DC1307 DS18b20 LCD1602

<Пытаюсь создать , что то типа управления аквариумом , но пока мало что получается . Пока добился , что бы

LCD показывал день недели ( по аглицки ) , дату , время и температуру в квартире .

Вот

// Функции даты и времени с использованием RTC DS1307, подключенного через I2C и Wire lib
#include <Wire.h>
#include <LiquidCrystal.h>
#include "RTClib.h"

#include <DS18B20.h>

 

// Провод данных подключен к контакту 19 на Arduino
#define SENSOR_PIN 19//

DS18B20 ds(SENSOR_PIN);

RTC_DS1307 rtc;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // (rs, e, d4, d5, d6, d7)//Подключение индикации на lcd

char daysOfTheWeek[7][12] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};

void setup ()
{
  Serial.begin(9600);
  lcd.begin(16, 2);
 
  if (! rtc.begin())
  {
    lcd.print("Couldn't find RTC");
    while (1);
  }

  if (! rtc.isrunning())
  {
    lcd.print("RTC is NOT running!");
  }
 
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));//автоматическое обновление по компьютерному времени
    //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));// чтобы установить время вручную
 
}

void loop ()
{
    DateTime now = rtc.now();
    
    lcd.setCursor(0, 1);
    lcd.print(now.hour());
    lcd.print(':');
    lcd.print(now.minute());
    lcd.print(':');
    lcd.print(now.second());
    lcd.print("   ");

  if (ds.selectNext())
    // Выводим в последовательный порт
    Serial.print(ds.getTempC());
    Serial.println(" C");
    lcd.setCursor(11, 1);
    lcd.print(ds.getTempC(),0);
    lcd.print("C");

    lcd.setCursor(0, 0);
    lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
    lcd.print(" ,");
    lcd.print(now.day());
    lcd.print('/');
    lcd.print(now.month());
    lcd.print('/');
    lcd.print(now.year());
   
}

 

Это сама мега 2560 . У меня скорее всего китайский клон , но по цифрам пинов расписаны правильно :

 

Часы реального времени DS1307 :

Датчик температуры DS18b20 :

LCD Keypad Shield 1602

 

Яндекс.Метрика Рейтинг@Mail.ru