ok i got how to auto format, here is the code with auto format
/*
4 digit 7 segment display: http://www.sparkfun.com/products/9483
Datasheet: http://www.sparkfun.com/datasheets/Components/LED/7-Segment/YSD-439AR6B-35.pdf
*/
// modified connexion by niq_ro from http://nicuflorica.blogspot.com
// dataseet: http://www.tme.eu/ro/Document/dfc2efde2e22005fd28615e298ea2655/KW4-563XSA.pdf
// Code modified by BMIAK Basnayaka
// http://www.setnfix.com
int digit1 = 12;
int digit2 = 11;
int digit3 = 10;
int digit4 = 9;
const byte SPEAKER_PIN = 8;
//Pin mapping from Arduino to the ATmega DIP28 if you need it
//http://www.arduino.cc/en/Hacking/PinMapping
int segA = 0; //Display pin 0
int segB = 1; //Display pin 1
int segC = 2; //Display pin 2
int segD = 3; //Display pin 3
int segE = 4; //Display pin 4
int segF = 5; //Display pin 5
int segG = 6; //Display pin 6
int segDP = 13; // Display pin 13
#include "Wire.h"
#include "RTClib.h"
RTC_DS1307 RTC;
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
// original sketck from http://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit/
// add part with SQW=1Hz from http://tronixstuff.wordpress.com/2010/10/20/tutorial-arduino-and-the-i2c-bus/
// add part with manual adjust http://www.bristolwatch.com/arduino/arduino_ds1307.htm
byte yy = 0, mo = 1, dd = 0, wd = 6;
byte hh = 0, mi = 0, ss = 0;
byte hhTwelve = 12;
byte wn = 52;
// other helpful variables
bool gotTheTime = false;
byte old_ss = 99, halfSec = 198, old_halfSec = 198;
unsigned long microsNow = 0UL;
unsigned long microsAtLastSecond = 0UL;
bool dstOn = false, old_dstOn = false;
byte SW0 = A0;
byte SW1 = A2;
byte SW2 = A1;
byte SWT = A3;
int Adhr = 0;
int Admnt = 0;
int D = 0;
int Z = 0;
// use for hexa in zecimal conversion
long zh, uh, ore;
long zm, um, miniti;
void setup() {
//Serial.begin(57600);
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
pinMode(segDP, OUTPUT);
pinMode(digit1, OUTPUT);
pinMode(digit2, OUTPUT);
pinMode(digit3, OUTPUT);
pinMode(digit4, OUTPUT);
pinMode(SPEAKER_PIN, OUTPUT);
//Serial.begin(9600);
pinMode(SW0, INPUT); // N.O. push button switch
pinMode(SW1, INPUT); // N.O. push button switch
pinMode(SW2, INPUT); // N.O. push button switch
pinMode(SWT, INPUT); // N.O. push button switch
digitalWrite(SW0, HIGH); // pull-ups on
digitalWrite(SW1, HIGH);
digitalWrite(SW2, HIGH);
digitalWrite(segDP, LOW);
}
void loop() {
Wire.begin();
Wire.beginTransmission(0x68); // 0x68 is DS3231 device address
Wire.write((byte)0); // start at register 0
Wire.endTransmission();
Wire.requestFrom(0x68, 7); // request seven bytes
gotTheTime = false;
while (Wire.available())
{
gotTheTime = true;
}
microsNow = micros();
// try to figure out which half-second we are in
// (this is important to making the striking work properly)
if (ss != old_ss) microsAtLastSecond = microsNow;
halfSec = ss * 2;
if ((microsNow - microsAtLastSecond) >= 500000UL) halfSec++;
if (gotTheTime) {
// only if we have successfully read the time
// do we then attempt to indicate the time
if (halfSec != old_halfSec) { // do this only once every half-second
// see if it is time for the clock to strike
if (mi == 0) { // strike on the hour, i.e. when minutes are 0
if (halfSec < 26) {
// play the Westminster Chimes
switch (halfSec) {
case 0: tone(SPEAKER_PIN, 330, 420); break;
case 1: tone(SPEAKER_PIN, 415, 420); break;
case 2: tone(SPEAKER_PIN, 370, 420); break;
case 3: tone(SPEAKER_PIN, 247, 735); break;
case 6: tone(SPEAKER_PIN, 330, 420); break;
case 7: tone(SPEAKER_PIN, 370, 420); break;
case 8: tone(SPEAKER_PIN, 415, 420); break;
case 9: tone(SPEAKER_PIN, 330, 735); break;
case 12: tone(SPEAKER_PIN, 415, 420); break;
case 13: tone(SPEAKER_PIN, 330, 420); break;
case 14: tone(SPEAKER_PIN, 370, 420); break;
case 15: tone(SPEAKER_PIN, 247, 735); break;
case 18: tone(SPEAKER_PIN, 247, 420); break;
case 19: tone(SPEAKER_PIN, 370, 420); break;
case 20: tone(SPEAKER_PIN, 415, 420); break;
case 21: tone(SPEAKER_PIN, 330, 735); break;
default: break;
}
}
else if ((halfSec < (26 + 3 * hhTwelve)) && ((halfSec % 3) == 2)) {
// bong the hours
tone(SPEAKER_PIN, 415, 750);
}
}
}
if ((ss != old_ss) || (dstOn != old_dstOn)) { // only once every second
// update the display to show the current date and time
DateTime now = RTC.now();
long HR = now.hour() * 1000;
long timp = (HR * 10) + now.minute() * 100 + now.second();
Adhr = now.hour();
Admnt = now.minute();
int DIM = 0;
if (timp >= 250000)
timp = timp - 240000;
//------------------------------------------------------
//12/24 hours shitching
//------------------------------------------------------
if (timp < 130000) {
digitalWrite(segDP, LOW);
}
if (digitalRead(SWT) == 0) {
delay(300);
if (D == 0) {
D = 1; delay(200);
}
else {
D = 0;
}
}
if (D == 0) {
if (timp >= 130000) {
timp = timp - 120000;
digitalWrite(segDP, HIGH);
}
}
if (timp >= 130000) {
digitalWrite(segDP, LOW);
}
if ((D == 1) & (timp < 130000))
digitalWrite(segDP, LOW);
//------------------------------------------------------
//int timp = (now.minute(), DEC);
// displayNumber(12); // this is number to diplay
for (int i = 100 ; i > 0 ; i--) {
if (timp >= 100000) displayNumber01(timp);
else displayNumber02(timp);
}
for (int i = 100 ; i > 0 ; i--) {
if (timp >= 100000) displayNumber03(timp);
else displayNumber04(timp);
}
for (int i = 100 ; i > 0 ; i--) {
if (timp >= 100000) displayNumber05(timp);
else displayNumber06(timp);
}
if (digitalRead(SW0) == 0) {
delay(100); // hold the switch to set time
Z = 1;
set_time();
}
}
void set_time() {
byte minutes1 = 0;
byte hours1 = 0;
byte minutes = 0;
byte hours = 0;
hours = Adhr;
minutes = Admnt;
if ((hours & 0x0f) > 9) hours = hours + 6;
if (hours > 0x24) hours = 1; // Mid night 12.00 will show as 12:00 (With PM LED on) or 24:00
//if (hours > 0x24) hours = 1; // Mid night 12.00 will show as 0:00
if ((minutes & 0x0f) > 9) minutes = minutes + 6;
if (minutes > 0x59) minutes = 0;
while (!(Z == 0)) { // set time switch must be released to exit
int TST = digitalRead(SW2);
while (TST == 0) // set hours
{
hours++;
// converting hexa in zecimal:
zh = hours / 16;
uh = hours - 16 * zh ;
ore = 10 * zh + uh;
zm = minutes / 16;
um = minutes - 16 * zm ;
miniti = 10 * zm + um;
if ((hours & 0x0f) > 9) hours = hours + 6;
if (hours > 0x24) hours = 1; // Mid night 12.00 will show as 12:00 (With PM LED on) or 24:00
//if (hours > 0x24) hours = 1; // Mid night 12.00 will show as 0:00
if (hours <= 9)
delay(1);
for (int i = 400 ; i > 0 ; i--) {
displayNumber01(ore * 10000 + miniti * 100);
}
TST = digitalRead(SW2);
}
while (!(digitalRead(SW1))) // set minutes
{
minutes++;
// converting hexa in zecimal:
zh = hours / 16;
uh = hours - 16 * zh ;
ore = 10 * zh + uh;
zm = minutes / 16;
um = minutes - 16 * zm ;
miniti = 10 * zm + um;
for (int i = 400 ; i > 0 ; i--) {
displayNumber01(ore * 10000 + miniti * 100);
}
if ((minutes & 0x0f) > 9) minutes = minutes + 6;
if (minutes > 0x59) minutes = 0;
if (minutes >= 9)
delay(1);
}
Wire.beginTransmission(0x68); // activate DS1307
Wire.write(0); // where to begin
Wire.write(0x00); //seconds
Wire.write(minutes); //minutes
Wire.write(0x80 | hours); //hours (24hr time)
Wire.write(0x06); // Day 01-07
Wire.write(0x01); // Date 0-31
Wire.write(0x05); // month 0-12
Wire.write(0x09); // Year 00-99
Wire.write(0x10); // Control 0x10 produces a 1 HZ square wave on pin 7.
Wire.endTransmission();
// converting hexa in zecimal:
zh = hours / 16;
uh = hours - 16 * zh ;
ore = 10 * zh + uh;
zm = minutes / 16;
um = minutes - 16 * zm ;
miniti = 10 * zm + um;
for (int i = 400 ; i > 0 ; i--) {
displayNumber01(ore * 10000 + miniti * 100);
}
delay(100);
//Serial.print(digitalRead(SW0));
if (digitalRead(SW0) == 0) Z = 0;
delay(300);
}
//Serial.print(SW2);
}
void displayNumber01(long toDisplay) {
#define DISPLAY_BRIGHTNESS 25
#define DIGIT_ON HIGH
#define DIGIT_OFF LOW
for (int digit = 6 ; digit > 0 ; digit--) {
//Turn on a digit for a short amount of time
switch (digit) {
case 1:
digitalWrite(digit1, DIGIT_ON);
break;
case 2:
digitalWrite(digit2, DIGIT_ON);
//digitalWrite(segDP, LOW);
break;
case 3:
digitalWrite(digit3, DIGIT_ON);
break;
case 4:
digitalWrite(digit4, DIGIT_ON);
break;
}
lightNumber(toDisplay % 10);
toDisplay /= 10;
delayMicroseconds(DISPLAY_BRIGHTNESS);
//Turn off all segments
lightNumber(10);
//Turn off all digits
digitalWrite(digit1, DIGIT_OFF);
digitalWrite(digit2, DIGIT_OFF);
digitalWrite(digit3, DIGIT_OFF);
digitalWrite(digit4, DIGIT_OFF);
}
}
void displayNumber02(long toDisplay) {
#define DISPLAY_BRIGHTNESS 25
#define DIGIT_ON HIGH
#define DIGIT_OFF LOW
for (int digit = 6 ; digit > 0 ; digit--) {
//Turn on a digit for a short amount of time
switch (digit) {
case 1:
lightNumber(10);
break;
case 2:
digitalWrite(digit2, DIGIT_ON);
//digitalWrite(segDP, LOW);
break;
case 3:
digitalWrite(digit3, DIGIT_ON);
break;
case 4:
digitalWrite(digit4, DIGIT_ON);
break;
}
lightNumber(toDisplay % 10);
toDisplay /= 10;
delayMicroseconds(DISPLAY_BRIGHTNESS);
//Turn off all segments
lightNumber(10);
//Turn off all digits
digitalWrite(digit1, DIGIT_OFF);
digitalWrite(digit2, DIGIT_OFF);
digitalWrite(digit3, DIGIT_OFF);
digitalWrite(digit4, DIGIT_OFF);
}
}
void displayNumber03(long toDisplay) {
#define DISPLAY_BRIGHTNESS 25
#define DIGIT_ON HIGH
#define DIGIT_OFF LOW
for (int digit = 6 ; digit > 0 ; digit--) {
//Turn on a digit for a short amount of time
switch (digit) {
case 1:
digitalWrite(digit1, DIGIT_ON);
break;
case 2:
digitalWrite(digit2, DIGIT_ON);
break;
case 3:
digitalWrite(digit3, DIGIT_ON);
break;
case 4:
digitalWrite(digit4, DIGIT_ON);
break;
}
lightNumber(toDisplay % 10);
toDisplay /= 10;
delayMicroseconds(DISPLAY_BRIGHTNESS);
//Turn off all segments
lightNumber(10);
//Turn off all digits
digitalWrite(digit1, DIGIT_OFF);
digitalWrite(digit2, DIGIT_OFF);
digitalWrite(digit3, DIGIT_OFF);
digitalWrite(digit4, DIGIT_OFF);
}
}
void displayNumber04(long toDisplay) {
#define DISPLAY_BRIGHTNESS 25
#define DIGIT_ON HIGH
#define DIGIT_OFF LOW
for (int digit = 6 ; digit > 0 ; digit--) {
//Turn on a digit for a short amount of time
switch (digit) {
case 1:
lightNumber(10);
break;
case 2:
digitalWrite(digit2, DIGIT_ON);
break;
case 3:
digitalWrite(digit3, DIGIT_ON);
break;
case 4:
digitalWrite(digit4, DIGIT_ON);
break;
}
lightNumber(toDisplay % 10);
toDisplay /= 10;
delayMicroseconds(DISPLAY_BRIGHTNESS);
//Turn off all segments
lightNumber(10);
//Turn off all digits
digitalWrite(digit1, DIGIT_OFF);
digitalWrite(digit2, DIGIT_OFF);
digitalWrite(digit3, DIGIT_OFF);
digitalWrite(digit4, DIGIT_OFF);
}
}
void displayNumber05(long toDisplay) {
#define DISPLAY_BRIGHTNESS 25
#define DIGIT_ON HIGH
#define DIGIT_OFF LOW
for (int digit = 6 ; digit > 0 ; digit--) {
//Turn on a digit for a short amount of time
switch (digit) {
case 1:
digitalWrite(digit1, DIGIT_ON);
break;
case 2:
digitalWrite(digit2, DIGIT_ON);
break;
case 3:
digitalWrite(digit3, DIGIT_ON);
break;
case 4:
digitalWrite(digit4, DIGIT_ON);
break;
}
lightNumber(toDisplay % 10);
toDisplay /= 10;
delayMicroseconds(DISPLAY_BRIGHTNESS);
//Turn off all segments
lightNumber(10);
//Turn off all digits
digitalWrite(digit1, DIGIT_OFF);
digitalWrite(digit2, DIGIT_OFF);
digitalWrite(digit3, DIGIT_OFF);
digitalWrite(digit4, DIGIT_OFF);
}
}
void displayNumber06(long toDisplay) {
#define DISPLAY_BRIGHTNESS 25
#define DIGIT_ON HIGH
#define DIGIT_OFF LOW
for (int digit = 6 ; digit > 0 ; digit--) {
//Turn on a digit for a short amount of time
switch (digit) {
case 1:
//digitalWrite(digit1, DIGIT_ON);
break;
case 2:
digitalWrite(digit2, DIGIT_ON);
break;
case 3:
digitalWrite(digit3, DIGIT_ON);
break;
case 4:
digitalWrite(digit4, DIGIT_ON);
break;
}
lightNumber(toDisplay % 10);
toDisplay /= 10;
delayMicroseconds(DISPLAY_BRIGHTNESS);
//Turn off all segments
lightNumber(10);
//Turn off all digits
digitalWrite(digit1, DIGIT_OFF);
digitalWrite(digit2, DIGIT_OFF);
digitalWrite(digit3, DIGIT_OFF);
digitalWrite(digit4, DIGIT_OFF);
}
}
//Given a number, turns on those segments
//If number == 10, then turn off number
void lightNumber(int numberToDisplay) {
//Common Anode *************************
#define SEGMENT_ON HIGH
#define SEGMENT_OFF LOW
switch (numberToDisplay) {
case 0:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_ON);
digitalWrite(segF, SEGMENT_ON);
digitalWrite(segG, SEGMENT_OFF);
break;
case 1:
digitalWrite(segA, SEGMENT_OFF);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_OFF);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_OFF);
digitalWrite(segG, SEGMENT_OFF);
break;
case 2:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_OFF);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_ON);
digitalWrite(segF, SEGMENT_OFF);
digitalWrite(segG, SEGMENT_ON);
break;
case 3:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_OFF);
digitalWrite(segG, SEGMENT_ON);
break;
case 4:
digitalWrite(segA, SEGMENT_OFF);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_OFF);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_ON);
digitalWrite(segG, SEGMENT_ON);
break;
case 5:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_OFF);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_ON);
digitalWrite(segG, SEGMENT_ON);
break;
case 6:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_OFF);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_ON);
digitalWrite(segF, SEGMENT_ON);
digitalWrite(segG, SEGMENT_ON);
break;
case 7:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_OFF);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_OFF);
digitalWrite(segG, SEGMENT_OFF);
break;
case 8:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_ON);
digitalWrite(segF, SEGMENT_ON);
digitalWrite(segG, SEGMENT_ON);
break;
case 9:
digitalWrite(segA, SEGMENT_ON);
digitalWrite(segB, SEGMENT_ON);
digitalWrite(segC, SEGMENT_ON);
digitalWrite(segD, SEGMENT_ON);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_ON);
digitalWrite(segG, SEGMENT_ON);
break;
// all segment are ON
case 10:
digitalWrite(segA, SEGMENT_OFF);
digitalWrite(segB, SEGMENT_OFF);
digitalWrite(segC, SEGMENT_OFF);
digitalWrite(segD, SEGMENT_OFF);
digitalWrite(segE, SEGMENT_OFF);
digitalWrite(segF, SEGMENT_OFF);
digitalWrite(segG, SEGMENT_OFF);
break;
}
// End of the coding, BUDHUSARANAI, Best of luck.
}
and the error message is
C:\Users\SUBHRO\AppData\Local\Temp\arduino_modified_sketch_679888\sketch_feb07a.ino: In function 'void loop()':
sketch_feb07a:223:49: error: 'displayNumber01' was not declared in this scope
if (timp >= 100000) displayNumber01(timp);
^
sketch_feb07a:224:34: error: 'displayNumber02' was not declared in this scope
else displayNumber02(timp);
^
sketch_feb07a:228:49: error: 'displayNumber03' was not declared in this scope
if (timp >= 100000) displayNumber03(timp);
^
sketch_feb07a:229:34: error: 'displayNumber04' was not declared in this scope
else displayNumber04(timp);
^
sketch_feb07a:233:49: error: 'displayNumber05' was not declared in this scope
if (timp >= 100000) displayNumber05(timp);
^
sketch_feb07a:234:34: error: 'displayNumber06' was not declared in this scope
else displayNumber06(timp);
^
sketch_feb07a:243:18: error: 'set_time' was not declared in this scope
set_time();
^
sketch_feb07a:247:23: error: a function-definition is not allowed here before '{' token
void set_time() {
^
sketch_feb07a:744:5: error: expected '}' at end of input
}
^
sketch_feb07a:744:5: error: expected '}' at end of input
exit status 1
'displayNumber01' was not declared in this scope