Show Posts
Pages: [1]
1  Forum 2005-2010 (read only) / Exhibition / Re: PWM over Shift Register Library (For RGB LED's) on: December 06, 2010, 03:50:02 pm

Knob allows me to control the length and rate.
Button to change between the two.
switch to change direction.
2  Forum 2005-2010 (read only) / Exhibition / Re: PWM over Shift Register Library (For RGB LED's) on: November 20, 2010, 07:46:09 pm
Yay!  Looking at the images on your website, I was able to reconstruct the design.  I have a little "flitter" after it loops through the function, I put a 103 cap on the latch pins, not sure what's happening there.

For those asking for a schematic,   in his code, the PWM pins are

#define __dataPin 9
#define __clockPin 10
#define __latchPin 11

A 75HC595 wires up pretty easily,  you can reference the ShiftOut tutorial here http://www.arduino.cc/en/Tutorial/ShiftOut

As for the daisy chain of the 595's....

PIN 11       SH_CP       Shift register (clock pin)
PIN 12       ST_CP       Storage register clock pin (latch pin)

are linked from one to the next, so from 11 to 11 and from 12 to 12.

The serial data is output on PIN 9       Q7" Serial Out

and PIN 14 DS       Serial data input.

So from the first 595 to the second go from pin 9 to 14 and so forth.

Here is a vid with 4 RGB's.  

I will expand to 16 and update here in a bit.


16. going 32 next


3  Forum 2005-2010 (read only) / Exhibition / Re: PWM over Shift Register Library (For RGB LED's) on: November 14, 2010, 11:30:24 pm
still have a lot to learn, so forgive my ignorance.  

Are you using common anode or common cathode?
Why?
Do you think that this would work with the other type?
4  Forum 2005-2010 (read only) / Exhibition / Re: Nixie Clock (eventually!) on: January 04, 2011, 06:23:12 pm
I don't see why not (at least off the top of my head)

A single 595 should be able to run 2 74141's (or equivalent)

Since the tubes that I am using have left and right decimal points, and the 4017 is 10bits, after I have all 4 tubes and drivers going  I can use the remaining 2 pins on each 4017 to create an animation or mode select indicator using a transistor.

5  Forum 2005-2010 (read only) / Exhibition / Re: Nixie Clock (eventually!) on: January 04, 2011, 03:38:36 pm
Not much of an artist, so no diagram from me, but i can write it out!

From the code you can see that I am using digital pins 9-12.  The driver that I am using is the SN74141, you can find that datasheet pretty easily.  The power supply is a DC DC 12v to 180v unit that I got from techkits, there are others out there that are adjustable voltage as well, just do a search for nixie power supply.

So the basic wiring is

4 digital pins to pins A B C D of the 74141.
VCC is 5v+, i'm powering that off of the Arduino
GND is connected to the  common on the 180vdc power supply.
The remaining pins go to the corresponding leads on the nixie tube.
The nixie tubes are common anode, so i take the 180vdc from the power supply to the anode of the tube.  

That's it!

I'm sure there is an easier way to code the functions of the 74141 using an array, but I'm by no means a coder.

6  Forum 2005-2010 (read only) / Exhibition / Nixie Clock (eventually!) on: January 04, 2011, 05:24:35 am
So every Wednesday I man my buddies store http://reuseum.com and hang out for a few hours.  Last week I saw on the shelf an old multimeter that had 5 nixie tubes and a 29.99 price tag(would not power up of course, parts repair).  By the end of the day it was still there and so I decided that it needed a new purpose and home.  I ripped out the 5 tubes and the 4 74141's and did some research on the interwebs.  Today I received my power supply and decided to start figuring out how to run one of these things!

After one minor shock@180vdc and a blown 74141 I have this

 [media]http://www.youtube.com/watch?v=soTx4mVoMqg[/media]


 The code I slapped together is simple, I found the datasheet for the tubes (Burroughs 5750-S) and from there began to test.  Tomorrow I hope to get 2 tubes going with a 4017 between my RBBB and the 74141's.  That means ShiftOut() I think....Not sure yet.

In the shop there are GPS units (they just did a workshop a few months ago) and that is what I am hoping to use for an accurate time source for this project.  The case that I would like is here, and the size of the tubes.






Code:

int aPin =  9;
int bPin = 10;
int cPin = 11;
int dPin = 12;



void setup()   {                

  pinMode(aPin, OUTPUT);
  pinMode(bPin, OUTPUT);
  pinMode(cPin, OUTPUT);
  pinMode(dPin, OUTPUT);  
}


void loop()                    
{
  zero();
    blank();
  one();
    blank();
  two();
    blank();
  three();
    blank();
  four();
    blank();
  five();
    blank();
  six();
    blank();
  seven();
    blank();
  eight();
    blank();
  nine();
    blank();
}

void blank()
{
  digitalWrite(aPin, HIGH);
  digitalWrite(bPin, HIGH);
  digitalWrite(cPin, HIGH);
  digitalWrite(dPin, HIGH);
  delay (500);
}

void zero(){
  digitalWrite(aPin, LOW);
  digitalWrite(bPin, LOW);
  digitalWrite(cPin, LOW);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void one(){
  digitalWrite(aPin, HIGH);
  digitalWrite(bPin, LOW);
  digitalWrite(cPin, LOW);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void two(){
  digitalWrite(aPin, LOW);
  digitalWrite(bPin, HIGH);
  digitalWrite(cPin, LOW);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void three(){
  digitalWrite(aPin, HIGH);
  digitalWrite(bPin, HIGH);
  digitalWrite(cPin, LOW);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void four(){
  digitalWrite(aPin, LOW);
  digitalWrite(bPin, LOW);
  digitalWrite(cPin, HIGH);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void five(){
  digitalWrite(aPin, HIGH);
  digitalWrite(bPin, LOW);
  digitalWrite(cPin, HIGH);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void six(){
  digitalWrite(aPin, LOW);
  digitalWrite(bPin, HIGH);
  digitalWrite(cPin, HIGH);
  digitalWrite(dPin, LOW);
  delay (1000);
}

void seven(){
  digitalWrite(aPin, HIGH);
  digitalWrite(bPin, HIGH);
  digitalWrite(cPin, HIGH);
  digitalWrite(dPin, LOW);
  delay (1000);
}
  
  
void eight(){
  digitalWrite(aPin, LOW);
  digitalWrite(bPin, LOW);
  digitalWrite(cPin, LOW);
  digitalWrite(dPin, HIGH);
  delay (1000);
}

void nine(){
  digitalWrite(aPin, HIGH);
  digitalWrite(bPin, LOW);
  digitalWrite(cPin, LOW);
  digitalWrite(dPin, HIGH);
  delay (1000);
}
Pages: [1]