PDA

View Full Version : 144 LED Games Console Project



Art
- 15th February 2010, 12:20
144 LED Game Console
Featuring original recoded clones of two classic games: Snake and Tetris!
Art 2010 -------------------- Note: This is not an official Tetris product.

144 LED Game Console - Bill Of Material

001 x Microchip Pic 16F877 or 16F877A microcontroller
001 x 40 pin DIL socket
018 x BC549C or similar Transistors
145 x LEDs (144 of one colour, and 1 of another for the power/error indicator)
001 x 20 MHz Crystal
009 x 330R Resistors
018 x 1K2 Resistors
004 x 10K Resistors
001 x 4K7 Resistor
002 x 22pF Disc Ceramic Capacitors
001 x 0.1 uF Monolythic Capacitor
001 x Prototype Printed Circuit Board (display)
001 x Small Prototype Printed Circuit Board (joypad)
004 x Momentary Push Buttons

http://www.picbasic.co.uk/forum/attachment.php?attachmentid=4568&d=1277555769



Display schematic is made from a modified version of a display by B.Morse.

See YouTube Demos of the Games Here:
http://www.freewebs.com/defxev/scroll.htm

Code for the Microcontroller is coming soon!

PS. If someone would like to make a PCB layout, that would be cool :)

Cheers, Art.

Art
- 15th February 2010, 14:25
Here's the schematic you'll need if you want to use the message scroller.

http://farm5.static.flickr.com/4004/4359357082_014ce0fb82_o.png

The readme, hex file, and source code are posted in the attachment.
Cheers, Art.

mtripoli
- 15th February 2010, 16:42
If you're into building things like this you might want to check out TI's line of LED drivers: http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId=480&uiTemplateId=NODE_STRY_PGE_T
National also has a great section on LED power:http://www.national.com/analog/led/high_brightness
Maxim has a bunch of really cool led drivers as well, but I've found them to be a little on the expensive side: http://www.maxim-ic.com/products/display/

Mike Tripoli

Bruce
- 16th February 2010, 05:38
Way cool project Art. Thanks for sharing.

P.S. Really liked the wavy line thing in your video. Very creative.

mackrackit
- 16th February 2010, 06:08
Very nice!!!!

Ioannis
- 16th February 2010, 08:57
Nice job Art! The wavy string was awesome.

Ioannis

Art
- 16th February 2010, 08:58
Thanks for the comments :)

Version 2 eliminates the need for the external EEPROM,
improves Tetris scoring system (where it's worth more to get multiple rows simultaneously),
More fixes described in the source code header.
Cheers, Art.

falingtrea
- 16th February 2010, 19:21
Heheh, remember the the old Mattel handheld football game, I bet you could write a version of that game for your unit.

http://www.handheldmuseum.com/Mattel/FB.htm

Art
- 16th February 2010, 23:29
Hmm, I'm 35, so I might have been around for something like that, but don't remember it.
I have made room for another game on the same chip though :)

Bruce
- 17th February 2010, 00:20
From what I've seen so far - I'll bet you can come up with a boat-load of very cool games for this one.

I'll look at making a board for it with surface mount components, and ICSP header. I think this would be a really cool board for people just starting out with PBP.

Art
- 17th February 2010, 01:27
From what I've seen so far - I'll bet you can come up with a boat-load of very cool games for this one.

I'll look at making a board for it with surface mount components, and ICSP header. I think this would be a really cool board for people just starting out with PBP.

I'm thinking of an action game next, like a lo-res sideways shooter or something.
A playable Pong would be easy, but pretty boring with fixed angles.
I am looking at fitting as much as possible on the 16F877/A.

If you make better hardware I really hope you'll consider selling me one :)
(or at least sharing the PCB layouts, etc).

I've got to look at making PCBs soon... Just got my first PCB kit with a pen,
but I think I should have moved straight to the photographic kind.
It's too much to stuff around with transfers for IC footprints, etc.
I think I'll just try some sort of radio with these etchant resist pen type.
Art.

mackrackit
- 17th February 2010, 02:14
Black Sharpie's are great pins for PCBs. Cheap and you can get them in several point sizes.
Alcohol will take the ink off but the etchant will not.

Through the hole work is easy for hand drawn work. Drill the holes first and connect the dots.

Art
- 17th February 2010, 15:08
I was thinking of a surface mounted FM radio like this:
http://www.somerset.net/arm/reprints/radio_shack_special/rss.html

Mainly because I can't imagine doing something with pic chips if I had to draw tracks myself.
For through mount, I imagine it's a challenge to mirror chip pinouts too.
At least the radio would probably work :D

mtripoli
- 18th February 2010, 01:16
If enough people are interested I can layout a PCB for this and upload the schematic and Gerber files. You could then send the files to your favorite PCB house for manufacture, or if someone wants to make a run of boards you're all set. Though I'd use SMD personally I'd think a through hole board would be easier for first-timers to solder. It would be a two sided-plated though hole board. I can knock this out in a day or so...

Give me the word and I'll go ahead. I would say though add any switches, connectors, headers etc. ideas before I do it (layout is no big deal, rip-up and re-route sucks)...

Mike Tripoli

Art
- 18th February 2010, 01:32
Give me the word and I'll go ahead.

If you're waiting for the word from me, then go ahead :)
If SMD makes the LEDs cheaper that's something to think about.
I paid about $30 Au in LEDs per unit, and they were fairly ordinary LEDs.

The only consideration I can think of is the joystick buttons should be
arranged like a joystick, and remember you have to turn the unit vertical to play tetris,
so I don't think the joystick can be ideally located for both games.
I've posted an image of how I'd try to lay it out now so the joystick could be
used for both games without wiring it seperately.

It also might be an idea to add the EEPROM as it is in the first schematic.
If you're using a 40 pin DIP for the 16F877 then the ICSP header is optional.

In the schematic I have given, two of the direction buttons switch pins to gnd,
and the other two switch pins to +5V. This could be changed to make
the buttons all uniform (and the software altered), or left as is.
Cheers, Art.

mtripoli
- 18th February 2010, 04:06
:eek:

I'm glad I was sitting... I know things cost more depending on where you live, but this surprised me... I don't know what you have available for buying components there but they are nowhere near that much here, buying from an "expensive" distributor (Digikey). Here's a link for red 5mm TH parts: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=160-1678-ND. As you can see 100 pcs. is $8.60USD ($9.60AUD) :) A comparable SMD (http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=160-1463-1-ND) is $13.00/100. This is a 1210 package; I don't know that I'd go smaller than that. Again, for beginners SMD would be hard enough to solder, let alone smaller. Smaller devices "typically" don't have a round lens as well.

The "joystick" buttons are not a problem. I didn't see how many pins are used on the uC. How about a couple of pads for a rolling ball tilt switch (one pin on the uC)? These are about $1.50 here (so that'd be $6.00 there) ;) If you tilt the board 90 degrees the joystick pad (and display) can "rearrange" to the correct orientation?

Resonators with built in caps are cheaper (about $0.60) than a crystal.

It looks like any NPN will do. 2N5210 parts are about $0.15USD. For whatever reason, "BC" parts are slightly more than "2N" parts here.

I'll start drawing the schematic... I have a fresh martini in front of me so I'll be on cruise control... the package type can wait until more people have weighed in...

Mike Tripoli

mtripoli
- 18th February 2010, 05:30
I've looked at the footprints for the components. I've wanted to do this in the past, but frankly when you are getting paid to do something you can't screw around. I'm going to design the PCB so that it can take both through hole parts or SMD parts in the same footprint. What you care to populate is up to you...maix and match! Theoretically it *shouldn't* take any more board space than one or the other...

What was your spacing on the leds and do you think it optimum? The "aspect" ratio obviously effects how the display looks. It *looks* like 0.100" centers to me...

Mike Tripoli

Art
- 20th February 2010, 10:32
Sorry, I was away for two nights. Lucky I took my laptop and pic programmer with
me so I saved a lot of chip space again :)

I don't know what my LED spacing is. As long as it's even, it should work.

The EEPROM in the circuit def shouldn't be needed now, but I don't think a tilt
switch is needed either. The orientation of the joystick is determined by the game you're
playing, so it can be switched with the game.

One of the pins that was connected to the EEPROM should now be used for a
serial port I think.
I was using one of the LED input ports, but without the EEPROM, the serial ort could have it's own pin.
The other EEPROM pin could now perhaps be connected to a PCB speaker.

