0
Offline
Newbie
Karma: 0
Posts: 18
Arduino rocks
|
 |
« on: October 06, 2009, 03:03:18 pm » |
Hi everyone
I'm trying to make a stopwatch in arduino using a MAX7219 driver chip and a 7segment display. I'm having trouble with the code and have managed to get so far using my own skills (i'm a total begginer) and by copying other codes that are kicking around. I can get one of the digits on a 7 segment display to count up the way, but i'm struggling to get it to act like a stopwatch. I'm not looking for someone to do this for me but perhaps to steer me in the right direction with the arduino code.
here is the code i have so far #include "LedControl.h" /* Now we need a LedControl to work with. ***** These pin numbers will probably not work with your hardware ***** pin 12 is connected to the DataIn pin 11 is connected to the CLK pin 10 is connected to LOAD We have only a single MAX72XX. */ LedControl lc=LedControl (int 12, int 11, int 10, int 1);
/* we always wait a bit between updates of the display */ unsigned long delaytime=250;
void setup() { /* The MAX72XX is in power-saving mode on startup, we have to do a wakeup call */ lc.shutdown(0,false); /* Set the brightness to a medium values */ lc.setIntensity(0,8); /* and clear the display */ lc.clearDisplay(0); }
/* This method will display the characters for the word "Arduino" one after the other on digit 0. */ void writeArduinoOn7Segment() { lc.setChar(0,0,'a',false); delay(delaytime); lc.setRow(0,0,0x05); delay(delaytime); lc.setChar(0,0,'d',false); delay(delaytime); lc.setRow(0,0,0x1c); delay(delaytime); lc.setRow(0,0,B00010000); delay(delaytime); lc.setRow(0,0,0x15); delay(delaytime); lc.setRow(0,0,0x1D); delay(delaytime); lc.clearDisplay(0); delay(delaytime); }
/* This method will scroll all the hexa-decimal numbers and letters on the display. You will need at least four 7-Segment digits. otherwise it won't really look that good. */ void scrollDigits() { for(int i=0;i<13;i++) { lc.setDigit(0,3,i,false); lc.setDigit(0,2,i+1,false); lc.setDigit(0,1,i+2,false); lc.setDigit(0,0,i+3,false); delay(delaytime); } lc.clearDisplay(0); delay(delaytime); }
void loop() { writeArduinoOn7Segment(); scrollDigits(); }
thank's for any help
|