PROJETO 18: MICROVIEW OLED - PARTE 4
Neste projeto vou mostrar como visualizar a data e hora atuais com o recurso ao Microview OLED Display e ao módulo RTC DS1307.
O Microview OLED Display da Sparkfun possui as seguintes características:
- 64x48 Pixel OLED Display
- ATmega328P
- 3.3V - 16V DC Input
- 12 Digital I/O Pins (3 PWM)
- 6 Analog Inputs
- Breadboard Friendly DIP Package
- 32KB Flash Memory
- Arduino IDE 1.0+ Compatible
O esquema interno (entradas/saídas) do Microview OLED Display é o seguinte:
1. Instalação dos Drivers e da Library do Microview OLED Display:
- download e instalação dos FTDI Drivers (para Windows):
https://app.box.com/s/zqiraki850awygi225c8sx4e72yccupf
- download e importação das Library's necessárias:
https://app.box.com/s/zzq6bzysbf7wgno7d8rahdayhifkefu0
https://app.box.com/s/39pgfrdqz7x4pyae7mnte9u7ns2eecwg
2. No Arduino definir a Placa como Arduino UNO
3. As componentes utilizadas
1 Breadboard
1 Módulo Microview OLED Display
1 Módulo RTC DS1307
4 Jumpers Wires
4. O Esquema da Montagem
No Microview OLED Display e no RTC serão utilizados:
- o Pin 3 (entrada analógica A4) --> SDA (no RTC)
- o Pin 2 (entrada analógica A5) --> SCL (no RTC)
- o Pin 15 (5V) --> VCC (no RTC)
- o Pin 8 (GND) --> GND (no RTC)
5. O Código do Arduino
//************************************
// Programado por Jacinto Palma *
// Dezembro de 2016 *
//************************************
#include <Wire.h>
#include "RTClib.h"
#include <MicroView.h>
RTC_DS1307 RTC; // declara a componente RTC DS1307
void setup()
{
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) { // Verifica se o RTC está a funcionar
RTC.adjust(DateTime(__DATE__, __TIME__));
}
uView.begin(); // inicializa o MicroView OLED
uView.clear(ALL); // limpa a memória no hardware do controlador OLED
uView.clear(PAGE); // limpa o buffer da memória para o display
uView.display(); // mostrar no display
}
void loop()
{
DateTime now = RTC.now();
uView.setCursor(2,1);
uView.println("Data:");
uView.setCursor(2,14);
uView.print(now.month(), DEC); // mostra o mês atual
uView.print('/');
uView.print(now.day(), DEC); // mostra o dia atual
uView.print('/');
uView.print(now.year(), DEC); // mostra o ano atual
uView.setCursor(2,27);
uView.println("Hora:");
uView.setCursor(2,39);
uView.print(now.hour(), DEC); // mostra a hora atual
uView.print(':');
uView.print(now.minute(), DEC); // mostra os minutos atuais
uView.print(':');
uView.print(now.second(), DEC); // mostra os segundos atuais
uView.display();
delay(500);
uView.clear(PAGE);
}
6. O Vídeo
Espero que gostem!