Art
- 23rd February 2010, 03:21
Hi again Guys,
I've done a few updates including support for a 250 character display message
for the scroller. This was done by making space for tables in program memory again.
Now the only thing other than a message on the on-chip EEPROM are game high scores and message length.

Removal of the external 12C EEPROM chip provided extra pins.
The serial port now has a dedicated pin, and a PCB speaker has been added.

Both games now have basic sound, and the unit clicks as you type characters into your terminal program
when using serial message programming mode.

I thought I'd do more with this one, but I've moved on to another pic project.

Cheers, Art.

Art
- 25th February 2010, 04:43
Thought I'd better post that there is an error in the LED matrix schematic.
The 18 transistors should all be connected to + 5 Volts, not Gnd.
Cheers, Art.

mtripoli
- 26th February 2010, 04:54
Thought I'd better post that there is an error in the LED matrix schematic.
The 18 transistors should all be connected to + 5 Volts, not Gnd.
Cheers, Art.

What's connected to +5V? Not the emitter. Not on an NPN.

If it's a PNP the load goes in the emitter (emitter follower, and doesn't need a base resistor) or in the collector (and needs the resistor). It's drawn now as an NPN open collector. If it is an NPN and *something* is connected to +5 it's the collector (the only time I've ever connected a postive supply rail to the emitter of an NPN has been when designing very high speed switches and we ain't going there)...

I've got all but the switches and ICSP header and related components in place. You can see the top layer here: http://www.scarydesign.com/144/144topview.pdf It hasn't been optimized for size yet or mounting holes etc.

The pads look a little odd because you can use TH or SMD components. I'll wait to do more until this has been worked out...

Mike Tripoli

Art
- 26th February 2010, 10:10
They are BC549 (NPN) transistors with the collectors connected to + 5 Volt.
All of the LED anode columns are connected to the emitters,
and the cathode rows are sunk directly by the pic pins.

I deleted the LED schematic section from flickr. It may also picture the wrong transistors
(wired for a common cathode display).

Ooh.. the PCB artwork is nice :)

Mike, K8LH
- 26th February 2010, 13:39
..... I paid about $30 Au in LEDs per unit, and they were fairly ordinary LEDs.

Hi Art,

Nice project!

I know you're pretty far along in the design so please forgive me for jumping in with suggestions at such a late date.

Have you considered using some of the bargain "surplus" or "new old stock" 8x8 matrix displays out there? You could probably replace $30 worth of discrete LEDs with three 8x8 modules (8x24 = 192 LEDs) for less then $5. Use SIL (single in-line) machined pin headers for module sockets and you can utilize the space under the matrix modules for other circuitry (notice how much room I have under those large 2.2-inch modules in the pictures below).

Have you considered scanning rows instead of columns? This would increase the duty cycle from 1/18th to 1/8th which should improve brightness by increasing "average" LED current. Using "direct" I/O drive on the rows is limiting you to about 1.3-ma "average" current with your 1/18th duty cycle. That would go up to about 3-ma "average" current with a 1/8th duty cycle.

Kind regards, Mike

Art
- 26th February 2010, 23:37
Have you considered scanning rows instead of columns? This would increase the duty cycle from 1/18th to 1/8th which should improve brightness by increasing "average" LED current.

That would be nice, but I'd then have to use 8 transistors for the rows.
Bit late for this hardware, but if someone wanted to add that to a PCB design
I could certainly update the software.

The size of the display was really determined by the proto PCB I was using,
and it had to be a certain height to scroll letters of the LCD font I wanted.

Mike, K8LH
- 27th February 2010, 20:10
Hi Art,

Yes, you'd need 8 PNP or P-FET row driver transistors but then you could get rid of the 18 column driver transistors --> fewer transistors, more current limiting resistors on the columns now instead of the rows, and more than double the "average" LED current (and brightness).

If you've already committed to a PCB design then I would agree it's a bit late for this hardware change, but then again, if you're designing a new PCB then why would you limit yourself to the design that just fits on the prototyping board that you happened to have?

Here's my (unsolicited) idea for a modular system that will support a single 8x8 module or up to eight daisy-chained 8x8 modules. Start by designing a single 2.1"x2.1" PCB for those large 2.2-inch 8x8 matrix displays which can be used either as a "master" 8x8 display module (with cpu) or as a daisy-chained 8x8 display module. Install a PIC, column driver IC, and row driver transistors on the first 2.1"x2.1" PCB for a stand-alone "master" 8x8 display module. Install just the column driver IC on an additional 2.1"x2.1" board and daisy chain this new 8x8 module to the first module for an 8x16 display. Likewise, add additional modules as desired. The modules connect via a simple 10 pin powered buss (plus +5V and GND lines) and the 1/8th (12.5%) duty cycle remains unchanged wether you're using a single 8x8 module or all eight 8x8 modules.

In summary, a single relatively inexpensive 2.1"x2.1" PCB can be used as the basic building block for a high performance full brightness mono-color display of 8x8 up to 8x64 in size.

Kind regards, Mike

mtripoli
- 27th February 2010, 20:33
Hey Art,

I got your message. Clear some of your mailbox so I can reply. The system is saying you've exceeded your inbox amount.

Mike Tripoli

mtripoli
- 27th February 2010, 21:02
Hi Art,

Yes, you'd need 8 PNP or P-FET row driver transistors but...
Kind regards, Mike

Hi Mike, Mike here...

I agree with you 100%. However, I think *part* of the appeal of this approach is it's "brute-force". I'm in fact a big fan of the "smart drivers" from TI (and others, see my previous post) and have designed systems much as you've described for commercial use. However, I think that users, beginners in particular, are more comfortable with an "all-in-one" board like this.

