and The Same WIll Be Activated in next 2 days and "todayscircuits.blogspot.com"
will be redirected.
Stay Tuned.
Thanking You For Your Huge Support.
Yours Sincerely,
"Admin"
Source : http://spectrum.ieee.org/automaton/robotics/diy/20-robot-mit-wins-afron-design-challenge
![]() |
| Photo credit: Revolutionary solar cells double as lasers / University of Cambridge Research |
Source: http://www.iflscience.com
![]() |
| Scientists have developed a new laser that holds the potential to increase by orders of magnitude the rate of data transmission on the internet. |
Source: http://timesofindia.indiatimes.com
EFY note. We have tested this circuit without the mechanical arrangement.
Source:
http://electronicsforu.com/
DateTime now = rtc.now();
myNumber[2] = now.hour()/10;
myNumber[3] = now.hour()%10;
myNumber[0] = now.day()/10;
myNumber[1] = now.day()%10;
myNumber[4] = now.minute()/10;
myNumber[5] = now.minute() % 10;
myNumber[6] = now.second()/10;
myNumber[7] = now.second() % 10;
You see I have to separate the tens and the ones, using the modulo and the division operators.
noInterrupts(); // disable all interrupts TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; OCR1A = 5; //10 - 200 // compare match register 16MHz/256/2Hz TCCR1B |= (1 << WGM12); // CTC mode TCCR1B |= (1 << CS12); // 256 prescaler TIMSK1 |= (1 << OCIE1A); // enable timer compare interrupt interrupts(); // enable all interruptsIn the timer routine I transfer the digits:
ISR(TIMER1_COMPA_vect) // timer compare interrupt service routine { ledCounter++;// counting from 0 to 7 ledCounter = (ledCounter)%8; digitalWrite(slaveSelectPin,LOW); SPI.transfer(1<<(ledCounter)); unsigned char num = myNumber[ledCounter];//getting the array member letterTransfer(num); //using the coding and doing the transfer digitalWrite(slaveSelectPin,HIGH); }
pinMode ( 8,INPUT_PULLUP);
pinMode ( 9,INPUT_PULLUP);
or do it the old way:
pinMode ( 8,OUTPUT);
digitalWrite(8, HIGH);
pinMode ( 9,OUTPUT);<br> digitalWrite(9, HIGH);
(I was later thinking of something more fancy:
5. funny effects or text
//dimming or brightening if ( tCounter%100 == 0 ) { //do not check every loop but only once in a while int hhh = analogRead(0)/4; if ( hhh < 150 ) hhh = 0; else if ( hhh < 175 ) hhh = 10; else if ( hhh < 200 ) hhh = 20; else if ( hhh < 250 ) hhh = 50; // do the dimming by way of the frequency of the interrupt noInterrupts(); OCR1A = 10 + hhh ; interrupts();
TCCR0A = 0;
TCCR0B = 0;
TCNT0 = 0;
OCR0A = 50; // compare match register 16MHz/256/2Hz
TCCR0B |= (1 << WGM02); // CTC mode
TCCR0B |= (1 << CS01); // 256 prescaler
TIMSK0 |= (1 << OCIE0A); // enable timer compare interrupt
Together with a second array, we can alternate or even play at the same time the two arrays.
/*
-*- 0000 0001
*-* 0010 0000 0000 0010
-*- 0100 0000
*-* 0001 0000 0000 0100
-*- 0000 1000
comma: 1000 0000
*/
With the 7 digits number display you cannot make the whole alphabet, but
you can make pretty much all the letters. It's clumsy but funny.
//numbers
if ( num == 1 ) SPI.transfer(255 - B00000110);//1
if ( num == 2 ) SPI.transfer(255 - B01011011);//2
if ( num == 3 ) SPI.transfer(255 - B01001111);//3
if ( num == 4 ) SPI.transfer(255 - B01100110);//4
if ( num == 5 ) SPI.transfer(255 - B01101101);//5
if ( num == 6 ) SPI.transfer(255 - B01111101);//6
if ( num == 7 ) SPI.transfer(255 - B00000111);//7
if ( num == 8 ) SPI.transfer(255 - B01111111);//8
if ( num == 9 ) SPI.transfer(255 - B01101111);//9
if ( num == 0 ) SPI.transfer(255 - B00111111);//0
//comma
if ( num == 10 ) SPI.transfer(255 -B10000000);//comma
//some letters
if ( num == 11 ) newNum = B01110111;//A
if ( num == 12 ) newNum = B01111111;//B like 8
if ( num == 13 ) newNum = B00111001;//C
if ( num == 14 ) newNum = B01011110;//D small like 6 without upper stroke
if ( num == 15 ) newNum = B01111001;//E
if ( num == 16 ) newNum = B01110001;//F
if ( num == 17 ) newNum = B01101111;//small G like 9
if ( num == 18 ) newNum = B01110110;//H
if ( num == 19 ) newNum = B00000110;//I like 1
if ( num == 20 ) newNum = B00011110;//J
// K?
if ( num == 21 ) newNum = B00111000;//L
//M -- the m as two digits does not really convince me
//N
if ( num == 22 ) newNum = B00111111;//O like 0
if ( num == 23 ) newNum = B01110011;//P
if ( num == 24 ) newNum = B10111111;//Q like 0.
//R
if ( num == 25 ) newNum = B01101101;//S like 5
if ( num == 26 ) newNum = B01111000;//t small
if ( num == 27 ) newNum = B00111110;//U
//V
//W
//X
//Y ...something like a 9 is possible, mirrored? It does not look too good
//Z
//special signs
if ( num == 40 ) newNum = B01011100;//under circle
if ( num == 41 ) newNum = B01100011;//upper circle
if ( num == 42 ) newNum = B00000000;//empty
if ( num == 43 ) newNum = B10001000;//for a .-.-.-.-.-.-.-. line
//square sequence
if ( num == 44 ) newNum = B00001100; // under + side under right
if ( num == 45 ) newNum = B01000010; //middle side upper right
if ( num == 46 ) newNum = B00000011;
if ( num == 47 ) newNum = B01000100;
Source:
http://www.instructables.com/id/In-your-own-time/?ALLSTEPS


