Тема: Разные скетчи под Digispark
Arduino IDE + Digispark = http://rcl-radio.ru/?p=80867
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Digispark → Разные скетчи под Digispark
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Arduino IDE + Digispark = http://rcl-radio.ru/?p=80867
Часы (LCD1602+DS3231)
Удалить LiquidCrystal_I2C Arduino/libraries
Все указанные в скетче библиотеки скачивать и устанавливать не нужно
#include <TinyWireM.h>
#include <TinyRTClib.h>
#include <LiquidCrystal_I2C.h> // for LCD w/ GPIO MODIFIED for the ATtiny85
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
int hh, mm,ss;
void setup(){
TinyWireM.begin();
lcd.init();
lcd.backlight();
//rtc.adjust(DateTime(2018, 6, 29, 9, 33, 0));
}
void loop(){
DateTime now = rtc.now();
hh = now.hour(), DEC;
mm = now.minute(), DEC;
ss = now.second(), DEC;
lcd.setCursor(0,0);
lcd.print(hh/10);lcd.print(hh%10);lcd.print(":");
lcd.print(mm/10);lcd.print(mm%10);lcd.print(":");
lcd.print(ss/10);lcd.print(ss%10);
delay(10);
}
Часы (LCD1602+DS3231)
Удалить LiquidCrystal_I2C Arduino/libraries
Все указанные в скетче библиотеки скачивать и устанавливать не нужно
#include <TinyWireM.h>
#include <TinyRTClib.h>
#include <LiquidCrystal_I2C.h> // for LCD w/ GPIO MODIFIED for the ATtiny85
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
byte x,d1,d2,d3,d4,d5,d6,e1,e2,e3;
byte v1[8] = {7,7,7,7,7,7,7,7};
byte v2[8] = {7,7,0, 0, 0, 0, 0, 0};
byte v3[8] = { 0, 0, 0, 0, 0,0,31,31};
byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
byte v5[8] = { 28, 28, 0, 0, 0, 0, 28, 28};
byte v6[8] = {28,28,28,28,28,28,28,28};
byte v7[8] = { 0, 0, 0, 0, 0, 0,7,7};
byte v8[8] = { 31, 31,0,0,0,0,0, 0};
int a[6];
void setup(){
TinyWireM.begin();
lcd.init();
lcd.backlight();
lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);
lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
//rtc.adjust(DateTime(2018, 6, 29, 9, 33, 0));
}
void loop(){
DateTime now = rtc.now();
a[0]=now.hour()/10;
a[1]=now.hour()%10;
a[2]=now.minute()/10;
a[3]=now.minute()%10;
a[4]=now.second()/10;
a[5]=now.second()%10;
for(x=0;x<4;x++){
switch(x){
case 0: e1=0,e2=1,e3=2;break;
case 1: e1=3,e2=4,e3=5;break;
case 2: e1=7,e2=8,e3=9;break;
case 3: e1=10,e2=11,e3=12;break;
}
switch(a[x]){
case 0: d1=1,d2=8,d3=6,d4=1,d5=3,d6=6;break;
case 1: d1=32,d2=2,d3=6,d4=32,d5=32,d6=6;break;
case 2: d1=2,d2=8,d3=6,d4=1,d5=4,d6=5;break;
case 3: d1=2,d2=4,d3=6,d4=7,d5=3,d6=6;break;
case 4: d1=1,d2=3,d3=6,d4=32,d5=32,d6=6;break;
case 5: d1=1,d2=4,d3=5,d4=7,d5=3,d6=6;break;
case 6: d1=1,d2=4,d3=5,d4=1,d5=3,d6=6;break;
case 7: d1=1,d2=8,d3=6,d4=32,d5=32,d6=6;break;
case 8: d1=1,d2=4,d3=6,d4=1,d5=3,d6=6;break;
case 9: d1=1,d2=4,d3=6,d4=7,d5=3,d6=6;break;
}
lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
}
lcd.setCursor(6,0);lcd.print(".");lcd.setCursor(6,1);lcd.print(".");
lcd.setCursor(14,0);lcd.print(a[4]);lcd.print(a[5]);
delay(100);
}//loop
Часы (LCD1602+DS3231+корректировка времени кнопками)
#include <TinyWireM.h>
#include <TinyRTClib.h>
#include <LiquidCrystal_I2C.h> // for LCD w/ GPIO MODIFIED for the ATtiny85
//#include <EEPROMex.h> // https://github.com/thijse/Arduino-EEPROMEx.git
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
byte d1,d2,d3,d4,d5,d6,e1,e2,e3;
byte v1[8] = {7,7,7,7,7,7,7,7};
byte v2[8] = {7,7,0, 0, 0, 0, 0, 0};
byte v3[8] = { 0, 0, 0, 0, 0,0,31,31};
byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
byte v5[8] = { 28, 28, 0, 0, 0, 0, 28, 28};
byte v6[8] = {28,28,28,28,28,28,28,28};
byte v7[8] = { 0, 0, 0, 0, 0, 0,7,7};
byte v8[8] = { 31, 31,0,0,0,0,0, 0};
int a[6],hh,mm,ss,seting,w,x;
void setup(){
TinyWireM.begin();
lcd.init();
lcd.backlight();
lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);
lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
//rtc.adjust(DateTime(2018, 6, 29, 9, 33, 0));
pinMode(4,INPUT); // SET
pinMode(1,INPUT); // +++
}
void loop(){
DateTime now = rtc.now();
hh=now.hour();mm=now.minute();ss=now.second();
if(digitalRead(4)==HIGH){seting++;delay(200);if(seting>3){seting=0;}}
if(seting==1&&digitalRead(1)==HIGH){hh++;w=1;delay(200);if(hh>23){hh=0;}}
if(seting==2&&digitalRead(1)==HIGH){mm++;w=1;delay(200);if(mm>59){mm=0;}}
if(seting==3&&digitalRead(1)==HIGH){ss=0;w=1;delay(200);}
if(w==1){w=0;rtc.adjust(DateTime(2018, 6, 29, hh, mm, ss));}
a[0]=now.hour()/10;
a[1]=now.hour()%10;
a[2]=now.minute()/10;
a[3]=now.minute()%10;
a[4]=now.second()/10;
a[5]=now.second()%10;
for(x=0;x<4;x++){
switch(x){
case 0: e1=0,e2=1,e3=2;break;
case 1: e1=3,e2=4,e3=5;break;
case 2: e1=7,e2=8,e3=9;break;
case 3: e1=10,e2=11,e3=12;break;
}
switch(a[x]){
case 0: d1=1,d2=8,d3=6,d4=1,d5=3,d6=6;break;
case 1: d1=32,d2=2,d3=6,d4=32,d5=32,d6=6;break;
case 2: d1=2,d2=8,d3=6,d4=1,d5=4,d6=5;break;
case 3: d1=2,d2=4,d3=6,d4=7,d5=3,d6=6;break;
case 4: d1=1,d2=3,d3=6,d4=32,d5=32,d6=6;break;
case 5: d1=1,d2=4,d3=5,d4=7,d5=3,d6=6;break;
case 6: d1=1,d2=4,d3=5,d4=1,d5=3,d6=6;break;
case 7: d1=1,d2=8,d3=6,d4=32,d5=32,d6=6;break;
case 8: d1=1,d2=4,d3=6,d4=1,d5=3,d6=6;break;
case 9: d1=1,d2=4,d3=6,d4=7,d5=3,d6=6;break;
}
lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
}
lcd.setCursor(6,0);lcd.print(".");lcd.setCursor(6,1);lcd.print(".");
lcd.setCursor(14,0);lcd.print(a[4]);lcd.print(a[5]);
lcd.setCursor(14,1);
switch(seting){
case 0:lcd.print(" ");break;
case 1:lcd.print("HH");break;
case 2:lcd.print("MM");break;
case 3:lcd.print("S0");break;
}
delay(100);
}//loop
Привет. Как я понял разделительные точки не мигают ?
Есть счет секунд, поэтому точки не стал делать мигающими
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
forum.rcl-radio.ru → Digispark → Разные скетчи под Digispark
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|