It does have it's shortcomings but that's not really the point. When you look "under-the-hood" there are a lot of basic lessons (no pun intended). This board grows (by an additional 143 leds) on the beginning "blink an led" ideas. Other than generating sound (not so easy) flashing leds is probably up there with the first things that people want to do when starting out with microcontrollers (other than those that have never touched a soldering iron, never done any programming of any kind, buy a "system" and then want to "design" a USB based robot control system with 100 servo's, motion feedback, PID, voice control and image recognition. With one PIC. In Basic. Canned routines. Yes, that is a dig and you know who you are).

I volunteered to layout this PCB not because I am a nice guy (I am actually, just ask my dog), but because contrary to what some people think I do believe in helping out people that genuinely want to learn and see this is as a platform that would (hopefully) make them pull out a soldering iron, buy some parts and go through the process and learn something. My previous post about "not doing rip-up" is out the window awhile ago...

Mike Tripoli

Mike, K8LH
- 27th February 2010, 23:04
Hi Mike,

I realize now that Art is pretty deeply entrenched in this design (seeing several copies of the same prototype on his web page) and so I suspect I am clearly out of line by suggesting that he switch to scanning rows instead of columns to improve display performance and brightness. That change BTW would not require column driver ICs.

The more advanced modular design with sinking column driver ICs that I suggested was intended to stimulate the synapses but is probably out of place here and so I apologize...

Kind regards, Mike


My previous post about "not doing rip-up" is out the window awhile ago...

This went over my head Mike. Did I miss something Sir?

Art
- 27th February 2010, 23:26
Not out of line at all.... If I were beginning it now, I'd go that way for sure.


I'll clean up my pm box.

mtripoli
- 28th February 2010, 03:39
Hi Mike,

I realize now that Art is pretty deeply entrenched in this design (seeing several copies of the same prototype on his web page) and so I suspect I am clearly out of line by suggesting that he switch to scanning rows instead of columns to improve display performance and brightness. That change BTW would not require column driver ICs.

The more advanced modular design with sinking column driver ICs that I suggested was intended to stimulate the synapses but is probably out of place here and so I apologize...

Kind regards, Mike


This went over my head Mike. Did I miss something Sir?

No need to apologize! You showed a very good way of doing things and is appreciated I'm sure.

My statement regarding rip up referred to something I had said in a previous post that I'd lay out a PCB but I don't like to do "rip-up and re-route"...

whoop_john
- 11th March 2010, 06:48
Version 2 eliminates the need for the external EEPROM,
improves Tetris scoring system (where it's worth more to get multiple rows simultaneously), More fixes described in the source code header.
Cheers, Art.Is there a reason why the version 1 package has the files pic.bas and SCROLL.hex while the version 2 package has pic.HEX and scroll.bas - have the hex files by any chance crossed over into the wrong folders?

I am going to make this one, for sure. It will likely be a hand-etched iron-on laser toner board, but maybe I'll use perf board. Where are you getting your proto PCB from?

Great project by the way, well done.

mtripoli
- 12th March 2010, 06:40
Can't speak to the firmware; Art is responsible for that.

As for the PCB, I'm still working on it (I've been slammed with work - right now I just got finished laying out a USB drive MP3 player. I'm also doing a Class D amp, a guitar effects processor, an audio mixer and a microcontroller "brain" for the lot)...

I just finished an 8 channel RF remote control system with capacitive touch input controls for "work". I'm trying out a PCB manufacturer that posted an ad on this forum. Their prices are very good and the guy I'm dealing with has been very responsive. I should have the boards back in a week or so; I'll let everyone know how they turn out.

Ioannis
- 12th March 2010, 08:21
Please do!

Thanks,
Ioannis

Art
- 12th March 2010, 10:46
The hex file is just renamed from "scroll" which is the project name in MPLAB.
I'll upload a new schematic. The first one has an error where the transistors are.
Unfortunately I can't edit earlier posts, so I deleted the image from the host. The parts list is correct.

I got my protoboard from Dick Smith Electronics which is an Australian electronics store.

http://farm3.static.flickr.com/2784/4400329843_49938278a2_o.jpg

Art
- 12th March 2010, 10:50
Oh, Tetris is a little improved from the YouTube video too.
Because you turn the unit vertical to play Tetris,
characters are rotated 90 degrees and scrolled vertically, and other similar touch ups.


I'm glad I was sitting... I know things cost more depending on where you live, etc....

Dick Smith Electronics are getting out of the hobby electronics business.
So an opportunity came up to purchase these:

http://farm3.static.flickr.com/2700/4342437835_30e6d10e34_o.jpg


So I won't be worrying about the price of LEDs for a while :)

Byte_Butcher
- 12th March 2010, 16:44
Ahhh, Dick Smiths loss is your gain.
Nice storage racks too!



steve

mtripoli
- 12th March 2010, 19:00
Here's the schematic I'm working from:http://www.scarydesign.com/pbp/144LEDGAME.PDF

Art is going to have to make a small change to his code for the input switches; they all switch high.

You have a few choices for what to use for a supply voltage.

Current limit resistors for the led's is calculated (loosely) for a 10% resistor using a red led steady state. If you wanted to dump a bunch of current through the led (light up the room) you could go as low as 10 ohms. You need to adjust this value for the led you use (hint: Rled=Vsupply-(VFled + VFtransistor/I).

I didn't put a part number on the transistor. Almost anything will work.

The leds, resonator and resistor PCB pads will take either through-hole or SMD parts. Everything else is through-hole.

I put a jumper block on the ICSP lines; I've never hung this much stuff off these lines (I usually try and dedicate them on my designs). If it programs with all this stuff jumper the block with wires.

Art
- 13th March 2010, 01:03
Wow, I wish I could draw something like that!

I wouldn't bother with the external EEPROM anymore.
It doesn't really matter if it's left there, and perhaps someone else will make
changes to the program to make some use of it, however, the current program
version will produce sound for both games if a piezo speaker is connected to
RE2, and a new message for the scroller can be sent directly to the device via
serial port to RE1.

I'm sure the piezo speaker could be connected even if the EEPROM is present.
No PicBasic program will be able to produce sound and communicate with an EEPROM simultaneously.
The RE1 serial port isn't essential. The scroll message can be written directly to on-chip EEPROM.

The buttons are no problem, I'm sure anyone here can make changes themselves,
but I will make that change for a "final release version".
Cheers, Art.

whoop_john
- 13th March 2010, 05:47
Thanks for the update and explanation. Art by name, art by nature.

Good luck to mtripoli with the pcb. As is pointed out, a bridge on the power input will allow for AC or DC power of either polarity. Neat.

Art
- 13th March 2010, 07:26
Just looking at the schematic again, mrtripoli has already implemented the changes I was talking about.
I mistook the ICSP connector for an EEPROM! :D

Looks like I can adopt this schematic for the final package :)
Many thanks mrtripoli.

mtripoli
- 14th March 2010, 00:05
Following are links for downloading the latest schematic and PCB Gerber files for the PCB.

Schematic: http://www.scarydesign.com/144ledgame/144ledschematic.pdf
PCB PDF: http://www.scarydesign.com/144ledgame/144ledgame.pdf
Gerber file (in RAR): http://www.scarydesign.com/144ledgame/144ledgerbers.rar

The board is 4.5" x 4.75". There are mounting holes on the four corners for a 6-32 screw.

The Gerber file contains the Gerbers and drill files. You can send this as is to a board house to get boards.

The leds, transistors, small capacitors and resistors can take either through-hole or SMD components. Resistors and caps are 0805.

The pushbutton switches are 6mm x 6mm tactile type.

You can use a three terminal resonator or a crystal and caps; your pick. If you use the HC49U you can lay it down on the board. There is a pad connecting to ground; solder a piece of wire from the metal case to this pad.

Many input voltage capabilities. No matter what you choose, I'd recommend a 7-9VDC supply; nothing more than 12VDC. Keep in mind that if you use the bridge rectifier input there are 2 diode drops. You can bolt the voltage regulator to the board for a little heatsinking though I don't think it's needed.

There's a small "proto" area with +5 and ground available.

Let me know if anything looks squirrely.

Have fun.

EDIT: I used "cutePDF" to generate the PDF of the PCB. I don't know why but the pads look a little "odd". They really aren't like that in the Gerbers...

Art
- 16th March 2010, 04:45
Nice work :)

I guess I'll go find a PCB house that will do hobbyist quantities.

cesar35
- 27th March 2010, 22:55
hello someone has Shematic project complete
I really enjoyed the project I'm more questions to the input pins of the buttons
can someone help me
thanks

Art
- 28th March 2010, 18:24
Hi,
Have you built the hardware and have it scrolling messages?

There are two buttons that behave differently with the hardware you produce from the PCB.
The pic program assumes two button pins are pulled to gnd, and the other two are
pulled up.
The change made in the hardware PCB requires all input buttons be pulled high
(or low.. don't quite remember).

Did you build from mrtripoli's PCB artwork, or schematic?

cesar35
- 28th March 2010, 21:42
hi art
aminha and doubts over the buttons to program the mesagem the pc
are the same DIP switch ,1, DIP switch 2 ,DIP 3 DIP switch, DIP switch 4
or has other buttons ...

Art
- 30th March 2010, 01:13
My prototypes have DIP switches connected in series with each of
the four buttons so that a button could be "held down" easily.
I didn't intend for the DIP switches to be used by anyone else though.

Dorneliss
- 8th August 2010, 04:14
I can not see Mtripoli ... Do not open the thing for me.

Acetronics2
- 8th August 2010, 11:23
I can not see Mtripoli ... Do not open the thing for me.

Hi, Dorneliss

Looks those files simply have been removed from the server ... :o

also note MTripoli has not posted anything since end of April ...

Alain

Dorneliss
- 8th August 2010, 17:22
Wow! What a pity! Does anyone have the file to upload ...?

whoop_john
- 9th August 2010, 05:50
Wow! What a pity! Does anyone have the file to upload ...?I didn't bother saving the gerbils because I do home etching and was going to do my own single sided board, but I have the schematic and a PDF of the board files. I also made an overlay picture as follows:

https://dl.dropbox.com/u/5346257/144ledgame-PCB.jpg
https://dl.dropbox.com/u/5346257/144ledgame%20PCB.pdf
https://dl.dropbox.com/u/5346257/144LEDGAME.pdf

Dorneliss
- 9th August 2010, 18:12
Thanks for your help!

Dorneliss
- 10th August 2010, 04:01
Will I get to use a pic 18f4520 pic instead of 16?

Art
- 12th December 2010, 01:02
Hi Guys,
I finally got hold of a picture of someone else's completed version:

http://img.photobucket.com/albums/v186/ArtArt/144_LED_Snake.jpg

I was seeking this just for verification/confidence that schematics are correct, etc.
If you look carefully you can see "Snake" on the display. This is the intro screen for the snake game.
Cheers, Art.

Enigma2011
- 8th February 2011, 16:52
Hi Guys,
I finally got hold of a picture of someone else's completed version:

http://img.photobucket.com/albums/v186/ArtArt/144_LED_Snake.jpg

I was seeking this just for verification/confidence that schematics are correct, etc.
If you look carefully you can see "Snake" on the display. This is the intro screen for the snake game.
Cheers, Art.
Helllo,
First I would like to say all positive comment about your project, one say congrat!!!!
Please , can you confirm correct polarization of LED diodes because if you look shematics you can cee that collector transistors are on +5V or you change something in hex file???
Please confirm this schematics https://dl.dropbox.com/u/5346257/144LEDGAME.pdf and what hex .file you used, please let me know!

regards,

funnydrummer
- 15th September 2011, 16:17
Hi guys

I'm sorry for grave-digging, but I am trying to make my own version of this project for school. Since all files (the ones from mtripoli and dropbox) have been removed I was wondering if anyone still has them...

Thanks in advance!

EDIT: amazing project btw, thanks a lot Art and all other contrbutors!

mackrackit
- 15th September 2011, 17:06
http://www.picbasic.co.uk/forum/showthread.php?t=12674&p=84552#post84552

funnydrummer
- 15th September 2011, 19:28
http://www.picbasic.co.uk/forum/showthread.php?t=12674&p=84552#post84552

Thanks a lot, but I already noticed that... That isn't the up-to-date version of this project, neither is it the version that mtripoli posted.

I might be new, but I do know how to read... :rolleyes:

funnydrummer
- 12th October 2011, 21:29
I have finished my eagle schematic, download and edit if you want. Any help is welcome! ;-)

