1

Тема: Разные скетчи под Digispark

Arduino IDE + Digispark = http://rcl-radio.ru/?p=80867

http://rcl-radio.ru/wp-content/uploads/2020/07/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-%D0%BE%D1%82-2020-07-21-205210-200x158.png

2

Re: Разные скетчи под Digispark

Часы (LCD1602+DS3231)

http://forum.rcl-radio.ru/uploads/images/2020/07/1fb0f1f71d224f372a797ade4df6e3d0.png

Удалить 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);
}

3

Re: Разные скетчи под Digispark

Часы (LCD1602+DS3231)

http://forum.rcl-radio.ru/uploads/images/2020/07/d7e756b785e4cdd47d2b4bd92e63f439.png

Удалить 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

4

Re: Разные скетчи под Digispark

Часы (LCD1602+DS3231+корректировка времени кнопками)

http://forum.rcl-radio.ru/uploads/images/2020/07/df496c25e399022ec1953c49eb39aaac.png

http://forum.rcl-radio.ru/uploads/images/2020/07/bb1796645c964a52b0370982937c598b.png

http://forum.rcl-radio.ru/uploads/images/2020/07/b8f72179b05c96ac80db5b61602dad4e.png

#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

5

Re: Разные скетчи под Digispark

Привет. Как я понял разделительные точки не мигают ?

6

Re: Разные скетчи под Digispark

Есть счет секунд, поэтому точки не стал делать мигающими