#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_NeoPixel.h>
#include <EasyButton.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
#define NeoPixel_PIN 6
#define BUTTON 2
EasyButton button(BUTTON);
LiquidCrystal_I2C lcd(0x27, 20, 4);
Adafruit_NeoPixel ring = Adafruit_NeoPixel(16, 6, NEO_GRB + NEO_KHZ800);
RTC_DS1307 rtc;
//colorWipe(255, 0, 0, 50);
//colorWipe(255, 128, 0, 50);
//colorWipe(255, 255, 0, 50);
//colorWipe(0, 255, 0, 50);
//colorWipe(0, 255, 255, 50);
//colorWipe(0, 0, 255, 50);
//colorWipe(255, 0, 255, 50);
void setup() {
lcd.init();
lcd.backlight();
lcd.begin(16,2);
ring.begin();
pinMode(BUTTON, INPUT);
}
void loop() {
int buttonState = digitalRead(BUTTON);
if (buttonState == LOW) {
ring.setPixelColor(0, ring.Color(255, 0, 0));
ring.show();
lcd.setCursor(3,0);
lcd.print("Hello, world!");
lcd.setCursor(2,1);
lcd.print("Arduino!");
} else {
ring.setPixelColor(0, ring.Color(0, 0, 0));
ring.show();
lcd.setCursor(3,0);
lcd.print(" ");
lcd.setCursor(2,1);
lcd.print(" ");
}
void colorWipe(byte r, byte g, byte b, int wait) {
for (unsigned i = 0; i < ring.numPixels(); i++) {
ring.setPixelColor(i, r, g, b);
ring.show();
delay(100);
}
}