http://img522.imageshack.us/img522/2146/gipy.png (http://img522.imageshack.us/img522/2146/gipy.png)6049

Svrzic
- 22nd November 2011, 02:07
Hy!
Can someone give me the latest schematic, or PCB, and codes for games?
Thanks!
P.S. I'm new on this forum, so I tell everybody Hy!
Sorry about my English :S

Ioannis
- 22nd November 2011, 10:17
Hmm, this is not Micro$oft to have every Tuesday updates of the software... We write our own and if have difficulties then we ask politely for help presenting our job so far.

Sorry, but this is how it works.

Ioannis

Svrzic
- 22nd November 2011, 11:27
ok, but I don't know how to "connect" where 2 schematics http://farm3.static.flickr.com/2784/4400329843_49938278a2_o.jpg and http://farm5.static.flickr.com/4004/4359357082_014ce0fb82_o.png

(http://farm5.static.flickr.com/4004/4359357082_014ce0fb82_o.png)

ScaleRobotics
- 22nd November 2011, 14:50
Welcome to the forum Svrzic. (But please, no double postings here)

You connect them at the ports for the PIC chip. For instance: RB0, RB1, RB2, etc.

Svrzic
- 22nd November 2011, 21:15
thanks!
I dont know how to edit my posts, so i wrote 2 posts.
can you make schematic, or write me where to put every ports?

Svrzic
- 22nd November 2011, 23:47
can someone tell me how to edit my post?
I've edited schematic, and here it is http://www.2shared.com/file/EZ6gNZQ5/SCH.html , can someone tell me where to connect that R19?
If someone can edit that schematic, I would be greatfull.

mtripoli
- 23rd November 2011, 06:18
Ok, after way too many emails from way too many people I've posted the files again. Here they are: http://www.scarydesign.com/144led/144LEDGERBERS.rar. Get them, save them, repost them somewhere else; this will not last forever.

To the dude that sent me a personal email asking me to not only repost the files, but explained in broken russian/english that the design didn't suit him and he wanted it changed to support USB with new code and would I get "right on it" YOU ARE THE REASON I PULLED THE FILES. All info is there to have a PRO PCB HOUSE make the boards; these were not designed for kitchen sink laser print transfer so forget complaining that the traces are too thin etc. and if you haven't figured out that a wire soldered on the top and bottom of a drilled hole is the same as a plated though hole, I just don't know what to tell you. Happy Halloween, Thanksgiving, Merry Christmas, Super Rosh Hashanah Kwanzaa and grandma's birthday. Please stop sending me emails asking for a favor "just for you". I do love to do "favors"; my rate starts at $75.00/hr. with a 10 hour minimum.

funnydrummer
- 23rd November 2011, 10:41
Ok, after way too many emails from way too many people I've posted the files again. Here they are: http://www.scarydesign.com/144led/144LEDGERBERS.rar. Get them, save them, repost them somewhere else; this will not last forever.

To the dude that sent me a personal email asking me to not only repost the files, but explained in broken russian/english that the design didn't suit him and he wanted it changed to support USB with new code and would I get "right on it" YOU ARE THE REASON I PULLED THE FILES. All info is there to have a PRO PCB HOUSE make the boards; these were not designed for kitchen sink laser print transfer so forget complaining that the traces are too thin etc. and if you haven't figured out that a wire soldered on the top and bottom of a drilled hole is the same as a plated though hole, I just don't know what to tell you. Happy Halloween, Thanksgiving, Merry Christmas, Super Rosh Hashanah Kwanzaa and grandma's birthday. Please stop sending me emails asking for a favor "just for you". I do love to do "favors"; my rate starts at $75.00/hr. with a 10 hour minimum.

Thanks a lot mate.

In attachments you'll find my version of the project, enjoy!

funnydrummer
- 23rd November 2011, 10:53
can someone tell me how to edit my post?
I've edited schematic, and here it is http://www.2shared.com/file/EZ6gNZQ5/SCH.html , can someone tell me where to connect that R19?
If someone can edit that schematic, I would be greatfull.

I used R19 for an extra power LED, which you haven't connected yet. There were some errors in that schematic.
I suggest you download the latest version in the post above... ;-)

Svrzic
- 23rd November 2011, 12:10
I used R19 for an extra power LED, which you haven't connected yet. There were some errors in that schematic.
I suggest you download the latest version in the post above... ;-)
thanks, but I have 17years, and in school we are making SCH and PCB with tango, and I won't buy displayes, I buyed 144 LED diodes.
Can you just connect that R19 on my schematic that I uploaded, and tell me if I have connected LED diodes correctly, because I edited your schematic

mtripoli
- 23rd November 2011, 16:52
thanks, but I have 17years, and in school we are making SCH and PCB with tango, and I won't buy displayes, I buyed 144 LED diodes.
Can you just connect that R19 on my schematic that I uploaded, and tell me if I have connected LED diodes correctly, because I edited your schematic

Your schematic looks a little odd for the displays. As shown it looks like the leds being used are offset in different directions so if the they are physically pushed together there would be rows and columns not lit. The resistor you are so worried about (R19) originates from one of the "d-pad" switches. These switches are pulled low and are active high as drawn in the schematic I did. I believe Art changed the code to reflect that. In his original code he had it as drawn with two pulled high and two pulled low for no reason whatsoever. Why you have another low value (120 ohm) resistor tied here I can't imagine. It looks to me like you simply copied the schematic wrong. Look at the original schematic in the RAR file I posted. This is not a difficult project. You've admitted "editing" the schematic; don't make changes to a circuit if you don't understand the circuit in the first place and then demand that others fix it for you or explain it to you.

Svrzic
- 23rd November 2011, 21:55
Your schematic looks a little odd for the displays. As shown it looks like the leds being used are offset in different directions so if the they are physically pushed together there would be rows and columns not lit. The resistor you are so worried about (R19) originates from one of the "d-pad" switches. These switches are pulled low and are active high as drawn in the schematic I did. I believe Art changed the code to reflect that. In his original code he had it as drawn with two pulled high and two pulled low for no reason whatsoever. Why you have another low value (120 ohm) resistor tied here I can't imagine. It looks to me like you simply copied the schematic wrong. Look at the original schematic in the RAR file I posted. This is not a difficult project. You've admitted "editing" the schematic; don't make changes to a circuit if you don't understand the circuit in the first place and then demand that others fix it for you or explain it to you.
I will turn then LED diodes, but can you connect that R19 somewhere?
I don't know where to cennect it.
I copied schematic, and I've just edited it.
In the original schematic, that I was edited, resistors are 120E, but I will use 330E, as it is on original schematic.
I just need someone to connect that R19 somewhere, where it must go, and I will make PCB.

Svrzic
- 23rd November 2011, 22:49
I will turn then LED diodes, but can you connect that R19 somewhere?
I don't know where to cennect it.
I copied schematic, and I've just edited it.
In the original schematic, that I was edited, resistors are 120E, but I will use 330E, as it is on original schematic.
I just need someone to connect that R19 somewhere, where it must go, and I will make PCB.
I've made new PCB, is it better?
http://www.2shared.com/file/H13hi86b/pcb2.html
I just need to connect that R19 :/

mtripoli
- 24th November 2011, 04:48
I don't know if it's the language barrier or what, but hell, I'll give it a shot, again.

