Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <DS3232RTC.h> // https://github.com/JChristensen/DS3232RTC
- #include <Adafruit_NeoPixel.h>
- #define PIN 2
- Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
- String tmp="x";
- int hang[7]={200,500,1000,2000,2500,3000,3500};
- int hossz=200;
- int szunet=200;
- int szam1=0;
- int szam2=0;
- int elozo=0;
- int mode=0;
- int digit1=0;
- int digit2=0;
- int pix=0;
- #define Gomb1 6
- #define Gomb2 7
- #define Gomb3 4
- #define Gomb4 5
- void setup() {
- Serial.begin(115200);
- Serial.println("Start");
- setSyncProvider(RTC.get); // the function to get the time from the RTC
- if(timeStatus() != timeSet)
- Serial.println("Unable to sync with the RTC");
- else
- Serial.println("RTC has set the system time");
- strip.begin();
- strip.show();
- strip.setBrightness(32);
- delay(500);
- for(int dot = 0; dot < 60; dot++) {
- strip.setPixelColor(dot, 255, 255, 255);
- strip.show();
- }
- delay(500);
- for(int dot = 0; dot < 60; dot++) {
- strip.setPixelColor(dot, 0, 0, 0);
- strip.show();
- }
- delay(500);
- pinMode(4, INPUT);
- pinMode(5, INPUT);
- pinMode(6, INPUT);
- pinMode(7, INPUT);
- digitalWrite(4, HIGH);
- digitalWrite(5, HIGH);
- digitalWrite(6, HIGH);
- digitalWrite(7, HIGH);
- delay(1000);
- for (int i=1; i<=9; i++){
- konvert10(i);
- Serial.print(tmp);
- Serial.print(" - ");
- Serial.println(tmp.length());
- //megszolal(tmp);
- //tmp=romai.substring(i,i+1);
- }
- }
- void loop() {
- if (digitalRead(Gomb1)==0) {
- mode=0;
- for(int dot = 0; dot < 60; dot++) {
- strip.setPixelColor(dot, 0, 0, 0);
- strip.show();
- }
- pix=0;
- szam1=hour();
- digit2=szam1/10;
- digit1=szam1-digit2*10;
- Serial.print(digit2);
- Serial.print(" - ");
- Serial.println(digit1);
- konvert10(digit2);
- megszolal(tmp);
- delay(500);
- if (digit1!=0){
- konvert1(digit1);
- megszolal(tmp);
- delay(500);
- }
- pix++;
- szam1=minute();
- digit2=szam1/10;
- digit1=szam1-digit2*10;
- Serial.print(digit2);
- Serial.print(" - ");
- Serial.println(digit1);
- konvert10(digit2);
- megszolal(tmp);
- delay(500);
- if (digit1!=0){
- konvert1(digit1);
- megszolal(tmp);
- delay(500);
- }
- }
- if (digitalRead(Gomb2)==0) {
- mode=0;
- for(int dot = 0; dot < 60; dot++) {
- strip.setPixelColor(dot, 0, 0, 0);
- strip.show();
- }
- pix=0;
- szam1=hour();
- digit2=szam1/10;
- digit1=szam1-digit2*10;
- Serial.print(digit2);
- Serial.print(" - ");
- Serial.println(digit1);
- konvert10(digit2);
- megszolal(tmp);
- delay(500);
- if (digit1!=0){
- konvert1(digit1);
- megszolal(tmp);
- delay(500);
- }
- pix++;
- szam1=minute();
- digit2=szam1/10;
- digit1=szam1-digit2*10;
- Serial.print(digit2);
- Serial.print(" - ");
- Serial.println(digit1);
- konvert10(digit2);
- megszolal(tmp);
- delay(500);
- if (digit1!=0){
- konvert1(digit1);
- megszolal(tmp);
- delay(500);
- }
- pix++;
- szam1=second();
- digit2=szam1/10;
- digit1=szam1-digit2*10;
- Serial.print(digit2);
- Serial.print(" - ");
- Serial.println(digit1);
- konvert10(digit2);
- megszolal(tmp);
- delay(500);
- if (digit1!=0){
- konvert1(digit1);
- megszolal(tmp);
- delay(500);
- }
- }
- if (digitalRead(Gomb3)==0) {
- mode=1;
- Serial.println("Mode 1");
- }
- if (digitalRead(Gomb4)==0) {
- tone(9,1400,200);
- delay(500);
- Serial.println("4");
- }
- if (mode==1){
- szam1=second();
- if (szam1!=elozo) {
- elozo=szam1;
- for(int dot = 0; dot < 60; dot++) {
- strip.setPixelColor(dot, 0, 0, 0);
- //strip.show();
- }
- strip.setPixelColor(szam1, 0, 0, 255);
- szam1=minute();
- strip.setPixelColor(szam1, 0, 255, 0);
- szam2=hour();
- if (szam2>=12)
- szam2=szam2-12;
- szam1=szam2*5+szam1/12;
- strip.setPixelColor(szam1, 255, 0, 0);
- }
- strip.show();
- }
- }
- void megszolal(String romaiszam) {
- //Serial.print(" Romaiszam ");
- //Serial.print(romaiszam);
- //Serial.print(" romaiszam hossz ");
- //Serial.println(romaiszam.length());
- for (int i=0; i<romaiszam.length(); i++){
- //Serial.print(".");
- //Serial.print(romaiszam.substring(i,i+1));
- hangzik(romaiszam.substring(i,i+1));
- }
- Serial.println(".");
- }
- void hangzik(String betu) {
- if (betu=="I") {
- Serial.print(" -I- ");
- if (mode==0){
- strip.setPixelColor(pix, 255, 0, 0);
- strip.show();
- pix++;
- }
- tone(9,hang[0],hossz);
- delay(szunet);
- }
- if (betu=="V") {
- Serial.print(" -V- ");
- if (mode==0){
- strip.setPixelColor(pix, 0, 255, 0);
- strip.show();
- pix++;
- }
- tone(9,hang[1],hossz);
- delay(szunet);
- }
- if (betu=="X") {
- Serial.print(" -X- ");
- if (mode==0){
- strip.setPixelColor(pix, 0, 0, 255);
- strip.show();
- pix++;
- }
- tone(9,hang[2],hossz);
- delay(szunet);
- }
- if (betu=="L") {
- Serial.print(" -L- ");
- if (mode==0){
- strip.setPixelColor(pix, 255, 255, 0);
- strip.show();
- pix++;
- }
- tone(9,hang[3],hossz);
- delay(szunet);
- }
- if (betu=="C") {
- Serial.print(" -C- ");
- if (mode==0){
- strip.setPixelColor(pix, 255, 0, 255);
- strip.show();
- pix++;
- }
- tone(9,hang[4],hossz);
- delay(szunet);
- }
- if (betu=="D") {
- Serial.print(" -D- ");
- if (mode==0){
- strip.setPixelColor(pix, 0, 255, 255);
- strip.show();
- pix++;
- }
- tone(9,hang[5],hossz);
- delay(szunet);
- }
- if (betu=="M") {
- Serial.print(" -M- ");
- if (mode==0){
- strip.setPixelColor(pix, 255, 255, 255);
- strip.show();
- pix++;
- }
- tone(9,hang[6],hossz);
- delay(szunet);
- }
- if (betu=="N") {
- Serial.print(" -Nulla- ");
- tone(9,30,hossz);
- delay(szunet);
- }
- }
- void konvert1(int szam) {
- Serial.print(szam);
- Serial.print(" - ");
- switch (szam) {
- case 0:
- tmp="N";
- break;
- case 1:
- tmp="I";
- break;
- case 2:
- tmp="II";
- break;
- case 3:
- tmp="III";
- break;
- case 4:
- tmp="IV";
- break;
- case 5:
- tmp="V";
- break;
- case 6:
- tmp="VI";
- break;
- case 7:
- tmp="VII";
- break;
- case 8:
- tmp="VIII";
- break;
- case 9:
- tmp="IX";
- break;
- }
- }
- void konvert10(int szam) {
- Serial.print(szam);
- Serial.print(" - ");
- switch (szam) {
- case 0:
- tmp="N";
- break;
- case 1:
- tmp="X";
- break;
- case 2:
- tmp="XX";
- break;
- case 3:
- tmp="XXX";
- break;
- case 4:
- tmp="XL";
- break;
- case 5:
- tmp="L";
- break;
- case 6:
- tmp="LX";
- break;
- case 7:
- tmp="LXX";
- break;
- case 8:
- tmp="LXXX";
- break;
- case 9:
- tmp="XC";
- break;
- }
- }
- void konvert100(int szam) {
- Serial.print(szam);
- Serial.print(" - ");
- switch (szam) {
- case 0:
- tmp="N";
- break;
- case 1:
- tmp="C";
- break;
- case 2:
- tmp="CC";
- break;
- case 3:
- tmp="CCC";
- break;
- case 4:
- tmp="CD";
- break;
- case 5:
- tmp="D";
- break;
- case 6:
- tmp="DC";
- break;
- case 7:
- tmp="DCC";
- break;
- case 8:
- tmp="DCCC";
- break;
- case 9:
- tmp="CM";
- break;
- }
- }
- void konvert1000(int szam) {
- Serial.print(szam);
- Serial.print(" - ");
- switch (szam) {
- case 0:
- tmp="N";
- break;
- case 1:
- tmp="M";
- break;
- case 2:
- tmp="MM";
- break;
- case 3:
- tmp="MMM";
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement