Arduino

From: ANT_THOMAS27 Jan 2015 10:38
To: Chris (CHRISSS) 244 of 542
Very useful to know. I did wonder about PWM frequency.

Have you got a link to that library? I'm just using analogWrite at the moment.
From: koswix27 Jan 2015 11:11
To: Chris (CHRISSS) 245 of 542
Something I discovered recently (may not be of any use to you but probably handy to know). The Arduino has 6 PWM pins, controlled by 3 timers. Now obviously each *pin* can be set to a seperate duty cycle (0 - 255), but also each *timer* can be set to a separate frequency. So, if you need it for anything, you can have 3 different PWM frequencies, but each pair of pins shares that frequency. There's also some other PWM modes ( http://playground.arduino.cc/Main/TimerPWMCheatsheet ) that may be useful to know.

Makes it possible to control your LEDs with a high frequency, but also if you need to run something else lower, say a motor or something, you can do that to. Don't know if you can use that library to control it (probably, not looked) but you can control it directly from the arduino with the right commands (see link above).
From: ANT_THOMAS27 Jan 2015 11:17
To: koswix 246 of 542
I read something about the PWM timers being different where one is better to use than another. I'll try and find where I saw that.
From: Chris (CHRISSS)27 Jan 2015 11:26
To: ANT_THOMAS 247 of 542
From: Chris (CHRISSS)27 Jan 2015 11:30
To: koswix 248 of 542
I'd read something about the separate timers on the Arduino but hadn't really taken much notice of it. Not sure yet if it would be handy yet but quite possibly at some point.

I had a quick look at that library and looks like it can change all the timers.

It also allows for up to 16bit resolution instead of just the 256 values. Depends on the frequency though, resolution goes down with increased frequency.
EDITED: 27 Jan 2015 11:36 by CHRISSS
From: koswix27 Jan 2015 11:44
To: Chris (CHRISSS) 249 of 542
That 16-bit resolution thing - that could be what Ant was on about. Is it only one that supports 16-bit and the other two are 8-bit? Clutching at straws in my memory here, and I only read it last week :$
From: Chris (CHRISSS)27 Jan 2015 12:13
To: koswix 250 of 542
Yeah, looks like timer 1 can do 16bit but the other two only 8bit.
From: ANT_THOMAS27 Jan 2015 12:23
To: Chris (CHRISSS) 251 of 542
Thanks. I don't really care about having too many degrees of PWM. 0-255 is fine by me. Realistically 0-9 would do the job for the set brightnesses but would look crap for fading.
From: Chris (CHRISSS)27 Jan 2015 13:44
To: ANT_THOMAS 252 of 542
No problem. I was surprised how high the frequency had to go to not notice any flicker at all.

I waved my little strip around (YJ) and took a picture of it.
From: Chris (CHRISSS)27 Jan 2015 18:47
To: ALL253 of 542
I've just installed the Android Arduino IDE. Maybe not a good idea, I'll never get anything done if I can work on projects with my phone. Uploaded the blink sketch to my Uno and it worked perfectly.
From: ANT_THOMAS27 Jan 2015 19:43
To: ALL254 of 542
Shift registers and power supply have arrived so I'll be figuring them out tonight.
From: koswix27 Jan 2015 21:42
To: ALL255 of 542
Floppy Organ now makes recognisable notes!

Learnt how to use interrupts tonight. Quite pleased with the progress, even though there's a lot still to do.
Floppy Organ stage 3: http://youtu.be/obYuROTBXu8
From: koswix27 Jan 2015 21:46
To: ANT_THOMAS 256 of 542
Saw some PCBs that a guy had made today by seeed, they looked pretty nice.
http://www.seeedstudio.com/blog/2011/05/04/fusion-pcb-service-upgraded-with-even-lower-pricing/
From: Chris (CHRISSS)27 Jan 2015 22:27
To: ANT_THOMAS 257 of 542
How do PWM outputs work with a shift register? Anything special needed for that?
From: ANT_THOMAS27 Jan 2015 22:27
To: koswix 258 of 542
Whilst you have to order a minimum of 5 them prices are actually fairly reasonable.
From: ANT_THOMAS27 Jan 2015 22:32
To: Chris (CHRISSS) 259 of 542
I'm using the ShiftPWM library and they seem to work really nicely.

Any flickering has totally gone now I'm using the shift registers. Still figuring out how to use 2 daisy chained together properly.

I was easily able to convert my existing sketch to make use of the shift registers.

rather than:

analogWrite(ledPin1,255);

it is just:

ShiftPWM.SetOne(1, 255);

with the 1 being pin 1 on the shift register. Then you just cycle/loop like any other PWM loop example.
From: koswix27 Jan 2015 22:32
To: ANT_THOMAS 260 of 542
Think he said he paid £10 for ten boards. Pretty small boards, but still.
From: ANT_THOMAS27 Jan 2015 22:39
To: koswix 261 of 542
It looks like about 70 USD for 5 15x20cm boards which is fairly reasonable.

I probably won't need a board that size once I actually draw out the circuits properly.
From: koswix27 Jan 2015 23:10
To: ANT_THOMAS 262 of 542
I've been trying to get my head round Eagle CAD (Jim lent me a copy of the pro version). Takes some getting used to, but a few youtube videos definitely helped.

I'm going to give the laser transfer/etching method a go once I've finished designing the board. The board's not very complicated, just a bunch of floppy drive sockets routed to a pin header to make my floppy organ (it's cold outside, John) a bit more organised and less prone to random braking.
From: ANT_THOMAS27 Jan 2015 23:15
To: koswix 263 of 542
I think if I design mine well and I don't just have the screw connectors down one side, instead having them spread across 2 or 3 sides I could probably get it down to 10cm x 10cm which is only $18.90 for 5. Assuming that leaves enough space for 20 to 24 transistors.