First, I don't know what the files are you keep posting, they have SCH and BRD extensions. I'm guessing that these belong to Eagle or something. So look, not everyone has these programs. I have Orcad and it uses the same extensions which means nothing. Save the output as PDF or jpeg or something that all PC's can open.

Second, I've posted the schematic from the system that ART did at the beginning. It looks like you or someone decided to change the drive scheme from emitter follower to open collector (if you don't know those terms stop working on this project and get a basic electronics book and do some reading). That's fine if you understand what you are doing, but as far as I know the code that Art wrote won't work with this design. So I'm guessing that after someone answers your "R19" question and if you get though construction of an actual PCB and get it stuffed you'll blindly run the code and it won't work and a new thread will start about how the code is wrong. But I digress...

As drawn in the schematic posted by "funnydrummer" R19 is connected to the column (anode) pin 13 of LED module (LED6) and to the pin 2 of the PIC which is pulled up by a 10k resistor. As drawn it does nothing. When you push the button tied to R30 the whole line of leds will light, that's it. There are column drivers through resistors R20-R29; I have no idea why they are different on LED1,3 and 5 than on LED2,4 and 6 but hey, whatever. The row connections are different on LED5 and LED6 as well. It may be some "Charlieplexing scheme" or it may simply be someone screwed up drawing the schematic, eh who knows. As its drawn it will be lots of fun to code for (that's sarcasm).

I'm not trying to be an a-hole or anything, but it sounds like you don't really know what you're doing and have jumped in way over your head. Simply copying schematics and making PCB's might work for little opamp audio circuits and such, but there are concepts going on here that you don't have the grasp of. Have you done a simple project yet and just blinked an led?

Also, these schematics are drawn horribly. Wires running all over the place like that is a recipe for disaster. Look at the schematic I drew; clean, clearly labeled, etc.

The original schematic:
http://www.scarydesign.com/144led/144LEDSCHEMATIC.pdf

funnydrummer
- 24th November 2011, 11:15
As drawn in the schematic posted by "funnydrummer" R19 is connected to the column (anode) pin 13 of LED module (LED6) and to the pin 2 of the PIC which is pulled up by a 10k resistor. As drawn it does nothing. When you push the button tied to R30 the whole line of leds will light, that's it. There are column drivers through resistors R20-R29; I have no idea why they are different on LED1,3 and 5 than on LED2,4 and 6 but hey, whatever. The row connections are different on LED5 and LED6 as well. It may be some "Charlieplexing scheme" or it may simply be someone screwed up drawing the schematic, eh who knows. As its drawn it will be lots of fun to code for (that's sarcasm).

Look mate, stop whining the whole time and at least have a look at the last schematic and board I posted.
I can't remove the older post so I'm sorry for that schematic. The power LED was wrongly connected indeed...
Since I'm only using 144 LEDs + a power LED, there are a lot of LEDs wich aren't connected. All unconnected LEDs will be covered with tape.
That way you don't have to worry about flashing LEDs. The bottom-right LED is going to be used as power LED, simple as that.

I'll let you know if it works though. I'm fixing the last errors now and then I'll be ordering a PCB.
Not everyone's as skilled as another, no need to flame. Just try to help us out or don't bother posting... ;-)

mtripoli
- 24th November 2011, 19:05
LOOK MATE. If anyone here is whining its the people that know nothing about electronics, tackle these kinds of projects and then get on here or any other board asking for help on the simplest of things. I didn't "flame" anyone; if you go back and read the post without attitude you'll see that I wrote it tongue in cheek. As for "helping you out" I re-posted the board file and schematics after YOU and Svrzic sent me PRIVATE MESSAGES asking for help. I don't reply to private messages; the board is here for everyone to read all questions and see all replies.

Part of the problem with all of this is people RUSH to drawing some schematic in some software they downloaded for free, usually riddled with mistakes, post it to a board like this, confuse others that don't have any experience either and when someone more knowledgeable points out the mistakes you get defensive and start up with "help us or leave". How about you help yourselves FIRST by going online or better yet buy a book on basic electronics and get a fundamental understanding of these things (if I recall you said in your private message you needed this for school). There is FAR MORE TO IT than simply copying someone else's schematic, etching a board in the sink and then loading someone else's code and crossing your fingers that it will work.

As for "at least have a look at the last schematic and board I posted" I can't. You evidently posted Eagle schematic and board files. Not everyone has or uses these tools, and I'm not about to load up some software only to use it as a basic viewer. This is why we post in a neutral format like a simple jpeg or even a PDF so everyone can see it. Do yourself a favor and post your "latest" in something we can all see, and then those "more skilled" can have a look and potentially stop you from making a mistake that'll keep your project from working.

funnydrummer
- 24th November 2011, 20:49
LOOK MATE. If anyone here is whining its the people that know nothing about electronics, tackle these kinds of projects and then get on here or any other board asking for help on the simplest of things. I didn't "flame" anyone; if you go back and read the post without attitude you'll see that I wrote it tongue in cheek. As for "helping you out" I re-posted the board file and schematics after YOU and Svrzic sent me PRIVATE MESSAGES asking for help. I don't reply to private messages; the board is here for everyone to read all questions and see all replies.

Part of the problem with all of this is people RUSH to drawing some schematic in some software they downloaded for free, usually riddled with mistakes, post it to a board like this, confuse others that don't have any experience either and when someone more knowledgeable points out the mistakes you get defensive and start up with "help us or leave". How about you help yourselves FIRST by going online or better yet buy a book on basic electronics and get a fundamental understanding of these things (if I recall you said in your private message you needed this for school). There is FAR MORE TO IT than simply copying someone else's schematic, etching a board in the sink and then loading someone else's code and crossing your fingers that it will work.

As for "at least have a look at the last schematic and board I posted" I can't. You evidently posted Eagle schematic and board files. Not everyone has or uses these tools, and I'm not about to load up some software only to use it as a basic viewer. This is why we post in a neutral format like a simple jpeg or even a PDF so everyone can see it. Do yourself a favor and post your "latest" in something we can all see, and then those "more skilled" can have a look and potentially stop you from making a mistake that'll keep your project from working.

Nevermind. Thanks for the reply anyway. ;-)

I'm not a professional, but I tend to learn from people who DO know a lot about electronics.
And I'm not going to copy any code. The hardware is the 'easy' part, I think.
I'll post the source for my version of snake (in C) when everything is fully working.

In the zip file you can find the board file I've sent to the PCB company.
I hope everything's working, if not, I'll let you guys know.

Schematic:
6139

Board:
6140

Svrzic
- 24th November 2011, 22:52
Nevermind. Thanks for the reply anyway. ;-)

I'm not a professional, but I tend to learn from people who DO know a lot about electronics.
And I'm not going to copy any code. The hardware is the 'easy' part, I think.
I'll post the source for my version of snake (in C) when everything is fully working.

In the zip file you can find the board file I've sent to the PCB company.
I hope everything's working, if not, I'll let you guys know.

Schematic:
6139

Board:
6140
can someone help me, or I must find help somewhere else?
I need to remove that 7x5 displays and put in LED diodes, that's all what I need here.

mtripoli
- 25th November 2011, 02:28
@funnydrummer: You don't need resistors on the base of an emitter follower so you can delete those entirely. If you're opposed to using resistors for current limiting (which is the only reason I can see to stack up diodes like you have from the supply) you can use a constant current regulator (CCR) device like the NSI45020T1G from ON Semi (Mouser, $0.34 each). If you use a CCR device you can get rid of all the transistors and resistors entirely and use just the CCR. Put one per drive segment (they can be used high side or low side, see schematic). Run the PIC from 5V and there you go. And why would you post C code on the Pic Basic forum?


@Svrzic: The PDF schematic that is posted is FOR DISCRETE LEDS. Regardless if you buy them packaged or use discrete components the schematic is the same. I think you said you're 17 years old. Good for you for your interest in electronics but it sounds like you need to back up a bit and start with something a little easier.

6142

