Arduino

7-segment led bar

Saturday, November 30, 2013
7-segment led barLike0

Een tijdje geleden was er op mijn werk een ‘mafia-of-drooglegging-themed’ kerstfeest en er werd van je verwacht dat je in kostuum zou komen. Mijn idee was om als een ‘klassieke’ huurmoordenaar te komen, met een vioolkist met daarin allemaal kleine flesjes whiskey en een aflopende led-timer (via Arduino), alsof er drank en wapens in de kist verstopt zaten.

Ik was al zover dat ik hoed, pak, vioolkist, whiskeyflesjes en de 7-segment led bar al had, maar mijn vrouw was net bevallen na eerst langere tijd in het ziekenhuis te hebben gelegen, dus ik heb het nooit in de praktijk kunnen brengen.

Echter, ik had toen dus wel al de aftellende led-bar al aan de praat. En omdat ik zeker weet dat ik dat ding nog wel weer een keer ga gebruiken, zou het zonde zijn als ik de sketch kwijt raak. Mocht je deze sketch zelf willen gebruiken, realiseer je dan wel dat de timer niet nauwkeurig is en dus niet overeenkomt met daadwerkelijke seconden. Dit was voor mij geen enkel issue, maar dat kan het voor jou natuurlijk wel zijn.

Ik weet niet zeker meer waar ik de 7-segment bar gekocht heb*, maar het was ergens in het buitenland. Ik weet dat nog, omdat de post erg lang op zich liet wachten en ik me afvroeg of het verstandig was geweest om een eng uitziend elektronisch apparaat (een of andere shield) tegelijk te kopen met die zeven segment led bars die er toch uitzien als de klassieke film-aflopende-timer. Ik zal dus wel ergens op een lijst staan nu ergens – maar NSA, het was allemaal voor het kerstfeest!

*Het was bij DFRobot: http://www.dfrobot.com/index.php?route=product/product&path=53_133&product_id=374#.UpsYzeInKSp

Aangesloten via Interface shield:

Aangesloten zonder Interface shield:

In dit filmpje sluit ik per ongeluk de 5v pin aan op Vin. Dat kun je beter niet doen! Als je een te hoog voltage aansluit op de Arduino, reguleert deze het zelf naar 5v of 3.3v – maar de pin Vin is gelijk aan dit ongereguleerde voltage! In dit geval maakte het niet uit omdat ik de stroom via USB binnenkreeg (USB levert in principe ongeveer 5 volt stroom), maar als je je Arduino op batterijen of een accu aansluit, kun je je led bar slopen.

Hier de wiki-pagina met het aansluit diagram waarnaar verwezen wordt in het tweede filmpje:
http://www.dfrobot.com/wiki/index.php?title=SPI_LED_Module_%28SKU:DFR0090%29

Sketch:


//Pin connected to latch pin (ST_CP) of 74HC595
const int latchPin = 8;
//Pin connected to clock pin (SH_CP) of 74HC595
const int clockPin = 3;
////Pin connected to Data in (DS) of 74HC595
const int dataPin = 9;
int firstdigit = 9;
int seconddigit = 9;
int thirddigit = 9;
int fourthdigit = 5;
int fifthdigit = 9;
int sixthdigit = 5;

byte Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
byte Tap[]={0xff,0x7f}; //”space”,”.”
void setup() {

//set pins to output because they are addressed in the main loop
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
Serial.begin(9600);
Serial.println(“reset”);
}

void loop() {
int bitToSet = 9;
// write to the shift register with the correct bit set high:
digitalWrite(latchPin, LOW);
// shift the bits out:
shiftOut(dataPin, clockPin, MSBFIRST, Tab[firstdigit]);
shiftOut(dataPin, clockPin, MSBFIRST, Tab[seconddigit]);
shiftOut(dataPin, clockPin, MSBFIRST, Tab[thirddigit]);
shiftOut(dataPin, clockPin, MSBFIRST, Tab[fourthdigit]);
shiftOut(dataPin, clockPin, MSBFIRST, Tab[fifthdigit]);
shiftOut(dataPin, clockPin, MSBFIRST, Tab[sixthdigit]);
shiftOut(dataPin, clockPin, MSBFIRST, Tap[0]);
shiftOut(dataPin, clockPin, MSBFIRST, Tap[0]);
// turn on the output so the LEDs can light up:
digitalWrite(latchPin, HIGH);
delay(10);
firstdigit = firstdigit – 1;
if (firstdigit < 0){
firstdigit=9;
seconddigit = seconddigit – 1;
}
if (seconddigit < 0){
seconddigit=9;
thirddigit = thirddigit – 1;
}

if (thirddigit < 0){ thirddigit=9; fourthdigit = fourthdigit – 1; } if (fourthdigit > 5){
fourthdigit=5;
}

if (fourthdigit < 0){
fourthdigit=5;
fifthdigit = fifthdigit – 1;

}

if (fifthdigit < 0){ fifthdigit=9; sixthdigit = sixthdigit – 1; } if (sixthdigit > 5){
sixthdigit=5;

}

}

0

Leave a Reply

Your email address will not be published.

Follow @ Guerrilla Games
  • The Nora Lookout armour blends in perfectly with this environment πŸŒΏπŸ’™
β€”
Aloy in Nora Lookout
Photography by @vanderthegeneralist
Cosplay by @torra.zwei

#horizonzerodawn #hzd #cosplay #horizoncosplay #hzdcosplay #aloy #aloycosplay
  • Happy #SelfieDay πŸ˜‰πŸ€³πŸ» #horizonzerodawn #aloy
  • The #HorizonZeroDawn @gameinformermagazine prints by @cookandbecker have been signed!

The hand-signed prints sold out quickly, but there are still hand-numbered copies of this print available! Get yours through the link in our bio.
  • Ready to take on a Thunderjaw 🏹

Aloy in Carja Blazon Heavy
Photography by @garnetangeldust
Cosplay by @odd_socks_cosplay

#horizonzerodawn #cosplay #horizoncosplay #aloy #aloycosplay
  • πŸ’  Banuk Trailblazer πŸ’ 

Photography by @nadinekuhnfotografie
Aloy cosplay by @denise.winter5

#horizonzerodawn #cosplay #horizoncosplay #aloy #aloycosplay #banuk
  • 🦊🌿 Photography by @alexbootsman
Aloy cosplay by @fdcosplaystudio / @fenixfatalist

#horizonzerodawn #cosplay #horizoncosplay #aloy #aloycosplay
  • Next-gen art dealer @cookandbecker is releasing a limited run of 200 hand-numbered prints of the amazing Game Informer Cover art for Horizon Zero Dawn today! Prints 1-25 will be signed by Hermen Hulst, Jan-Bart van Beek and Ilya Golitsyn!
Link in bio.
  • "May All-Mother bless you, child." Teersa cosplay by @stitchy_mcbitchy

#horizonzerodawn #cosplay #teersa #teersacosplay