mtripoli
- 25th November 2011, 02:45
This is really an edit, time expired when I went back...
***********************************************
@funnydrummer: You don't need resistors on the base of an emitter follower so you can delete those entirely. If you're opposed to using resistors for current limiting (which is the only reason I can see to stack up diodes like you have from the supply, (which is a really bad idea but I'm not going into that) you can use a constant current regulator (CCR) device like the NSI45020T1G from ON Semi (Mouser, $0.34 each). If you use a CCR device you can get rid of all the transistors and resistors entirely and use just the CCR. Put one per drive segment (they can be used high side or low side, see attached schematic). Run the PIC from 5V (voltage regulators are a good thing, why you wouldn't use one I don't know) and there you go.

You're going to need a 0.1uF on each Vdd pin, not just the one you have on the power supply line. While you're at it I'd put at least a 100uF cap on the power supply line as well. It doesn't look like you have a connector for doing ICSP so writing code and debugging will not be any fun at all (unless you like pulling a 40 pin part from a socket for every little change you make to code). If you plan on clipping to the PIC for programming you have no provision for isolating the Vpp line. There is no electrical reason at all for using pull-ups on two switches and pull-downs on the other two, as well as keeping track of that in code is unnecessary. You really should look at the schematic I posted. And why would you post C code on the Pic Basic forum?


@Svrzic: The PDF schematic that is posted is FOR DISCRETE LEDS. Regardless if you buy them packaged or use discrete components the schematic is the same. I think you said you're 17 years old. Good for you for your interest in electronics but it sounds like you need to back up a bit and start with something a little easier.

6142

Svrzic
- 25th November 2011, 11:31
@funnydrummer: You don't need resistors on the base of an emitter follower so you can delete those entirely. If you're opposed to using resistors for current limiting (which is the only reason I can see to stack up diodes like you have from the supply) you can use a constant current regulator (CCR) device like the NSI45020T1G from ON Semi (Mouser, $0.34 each). If you use a CCR device you can get rid of all the transistors and resistors entirely and use just the CCR. Put one per drive segment (they can be used high side or low side, see schematic). Run the PIC from 5V and there you go. And why would you post C code on the Pic Basic forum?


@Svrzic: The PDF schematic that is posted is FOR DISCRETE LEDS. Regardless if you buy them packaged or use discrete components the schematic is the same. I think you said you're 17 years old. Good for you for your interest in electronics but it sounds like you need to back up a bit and start with something a little easier.

6142
in the schematic, LED diodes are like this: 6143
i need to put ins schematic LED diodes like this: 6144
I just need someone to remove LED diodes from schematic from my first picture, and put LED diodes from my second picture, and that's it.
P.S. Yes, I have 17 years, but I am going to technical school, and we are not doing with components as from first picture, we are doing with components as from second picture.

funnydrummer
- 25th November 2011, 11:37
@funnydrummer: You don't need resistors on the base of an emitter follower so you can delete those entirely. If you're opposed to using resistors for current limiting (which is the only reason I can see to stack up diodes like you have from the supply, (which is a really bad idea but I'm not going into that) you can use a constant current regulator (CCR) device like the NSI45020T1G from ON Semi (Mouser, $0.34 each). If you use a CCR device you can get rid of all the transistors and resistors entirely and use just the CCR. Put one per drive segment (they can be used high side or low side, see attached schematic). Run the PIC from 5V (voltage regulators are a good thing, why you wouldn't use one I don't know) and there you go.

You're going to need a 0.1uF on each Vdd pin, not just the one you have on the power supply line. While you're at it I'd put at least a 100uF cap on the power supply line as well. It doesn't look like you have a connector for doing ICSP so writing code and debugging will not be any fun at all (unless you like pulling a 40 pin part from a socket for every little change you make to code). If you plan on clipping to the PIC for programming you have no provision for isolating the Vpp line. There is no electrical reason at all for using pull-ups on two switches and pull-downs on the other two, as well as keeping track of that in code is unnecessary. You really should look at the schematic I posted. And why would you post C code on the Pic Basic forum?

Thanks a lot for the suggestions, I really appreciate it!

Too bad I already ordered the PCB, it's a big one so it would be a bit costly to order a second one.
I might edit and optimize the schematic/board in the future, but for now I'm just hoping the current board will do.
The next thing to do is programming. ;-)

Good point though, this is forum isn't called PIC-C...
I'm not familiar with basic programming, that's why I'm just gonna go with C.
I thought it would be nice to post the source anyway, just for the people who prefer C over basic.

mtripoli
- 25th November 2011, 23:24
@SVRZIC: This is becoming a language problem of epic proportions. I've negotiated a full weeks "company" with a lovely Asian girl in China in less time and with less confusion than what's going on here. Are you saying that you want the led matrix redrawn with the little arrows added to each diode in the array? Man, I hope not... Go to Kingbright (www.kingbrightusa.com) and put in the part number TA20-11E and look at the data sheet. Maybe also try using Google Translate and writing out exactly what the problem is in your native language and then posting the translation here. It may not be perfect but maybe it'll clue us into what you want.

@funnydrummer: I'm sorry to hear you already released the board. At the very least you'll need to tack solder in the decoupling caps across the VDD/VSS pins on the part/socket. Also as I said, you have no provision for doing ICSP. Those pins don't take kindly to having "stuff" hanging off them while programming. You don't need R1 through R8 at all so when you build it put in wire jumpers instead of resistors. Kludge in a dual SPST switch soldered across the pads in place of the resistor and hot glue the mess to keep it solid so you don't tear pads off the board. You can still get these "Test Clips" made by 3M and Pomona. Mouser has one for $45.96 (http://www.mouser.com/ProductDetail/3M-Electronic-Specialty/923739-40/?qs=sGAEpiMZZMt6TxecXUIS9iXAkn4DHC3VV%2ft7rMmGLEo% 3d). You can again kludge the wire ICSP wire from your programmer to th eclip and then clip onto the part in the socket to flash the part. OF course, you have to figure out how well your programmer will work with a length of cable between the programmer and the DUT. I know from experience that the Melabs U2 is very forgiving of cable length (read "designed well") and I've managed some wires solder tacked in place to update a part in the field. The PicKit3 gives all kinds of errors one minute and works for days the next if you happen to bump the programmer cable (your mileage may vary). And if you don't put a series diode and resistor on the Vpp line you'll be stuffing something like +13V back onto the supply line. Hmmmm... Not so good.

Your statement "I thought it would be nice to post the source anyway, just for the people who prefer C over basic" gave me quite the good chuckle. Yup, ALL KINDS of people who prefer C hanging around the Pic Basic (not just basic mind you, but Melabs Pic Basic) forum. And the PBP guys love answering C code questions, don't we fella's? Perhaps its something more like the PBP crowd is a bit more helpful than those on other boards and try and actually give people a hand with getting their stuff going. That is until the end when after offering all kinds of help the finally admit to using some kind of C or "other" Basic program and admit they can't get any help on the other boards so they come here.

AS for me, I'm out. This thread has me weary (again) and I just had to put my dog down after 16 years so Right Now I couldn't care less if your project works or not. Do yourself some real help; look around the board at how people have designed their circuits and watch for commonalities. Get one of any number of "Programming PICS" books and do some reading. Read the damn datasheet for a programmable part and make sure you have some way to program it and if it has more than one VDD pin take it as gospel they all get a cap tied to them right at the pin and solidly to ground, not across the PCB as you've demonstrated. 20MHz huh? Good luck with that...

Ciao.

Svrzic
- 25th November 2011, 23:30
@SVRZIC: This is becoming a language problem of epic proportions. I've negotiated a full weeks "company" with a lovely Asian girl in China in less time and with less confusion than what's going on here. Are you saying that you want the led matrix redrawn with the little arrows added to each diode in the array? Man, I hope not... Go to Kingbright (www.kingbrightusa.com (http://www.kingbrightusa.com)) and put in the part number TA20-11E and look at the data sheet. Maybe also try using Google Translate and writing out exactly what the problem is in your native language and then posting the translation here. It may not be perfect but maybe it'll clue us into what you want.

@funnydrummer: I'm sorry to hear you already released the board. At the very least you'll need to tack solder in the decoupling caps across the VDD/VSS pins on the part/socket. Also as I said, you have no provision for doing ICSP. Those pins don't take kindly to having "stuff" hanging off them while programming. You don't need R1 through R8 at all so when you build it put in wire jumpers instead of resistors. Kludge in a dual SPST switch soldered across the pads in place of the resistor and hot glue the mess to keep it solid so you don't tear pads off the board. You can still get these "Test Clips" made by 3M and Pomona. Mouser has one for $45.96 (http://www.mouser.com/ProductDetail/3M-Electronic-Specialty/923739-40/?qs=sGAEpiMZZMt6TxecXUIS9iXAkn4DHC3VV%2ft7rMmGLEo% 3d). You can again kludge the wire ICSP wire from your programmer to th eclip and then clip onto the part in the socket to flash the part. OF course, you have to figure out how well your programmer will work with a length of cable between the programmer and the DUT. I know from experience that the Melabs U2 is very forgiving of cable length (read "designed well") and I've managed some wires solder tacked in place to update a part in the field. The PicKit3 gives all kinds of errors one minute and works for days the next if you happen to bump the programmer cable (your mileage may vary). And if you don't put a series diode and resistor on the Vpp line you'll be stuffing something like +13V back onto the supply line. Hmmmm... Not so good.

Your statement "I thought it would be nice to post the source anyway, just for the people who prefer C over basic" gave me quite the good chuckle. Yup, ALL KINDS of people who prefer C hanging around the Pic Basic (not just basic mind you, but Melabs Pic Basic) forum. And the PBP guys love answering C code questions, don't we fella's? Perhaps its something more like the PBP crowd is a bit more helpful than those on other boards and try and actually give people a hand with getting their stuff going. That is until the end when after offering all kinds of help the finally admit to using some kind of C or "other" Basic program and admit they can't get any help on the other boards so they come here.

AS for me, I'm out. This thread has me weary (again) and I just had to put my dog down after 16 years so Right Now I couldn't care less if your project works or not. Do yourself some real help; look around the board at how people have designed their circuits and watch for commonalities. Get one of any number of "Programming PICS" books and do some reading. Read the damn datasheet for a programmable part and make sure you have some way to program it and if it has more than one VDD pin take it as gospel they all get a cap tied to them right at the pin and solidly to ground, not across the PCB as you've demonstrated. 20MHz huh? Good luck with that...

Ciao.
haha
sorry about my english :S
I don't want to put on led display, I have LED diodes, and i'll put it on, like this:http://farm3.static.flickr.com/2762/4376492745_d3dee08c33_o.png
(http://farm3.static.flickr.com/2762/4376492745_d3dee08c33_o.png) i wan't make my pcb like this, do you understand me now?

Harrie
- 13th December 2011, 15:11
Hi there.
I started a few months with programming pic's
I now made the 144 led display game and message scroller.
But i now wanted to re-program the chip to only a message scroller for christmas.
The picbasic code is to me to long and complex.
How can i put in a different text, for instance "marry christmas"

greatings Harrie

Art
- 13th December 2011, 15:45
In the last version, the text message is stored plainly in the on-chip eeprom area of the 16F877.

Harrie
- 14th December 2011, 15:13
Hai
Yes i found the version 3. And it says that data can be put in internal memory.
But with proton ide or mplab i can not compile the .bas-file. There are many many errors.
I tried to rewrite but i am not experience enough.
So i only want a simply massage scroller working with the 144 led display.
The most simply one is enough.
Greatings Harrie

mackrackit
- 14th December 2011, 15:17
Problem found... This forum is for PicBasic not Proton.

Art
- 14th December 2011, 16:48
Don't have to compile it, there's a hex file to use. Just change the values in the on-chip eeprom area with your pic programming software. Also you can use a serial terminal program to send the message to the unit. You would need Picbasic to change any way the program works, but not the message.

Harrie
- 18th December 2011, 22:02
Hai
i tried to use the serial posability. But i can not change anyting.
I use the max232. With this i can read and write to a 16f628a, s the com and max232 are working.
I first tried the original rx and tx ports but later i saw i had to use port e.1.
No result.
i push porta.1 when startup. The screen is blank.
sending text
restart
no result.
What dont i see??

greatings Harrie

Art
- 9th January 2012, 06:35
To Harrie & anyone else who has the hardware working,
but cannot, for whatever reason, change the message stored in on-chip EEPROM.
Here's something you can try:

Download ICprog Windows pic programming software for free from here:
http://www.ic-prog.com/download.html

Start the exe program, and select the 16F877A pic from the drop down menu of supported pic chips.
Then you should be able to open the pic HEX file, and it should look like this:

http://img.photobucket.com/albums/v186/ArtArt/snap.jpg


Bear in mind that if you manually edit the message this way,
you also have to manually edit the message length.

note the "non message" locations at the bottom end of on-chip EEPROM


DATA @$FC,12 'text message length
DATA @$FD,49 : DATA @$FE,125 : DATA @$FF,0 'set initial high scores for games



Now you can edit the individual message locations, update the message length, cheat on hi scores if u have to, and save the hex file!
Now open the hex file in your own pic programming software and write to the 16F877A.

Cheers, Art.

aberco
- 28th March 2012, 18:26
Just found this great project and was really excited!

I have just finished drawing a PCB for it, with two possible versions: one with 5mm leds and the other with large 10mm leds. It's all using surface mount components, but they are not that hard to solder (in fact it is easier!).

The matrix is now driven my a pair of PNP/NPN or P/N channel mosfet in order to boost the brightness. Since the multiplexing routine slice the display in 18 increments, it is possible to boost the brightness by feeding more intensity in the LEDs this way. For simplified rooting of the board, I also changed the pin allocations for the PIC. The program will need to be modified a bit to account for that, and for the inverted signal needed to drive the base of the PNP transistors.

The board has an integrated regulator (7805) and also an optional DB9 for serial communication with voltage converter (using a simple transistor, not a full MAX232). It also feature an ICSP connector, so it can be easily reprogrammed for other projects.

Need to check a few things, but I'll be happy to release the gerber files here. Also I'm planning to make an order from my PCB manufacturer, so if anyone is interested I can sell spares for a reasonable price.

http://i41.tinypic.com/jgpj0o.jpg

Art
- 30th March 2012, 09:02
Nice :)
Would love one if I had any confidence in soldering smd parts :O

aberco
- 30th March 2012, 10:55
I'll send you some, here's a video I made for soldering SMD's:

http://www.mactronique.com/showArtMnt.php?lang=french&type=mnt&id=11&zone=movies

Art
- 30th March 2012, 14:18
Lol, nice, but electronics is not so much a love of mine :D
I only did what I had to do to write software for it ;)

One day I'll write an interrupt driven clock for it using DT's elapsed timer.
Didn't quite have it figured out at the time.

aberco
- 30th March 2012, 14:48
A clock would be nice, should not be too hard to write as I've seen some implementation somewhere on this forum. Darrel's routines for interrupt are very simple to use, so you could use a timer interrupt to derive your 1Hz signal. I have built some clocks too, but they all use I2C RTCs (so that they can keep time while power is off). Newer PICs have built in RTCs too, so that may be something to look for... but I think they require an external 32.768kHz xtal for Timer1 which is not planned on the PCB layout.

Keep in touch! I'll get back in the forum when I get the PCBs manufactured and your code modified. I'm a bit the other way around, software is not my thing... I'm actually quite impressed by the routine you wrote for this project!

Cobra_Phil
- 30th March 2012, 17:55
I did not read the whole thread, but have you seen these yet?
http://www.sureelectronics.net/goods.php?id=1095

3[/URL]2x16 Red/Green LED's gives you three colors.
Very easy SPI interface. I have 3 of these linked together using just 3 SPI control signals and 3 Chip Select Signals.
I have seen other link upto 8 of these boards together. Here are a couple of links.

Single Display (http://www.sureelectronics.net/goods.php?id=1095)

8 (http://www.youtube.com/watch?v=TqZTBoepZsY)[URL="http://www.youtube.com/watch?v=TqZTBoepZsY"] Displays (http://www.youtube.com/watch?v=zYgUeOKGbRM)

aberco
- 30th March 2012, 18:06
There are many LED drivers IC around. The nice thing here is to use only off the shelf, easy to find transistors to drive the matrix.

I have a large 16x16 chainable LED matrix in project using PWM LED drivers from TI, also interfaced via SPI.

aberco
- 31st March 2012, 00:43
Art, I'd need some help with the button functions to label them correctly on the silkscreen:

What is the power on mode for each wen you press UP/LEFT/DOWN/RIGHT and when the board is horizontal (like in my previous post)? it can be confusing as you have to hold the board either horizontally or vertically depending of the selected game

Art
- 31st March 2012, 14:44
Yes, the joypad orientation does change with the screen orientation for Tetris.
Assuming it's held horizontal for Snake,
Power on while holding:
Up = Tetris
Down = Snake
Left = Interactive Invader Sprite Demo
Right = Serial massage programming mode
Left + Right = Non Interactive Pong Demo
Nothing = Massage display Mode.

aberco
- 31st March 2012, 14:49
Ok, there's a bit more modes than I thougt. I'll leave the board with generic silk screen (SW1-SW4), that way other functions can be implemented without having the wrong function written below the buttons. I've sent the gerber for quote and manufacturing, should have them back in 2-3 weeks :)

aberco
- 28th April 2012, 17:03
Got it back from fabrication. I spotted a small mistake on my behalf, a missing via hole... nothing dramatic.

Next come the assembly and modification of the source code to remap I/Os and invert the signal sent to the row drivers.

http://i47.tinypic.com/2ai4fm9.jpg

momore
- 5th June 2012, 09:23
can I request or suggest Sir Art?
the 144 led game console was spectacular ^_^

im not completely good in pic basic that's why I will be needed your help or anyone out there just to improve if possible the message scroller...

i want to make it more portable.. as ive scanned your program it is very mind bugling :biggrin:
how about we will make the RE.1 a start/ok button???
is it possible to make a message if we use:
UP = (Capital) A to Z and 0 to 9 plus special charater
Down = (reverse) special character plus 9 to 0 and Z to A
if we will press left/right = the letters will be small letters... then press start to enter the next character

Art
- 5th June 2012, 17:14
Hi, Coincidence that I checked this forum tonight...
I haven't checked, but if I remember correctly, there are no spare IO pins left on the pic.
This is probably the most readable code I've ever written as it was intended for "Human consumption" :D
It's free for anyone to do what they want with, but my time is certainly not.
If I were to revisit this project now, it would def be a priority to include a real time clock as long as it's
interrupt code doesn't visibly affect the display.

Nice work aberco :)
What are the code modifications you want to do? (out of interest)...

One simple change that would also require hardware modification:
I should have addressed leds across the opposite axis to make all leds brighter for free.
Rather than addressing 18 rows and only lighting 8 leds at a time,
I could have addressed 8 rows, and lit 18 leds at a time.
Simple change, but would require a new board and software change.

bushprogrammer (at) gmail dot com

Pichai
- 12th August 2012, 08:35
Cool Project:D

martintorres
- 22nd August 2012, 17:26
ESP: Hola amigo... felicidades!!! tu proyecto es muy bueno!
Voy a emplear parte de tu proyecto para ver si se puede crear un osciloscopio a led. Hay muchas aplicaciones en los vehiculos que requiero emplear una osciloscopio y me parece que lo mas sencillo seria esto, ya que los osciloscopios que trabajan con la placa de sonido de las notebook son bastantes incomodos para trabajar.
Gracias por tu aporte

ING: Hello friend ... congratulations! your project is very good!
I will use part of your project to see if you can create an oscilloscope to led. There are many applications that I require vehicles use an oscilloscope and I think it would be as simple as oscilloscopes working with the sound card of the notebook are quite uncomfortable to work.
Thanks for your input

Martin Torres (From Patagonia)

michelle15
- 3rd September 2012, 18:13
Hello sir, can i ask, what was the program you used in your tetris project? and also the schematic. Thanks Sir art. God Bless

tmorgan4
- 24th November 2012, 13:15
To Art: Thanks for posting this project and providing the code for others to use on their own projects. It has been a tremendous help.

I'm trying to avoid asking for a handout however I've run into several issues trying to build this this gaming console with a few modifications. I am new to programming PICs and other projects are likely easier to start with, however, I think with a few suggestions from others with more experience I'm hoping to make this work.

Instead of using a 16F877 I opted for the newer 16F887. I'm also using two of the 8x8 LED matrices from SparkFun for a total of 128 LEDs (8x16) as opposed to the 144 LED (8x18) display that the code was written for.

I'm hoping to use the internal 4Mhz clock of the 16F887 to allow more I/O pins for other devices. This can be changed in the code relatively easy but I'm unsure whether using a 4Mhz clock will cause unforeseen issues since console was designed around a 20Mhz oscillator.

I'm also trying to figure out how the rows and columns are defined in the code. I need to make changes since I have two less rows of LEDs (if playing tetris, vertical display) but I'm having issues deciphering how the rows and columns are defined.

If anyone has any suggestions I could use push in the right direction. Also, please post if you notice any other issues or changes that will be necessary when using the 16F887 in place of the 16F877.

Thanks in advance!

Art
- 15th January 2013, 16:20
Hi, I don't check in often unless I'm writing for pics at the time...

I'm going to get ports wrong if I guess here, given that it's years old now,
so just to describe how the rows and columns are defined... the display is
8 LEDs high to fit one column in a byte, so since it's a mono colour display,
the whole display buffer is 18 bytes :)
I use in line assembler (if I remember correctly), or an asm/PBP combination
to address the bits of each byte in each column.
C0 - C17 are the bytes for each column, they are being strobed in the draw screen routine.

FernandoA
- 10th February 2013, 02:20
hello, art
well I am new to this and would like to know how to connect the pulsating since I have not clear yet, you could help me. And this other your work is great.

electroguy
- 19th March 2013, 16:15
Sir@Art
Thanks for making an awesome project like this.


I am trying to make a PCB of it and hope to make it very soon.
I have some random question,

1#which version of PIC BASIC PRO did you used
2#what was the version of BASIC language that you used to program

Thanks in advance

Gaffalover
- 30th March 2013, 11:07
Hi,
I built the console and it works well.
Unfortunately, I am the exact opposite of Art :)
I do love electronics, but on the software side i only do what i have to do to get it running. :D

Tetris works perfectly, but at Snake the keys are swapped by -90 °.
I hold the console horizontally and have soldered the buttons directly to the board.
So if I want to go right, I have to press the top button.
If I want to go left, I have to press the lower button.
If I want up, I have to press the left button.
If I want down, I have to press the right button.

For clarification, here is a picture of what the buttons are doing.
http://i.imagebanana.com/img/uoyonz2w/thumb/IMG_0025.jpg (http://www.imagebanana.com/view/uoyonz2w/IMG_0025.jpg)

Hopefully someone can change the v3 for me so that it fits.
I would be very grateful!

Art
- 7th April 2013, 04:28
Snake is plyed in landscape orientation, you're supposed to turn the whole
circuit board sideways, in the same orientation that the message is scrolled,
and then the high score will appear the right way too.

Art
- 14th May 2013, 20:39
Hi Guys,
I am still getting emails from people making this project.
Most have it working, and just ask questions about programming new messages.

Some emails are form people who put the whole thing together with transistors facing the wrong way,
reflecting an error in my original schematic diagram.

Does anyone have any idea where this original schematic might be sourced?
The last time I tried to find out, but didn't hear back from the guy making the project.

bushprogrammer at google's mail domain.
Cheers, Art.

Art
- 13th October 2017, 17:42
Hi :)

People are still making this, and talking to the last person to make it on a photo PCB,
an error has been found int he schematic (might not apply to PCBs made in CAD).

The schematics in the package show the wring pic pin for one of the buttons.
It’s actually the pin that drives the lone LED, so should have been found by anyone proficient actually making it.

With the error, the display will constantly show “Tetris”, and stay there no matter what buttons are pressed.
It’s waiting for the button that was held at power to start Tetris, to be released (and that never happens).

https://lh3.googleusercontent.com/I7RNn1AVG-vfprkraecxrNmggKrX3RYCxhYyPp8mJLQp4fIY7t3Q6E-3aVUjeuwj8CCkuIaHoWWaZr80KjP4GSFngrlNMxxiIYnRPZffO a1rzie_OcJzI1eWzecr10WhxVQ86QEgvJt1IfbL5Ri0A12u2HU ku8t4ZbbNQWhfnOH0h9fbpsILPXu6J6iNZqqFOhKjrCUWJXp4X-s-XaYC-Mt1LDdmAqmbI9MMlV6M9-XkBlAcGbdg-F9T7M0tnMR14tnxC9Y-RPqPIUD1v1abu8Lrz5T4mj9yZKe8dTGDqx0knJVecQ2rZoDJpn YW_WEQfseEaKN3z09Zbon5piI1KVzNTdUxQJ3zKYoJ1R-No1n6G_KSzvu7hfs0GSvTa11N_ixb9tqu13H5fmxO2O3RXNYeg 2R-y7O_ZAFtlLr8fviJ8KNvz-fT5Ycm7ErcFDvEFanNrafavZmcW9-8J9bsPhZp9HzX5LcO-YIcz-smbzRKKPU7v6TuF5tVk0DJAJbcwaWk-_cKyZ14uGQQ4MgEkOTsTiIoMtx1antS9BSoIX8h4o0eYHjnEbm wH3f6KOytRElQDdsR-Avq4AyyOVPmGYRXhDZdH5oh-wZx7RMlUA=w442-h807-no

Demon
- 14th October 2017, 22:39
I want my money back. :D