Tuesday, October 25, 2011

Weather.com is toast, trashed maybe even hacked?

*** UPDATE *** turns out this is a local problem perhaps with our Netgear UTM10 firewall.  Computers connected ahead of the firewall have no problem with www.weather.com.

For some reason www.weather.com is not working and no one is reporting on the problem?  When you try to go to their web page in Firefox you get a "Toast Notification".  In Internet Exploiter it is just plain messed up.


Here is what it looks like in Internet Exploiter:

Monday, October 24, 2011

Brace for the biggest solar storm yet from this solar cycle.

First look at the Northern Lights prediction note the dark red:


Here is a chart that more clearly shows the incoming solar storm:


All this and more is available at: http://www.electricquakes.com/

Ford Windstar Intermittent starting problem

My van has been having issues starting for a few weeks. Then it left me sit, fortunately at home, but the battery ran down while I was trying to start it.  Even with a battery charger it would still not start.  Someone told me to change the gas filter so I did that.  When changing the filter I noticed that there was no fuel pressure so someone told me to change the fuel pump relay.  That did not fix the problem either. 

Then I got out the manuals and started finding out how the van fuel system works. When you turn the key it turns on the fuel pump or 1 to 2 seconds to prime the system. Soon I discovered that if you listen for the fuel pump when you turn the key you can easily hear it running.  If the fuel pump is running then the van will start and runs just fine.  So next I put a meter on the safety switch that is in the back of the van that is wired up in series with the pump.  It is connected just before power goes down to the pump.  According to the meter there was no power there so I thought that the problem was not the pump.  After another week of fiddling with the van I discovered that connecting a beeper to check for power to the pump was a better solution.  Once I installed a beeper I could tell that the fuel pump was always getting power, but it was not always running, so the problem was the fuel pump.

Along the way I redid all of the ground connections in the engine compartment.  Here are the left side grounds. The PCM ground is behind the silver part of the AC system. I added star washers to all of the grounds.

Ford Windstar Grounds

Here are the grounds on the right side. The battery ground was hidden under the plastic until I cut it away. It was in bad shape and I thought I had found the problem, but it did not help at all.

Ford Windstar Grounds

Friday, October 21, 2011

How to use SQl to fix all records in Wordpress

Ever discover that you need to change all records in a Wordpress database. Recently I needed to add a "/" to every record, so I used PHP Admin and a SQL command to make that change.

Tuesday, October 18, 2011

E-Yama 17JN1 LCD Monitor repair

The E-Yama 17JN1 monitor is easy to fix. First remove the cover around the power and VGA cables, it has 6 snaps and is a little hard to unsnap. Then remove 4 screws and the base stand is detached. Remove 1 screw and unsnap the back cover, some catches may break.


Once Inside replace the 2 capacitors in the red box in the picture. Test it out and put it back together. It has a nice bright picture

Wednesday, October 12, 2011

My opinion on Occupy Wall Street Demands

I have read some stuff on Occupy Wall Street and I do not see a clear goal, or objective.
So Here are some of my suggestions of what needs to be done to fix this country, besides just simply throwing out the current government and replacing it with one that is "of the people by the people and FOR the people".

1. BALANCE THE BUDGET

Stop wanton wasteful government spending.  According to the pie chart found on the IRS web site last year 40% of government money came from borrowing!  And according to the same chart 40% was spent on "social spending".  Balance the stinking budget!  Stop the government from "social engineering".  CEASE AND DESIST wasting our children's money on totally stupid programs!


2. REPEAL STUPID LAWS
Repeal laws that just make the rich richer and the poor poorer.  Most laws coming out of Washington have the exact opposite effect of what they were supposedly written for.  They must be repealed and cancelled! For example repeal the HMO law that created HMO's and caused medical insurance to go through the roof!
Here is a s site listing laws that need to be fixed:  http://coupmedia.org/occupywallstreet/occupy-wall-street-official-demands-2009

3. NUKE THE TAX CODE

Nuke the IRS and start over.  Some sort of flat tax would be ideal.  Eliminate tax breaks for mortgages, and other such nonsense.  Eliminate non-tax taxes like SS and medicare unless they actually go to where they are supposed to go.. LOL.

After saying that I realize these things will never happen so we should just gather around and watch the USA go down the tubes as a hopeless case.

Video Standards have gone crazy

Today someone asked me for help on setting up their monitor.  I discovered to my dismay that there are now way too many video resolution standards.  This chart is from: http://en.wikipedia.org/wiki/File:Vector_Video_Standards2.svg

Now try to navigate your way through that mass?  The monitor in question was WSXGA+ compatible, but actually it was1440 by 900.  And here I thought they were all supposed to be HD 1080 or 1920 by 1080.

Monday, October 10, 2011

Viewsonic VG700 repair

The viewsonic VG700 has the usual two capacitors in the inverter problem. However it is tricky to get it apart. First snap out the control panel at the bottom front of the monitor. Remove 2 screws and slide the bezel up then out.

Next you remove the four screws and gently pry the LCD screen forward and out of the RF shield. Be careful of the cables as they are all barely long enough and will not unplug on their own.

The faulty capacitors are in the middle of that circuit board on the right, they are bulging and oozing.

Wednesday, October 5, 2011

AOL Captcha Hell

When they make me head of Internet security, I have three changes that I will make:

1. BAN JAVA and thus eliminate over 90% of all web viruses.
2. Require logging in before being allowed to send email.
3. Delete all web sites that have a Captcha on them anywhere.

Come on Internet security people these captcha things are all a total waste of time........

OK so I am upset, I spent several hours in "Captcha Hell" trying to set up an AOL IM account.  Sure you say just click on the "Play sound" button?  That does not work either.  I went to YouTube and the sound for the computer is working just fine.  I downloaded the latest 30+ megabytes of Quick Time but there is still no Captcha sound.  I thought "Quick Time" had died a miserable death a long time ago and was buried right next to "Real Audio"?  Who on earth uses Quick Time and for what reason would anyone want to use such an archaic format??  Back at AOL IM, I must have created a half a dozen accounts that I cannot access because it never accepted my information and it never asked for the alternate email account to "send a password reset" to, so no that feature does not work either.  Has anyone at AOL ever tried to create an AOL account?  They would quickly discover "AOL Hell" its right next door to "Captcha Hell".

Good thing no one is asking me to be the head of Internet security, I would work on actually making the Internet safe again.  As I often say:
"The Internet used to be like going to the library to read a book, now its like walking through a mine field".  -Bob Davis

Thursday, September 29, 2011

Really Static Versus WP Super Cache Revisited

We stopped using Really Static after upgrading to WordPress 3.  However I have re installed it and it is working with WordPress 3.2

We switched back because Alexa said it was taking 2.3 seconds to load a page and sometimes it would even take longer than that.  I could tell that web pages were loading faster immediately!  Everything seems much faster with Really Static!  I will post some graphs as soon as Google updates their web stats to reflect the change in caching programs.

Wednesday, September 21, 2011

More WordPress attacks, some sort of CSS attack?

Notice below that Wordpress is in four of the top 10 Vulnerabilities that are currently under attack!


Note below that there is some sort of CSS attack going on against WordPress sites. I do not know what the CSS vulnerability is that they are trying to exploit. I wonder if going to a plug-in like "Really Static" would be advisable as it hides the Wordpress installation and serves normal HTML files instead?

Tuesday, September 20, 2011

More webmaster attacks

Monday morning I was greeted with about 80 emails from webmaster to myself. I was excited to see what I had written to myself! Needless to say it was all spam!


I made a few changes in Cpanel and they have all gone away. I decided to set it so that company email can only come from our companies IP address. So then here is my number 2 change that I will make when I become "web security czar", you should NEVER allow email to be sent without first logging in! Number 1 would be to BAN JAVA!

Wednesday, September 14, 2011

More Wordpress Attacks going on! Using TimThumb vulnerability

They are really going after the TimThumb vulnerability. There were over 80 attempts to hack one site using the vulnerability this month! I wrote my own version last year, and this year I discovered that TimThumb was still installed so I deleted it as we are not using it.


Here is another strange "insert strange data" attack going on. It looks like a long string of garbage but I am sure it means something to someone?


Now I am thinking of not using WordPress or using a "static" version of WordPress to avoid all vulnerabilities. The biggest problem with totally static web pages is that the search function would not work, it has to have a dynamic response. You can use Google site search to get about the same results.

GoDaddy versus HostGator as a web hosting company

Recently I set up a web site on GoDaddy.  After using Hostgator and similar cPanel web hosting services, I have to say that GoDaddy is much more difficult to navigate and set up.  I can create a web site and email accounts on HostGator in my sleep.

GoDaddy requires that you navigate through many screens to do almost anything, with HostGator you can do almost anything you want right from the Control Panel.  This picture is the top 2/3's of the Control panel.

Tuesday, September 13, 2011

Why are we loosing our Kids?

Why our kids are leaving the church:

1. We tell them Santa is for real
2. We tell them the Easter Bunny is for real
3. We tell them the Tooth Fairy is for real
4. Then we try to tell them God is for real?

We should tell them:

1. Santa died 1200 years ago and Christmas is to celebrate the birth of Christ.
The wise men brought the first gifts.
2. Easter is to celebrate the Resurrection of Christ.
3. The tooth fairy is to convince them to remove loose teeth.
4. That a bolt of lighting hitting a mud puddle produces life is a Really Big fairy tale.

Friday, September 9, 2011

Another triple inbound Solar Storm!

There is another triple inbound Solar Storm!  Just like last month.  Some suspect that this solar storm has something to do with the California power outage.  This image below is from the POES satellite as seen at electricquakes.com. 


This impact started on Friday September 9, and there are some readings that are very unusual.  The picture below is the solar wind over the last seven days.

Wednesday, September 7, 2011

America's Got Talent TV show Idea

I have an idea for America's Got Talent.  Take several of my devices and fire them all off at once, with some music in the background.  Here is what my setup might look like.


The first thing I am going to make is a double headed Tesla coil. I have two 2 foot by 4 inch coil forms for the secondary. My old "big coil" used a three inch pipe.  Here is a picture showing the new forms compared to the old ones.
I have made a new top load with 4 inch flexible duct glued to an aluminum pie plate.

Then I will make my washer launcher into a double headed model to launch two washers in rapid sequence. I may add LED's to the washers to make them look like UFO's as they fly through the air.  Here is a picture of me making the new flat coil for the launcher.


Next in my vertical can crusher. I have two 15uf at 5KV capacitors to add to it, they will replace the Defibrillator capacitor, they are 4 times the size of the defibrillator capacitor.  Its going to be hard to fit them in the case!

Also new is the idea of adding some soda can launchers. They will use some 3 inch PVC pipes to fit the soda cans.

Thursday, September 1, 2011

More WordPress Hacking / Attacks going on

They are at it again, trying to hack Wordpress. Notice that there were over 5,327 log in attempts to 38 successes.  We are using LoginLockDown, but its logs show nothing, even when I went into the SQL database.  I am not sure why it does not do a better job of tracking the bogus log in attempts?


Here they are trying to guess the theme and then inject a line of code.  Note the addition of "/wp-content/themes/theme name/temp/lots of garbage".

Tuesday, August 30, 2011

More Facebook Fake Freind Requests

They are back at it again.  Lots of spam that are actually a virus.  If you did not get the August 2011 or the 2010 Yearly invoice then you likely still got the fake Facebook messages as seen below:
If you take a close look at the picture above you will see that the link was blocked by the firewall. 

Friday, August 26, 2011

How to and why disable IPv6

In July the world quietly turned on IPv6.  We quickly started having strange network problems.  I have known for quite a while the IPV6 is a hole through your firewall.  A VERY BIG hole at that.  It is designed that way so that officials can trace you even if you are connecting through your neighbors wireless connection.  Well today a news story came out about some of the known the problems with IPv6.  It will be years before IPV6 (and windows 7 for that matter) is safe to use.  The good news is that if you stay with XP you are safe for now.....

"Experts are reporting a rise in the number of attacks that take advantage of known vulnerabilities of IPv6, a next-generation addressing scheme that is being adopted across the Internet. IPv6 replaces the Internet's main communications protocol, which is known as IPv4."  That is from http://computerworld.co.nz/news.nsf/security/scariest-ipv6-attack-scenarios

So you ask how do your turn off IPV6?  Just go into the network properties and get the properties of your network card and disable it right?  NOPE, not a chance.  OK so you Google Microsoft (do not use Bing it never finds what you want) and find how to use regedit to turn it off at: http://support.microsoft.com/kb/929852  Now you can breathe a sigh of relief.  Not so quick, according to "The Dude" its still going full blast, its not even slowing down.......

Think about it, if they designed IPV6 to trace every Internet connection through multiple firewalls, are they going to make a way to turn it off?  I doubt it.  But here is a fudge fix.  remember back when you looked up the network properties of your network card and turned off IPV6?  There was an IP associated with it.  Go to your firewall and block that IP from ever accessing the Internet.  I will not guarantee that will work either but I do not know of any other method.


Thursday, August 25, 2011

Time to evacuate New York City

Well, as I have said before "If you do these things the land will vomit you out!" (Leviticus 18) Irene is set to do a direct hit on NYC flooding the subways and destroying thousands of homes on Long Island.

They are already calling this "NYC's Katrina" on some web sites.

Here is a picture from www.wunderground.com showing where Irene is expected to go.

In New York City around 90% (maybe more, I do not know the exact number) of the people do not have cars, they take the subway.  The subway is mostly underground and it will fill up with flood waters and take weeks to repair.  Their electrical infrastructure in mostly underground as well.  Transformers are filled with oil, but the connections to those transformers will be covered in mud.  Mud conducts electricity (as well as dirty water) so it will be weeks before the electricity can be turned back on.  The eastern 1/2 of Long Island may be wiped clean destroying thousands of homes.  This will be the biggest disaster since Katrina.

*** UPDATE ***
NYC escaped the direct impact of Irene, but the rest of western NY got hit with flooding.

Now its Tropical Storm Lee for "back to back" natural disasters.  When is enough, enough?

Friday, August 19, 2011

Earthquake Prediction Improved

I have been working on improving my earthquake prediction device and I am adding a MMA7361 Triple Axis Accelerometer - motion detector too.

The recent changes include changing the UGN3503's to be differential inputs to the op amps.  This gives twice the output swing per change in magnetic field.  Using a digital VOM it is now .1 volts for a North to South reversal.  That translates to about 20 on the Arduino serial data stream.


This change reduces the inputs to the Arduino to N-S, E-W and U-D, or three inputs. The other three inputs will come from the MMA7361. I am still working on getting that working.

Here are pictures of the MMA7361 board being tested on a Arduino Shield.  The wiring is very simple to do.

Tuesday, August 16, 2011

Dealing with Fleas

Once again I am dealing with fleas.

I have two rules for fleas:
First - Act quickly
Second - Be patient

You must act fast they multiply by thousands every day.  Give the pet a flea bath ASAP.  There is a "natural" flea soap that works very well.  In fact just giving the pet a bath helps.  I discovered some flea eggs and put them in the sink.  Whenever they came in contact with water they dissolved!
So just giving your pet a bath will help.  Keep him as wet as possible for 5 minutes, the eggs dissolve slowly.  I remember giving someones pet a flea bath a year a go and the water looked bloody, I thought I had made the poor cat bleed, but it turns out that dissolving the flea eggs turns the water red, so if it turns red you have a major flea problem!

Also a wet vac of the carpet will help kill them critters.  IMO do not waste your time on smoke bombs, they are almost worthless against fleas.  Besides water, use a carpet flea spray or just rip out the carpet and put in a tile or wood floor.

If you let your pets climb on the furniture then you will need to wet vac, flea spray, or toss the furniture too.  After the wet vac and or spray, cover the furniture with something so the eggs falling off your pet will not reinfect the furniture.  Wash the furniture cover every few days to kill any new flea eggs.

Then be patient, these critters keep hatching for a month or more!

Here is a quick update, after using a flea collar and still finding a flea or two we switched to the drops that you put down the pets back.  We were hoping they would be more effective.  After a few days I had to give the dog a bath and found about 10 dead fleas in the water!  The drops seem to be less effective than the flea collar!  Next I am going to see if there are more effective flea collars out there, and we are going to use lemon juice as a spray under his legs to help get rid of fleas.  We are also going to try to give him a little garlic every day to see if that helps too.  Its been about a month and we are still fighting the battle!

Monday, August 15, 2011

3LW 8108 or SC8108 Network Cable Tester

As promised I will tell you about my experiences with the 8108 or SC8108 Network Cable Tester. I bought it on Ebay for around $50, that is a far cry from the price of some cable testers!

The first feature that the seller did not list is that the remote beeps when it is connected to the right cable. Basically you install the remote in the persons office that you want to check the cable. Then you go to the switch, see what light is out, and plug that cable into the tester. The remote will then beep to let you know you have the correct cable. You can then run two tests on the cable. The tests will tell you if the cable is wired correctly and the length of the network cable. I had several cables that were not wired correctly, but two of them, after looking at the map, were wired as crossovers. That used to be the norm when running from switch to switch.

Basically I give the 3LW 8108 or or SC8108network cable tester two thumbs up.


Was there anything I was disappointed with? Yes, for one thing if you leave the computer plugged in at the other end, then the only test that you can run is the network cable length test. That is helpful to let you know how long it is to get a good idea as to who's office it goes to. However, with some network cards, it will come back saying that there is a "short" in the cable, when there is actually nothing wrong with the cable. This problem has something to do with the network card at the far end.

Friday, August 12, 2011

The IRS borrows 40% of its income!

I got this pie chart from irs.gov:


I was looking to see if the SS taxes were still making up over 40% of government income. It turns out they are down to only 25%! But if you take out the 40% of borrowed income then the SS Taxes still make up over 40% of "actual" government income. That is to prove that almost half of their income is from people making less than $250K. In fact any income over $110K is now exempt from the SS tax! More proof they tax the poor to pay the rich....

But take this a step further, how many years can I borrow half of my income before the interest on that borrowing exceeds my income???  The same thing applies to the IRS.  This borrowing without limits is totally insane!!  They must immediately balance the budget, and that balancing must not only include paying the interest on the debt, but the debt should be paid down at about 10% per year, 5% per year as a minimum!!

Also note that "Social Programs" and "community development" make up 35% of government spending. This must immediately "Cease and Desist".  The law does not allow the feds to spend money on these!

Thursday, August 4, 2011

Inbound Solar storm / CME

There has been three back to back solar storms and they are due to hit earth tomorrow, Friday August 5, 2011.  Here is the NASA charts showing the storms starting to impact us:

Monday, August 1, 2011

The Dude network monitor

Once again "the Dude" has come to my rescue. This program is great at finding network problems.  This picture shows a very unstable network.  Everything should be green (working fine) or red (turned off).  The orange indicates that they are having issues.  This is a screen capture of the network status when the cable to the main server was bad, It failed to work at 1 gig and was unreliable at 100 M/s.  The solution was to replace the old network cable with a category 5E cable.  The old cable was not connected correctly.
Since having that problem I have ordered a network cable tester on EBay that promises to be able to detect if the pairs are connected correctly. I will post more on that once the tester arrives.

Thursday, July 21, 2011

New York State is in for trouble

Well I have kept my mouth shut for a while, but I am outraged about this New York 'gay marriage' thing.  Remember what happened in Florida?  In New Orleans?  In California?  Is that kind of disaster headed for NY?

If my dreams amount to anything, I have seen back to back 'natural' disasters.  I have seen New York City and Rochester in ruins.  I have seen the beginnings of the 'Second Civil War'.  Out of the ashes will come a new government not controlled by special interests, not taking money from the poor and giving it to the rich, a government that is actually 'of the people' not 'of the elite'!


BTW I have a history of accurate dreams, three times i dreamed of a jet crashing into a building, in 1998 I wrote down that "I saw a plane rocking as if the pilot did not know what he was doing then it turned into a building, debris was falling everywhere and people were running form the debris."

While I am at it here is the solution for the debt crisis:

Just dissolve the USA and then divide it up into three smaller countries.  They would be the North, the South and the West.  You could call them the Yankee States (YSA) the Confederate States (CFA) and the Western States (WSA).  Since the USA would no longer exist there would be no need to pay back the debt, that country is not there anymore!  Otherwise at 1% interest, 14 trillion is 140 billion in interest a year.  Do you have that kind of money?  What if that climbs to 2 or 3%?

Monday, July 18, 2011

Network wiring issues resolved

Recently I resolved an issue that has been around for years where I work.  A year ago when we upgraded the switch in the service department two computers could no longer connect to the network.  I chased the problem down to their network cables and we replaced them. 

When we moved the shipping computers to building 3, I reused old network cables and they had problems connecting to the network and the entire network had issues (The Netgear firewall called it a ‘UDP Flood’ and tried to shut it down).  When I ran new network cables to those offices the problems went away. 

When I tried to connect Building 4 to the network once again we had issues and to ‘fix’ it I told the computer to only connect at 10 Megs (Not the normal 100 megs/second) and the problems appeared to go away.  The correct solution would have been to run a new network cable to building 4 but that would take too much time, because it is a buried cable!  In an attempt to make a quick fix I tried just changing the connectors on the existing cable and that fixed the problem! 

After studying the faulty connectors I saw that two wires were not in their correct position within the plugs.  I have since looked at other connectors where I work and have confirmed that some of the network connectors have their wires in the wrong positions.  I have used the ‘568b’ network standard for years and it supports up to 1 gig networking.  The main offices are all connected at 1 gig.  In the future any network cable that I see that does not conform to either 568a or 568b will be replaced!

Back when I was first running network wires I was told that “any order will work” as long as both ends of the cable are done the same.  That was actually true back then but I insisted on finding out what was the correct standard and on only following that standard.  To connect reliably at 100 mps requires the correct order, and 1 gig will not work at all without the correct order of the wires.

This is one of the faulty connectors, the blue pair should be in the center, surrounded by the Green or Orange pair.
Just to be clear here is a picture of a correctly wired network connector.  Note the blue pair in the center surrounded by the green pair.  The orange pair is on the left and the brown pair is on the right.

Thursday, July 7, 2011

QSC 1400 Amplifier repair

I recently purchased a non working QSC 1400 amplifier.  A few seconds after being powered on the clipping light comes on.  I downloaded the schematic and started checking voltages.  The +15 and -15 volt power in one channel measured at pins 4 and 8 of the op amp was only +9 and -15 volts.  I traced out the power and found +9 at one end and 0 volts at the other end of a 3.9 volt zener diode.

This picture shows the location of the zener in the schematic;

here is the location on the circuit board:

Wednesday, June 1, 2011

How to Dominate Web Searches

How to Dominate Web Searches and Render Google Worthless as well as prevent any negative reviews from ever being seen.

Lets say you own a web site like '1 click money machine' or 'SEO key word analizer' and you want to be number one (to number 1000) in all google search results.  First you purchase a thousand or more web sites with any search phrase someone might use to find out more information about you.  For example '1 click money machine review', '1 click money machine scam', '1 click money machine ripoff', '1 click money machine for real', etc.  Then you fill all of these web sites with an article about 'Becky' who made a fortune using your system.  But to make Google happy you run the article through a word re-arranger/scrambler that substitutes alternate words but keeps the key word phrases the same. Then you upload these rearranged articles to your 1000 web sites and each one of the web sites has a link like 'for more information....' that then links back to your real web site. 
There you have it, you have now prevented any negative reviews from ever appearing in the search engines, destroyed any competition, and rendered Google completely worthless.  If you automate this process and sell it for $39 a copy you will be filthy rich.  Only problem is that it has already been done about a million times over.  Somehow, some day Google will fix the problem.  Call it "Panda II".  All the last fix did was to detect that all of the inbound sites were identical.  So to fix that, the web spammers have added programs to re-arrange the articles so they are not identical.

Tuesday, May 31, 2011

Wordpress and Twenty Ten Bugs

As Wordpress gains more features it is also gaining more bugs!  I am getting annoyed with some of the bugs as they do not make a lot of sense.  The most annoying one is that if some text is bold and you change the font color the font color remains black in the editor screen, but it has the correct color in the actual web page.

Here are there bugs I have found so far.

1. The items picture sometimes replaces the header picture.  This was meant to be a feature, avoid using large images that may get cropped and used to replace the header image or delete a few lines of code to prevent this from happening.

2. 'Strong' overrides 'Font Color=' in editor (Text appears to be black), but it appears correctly on actual web pages.

3. 'Remove featured image' does not work unless you go into 'media' and delete the image.  Otherwise the thumbnail image will be the one you tried to remove.

Thursday, May 26, 2011

Wordpress and Twenty Ten Header Image Bug Fixed!

Houston we have a problem! There is a bug whereby randomly the header image changes to be an image from the item or post that you are currently viewing. What causes it is some code in Twenty Ten that looks for an image that has the same dimensions as your header image. If it finds one it will then make that into the header image.

The solution is to edit the Twenty Ten Header file (header.php) to remove the entire PHP IF, ELSE and ENDIF statement as can be seen in the image below. With this modification the header image will not change from the one that you have set up as your header image.


On the other hand if you want to take advantage of this code you just need to make images the same size as your header and include them in your post. Actually for some reason that sometimes happens because every now and then it crops the image to be the right size. I have not yet determined why that happens.

Monday, May 16, 2011

Silent Radio LED Sign Part 4

There are at least three solutions for the brightness problem.

One solution lays in the cathode drivers.  There are brown resistor arrays consisting of 100 ohm resistors in series with the cathodes of the LED arrays.  They can be bypassed with 10 ohm resistors.  The arrays go every other pin so the replacement resistors can be jumpered in on the back side of the board from pin 1 to 2 then next resistor goes from pin 3 to pin 4 , etc.  You would need to do this like 90 times to fix the brightness problem that way.

Another solution lays in the Anode drivers.  If you add a ULN2003, then a PNP driver like the TIP125 you can then deliver much more voltage to the anodes.  With the Tip120's there is 5 volts on the collectors, 5 volts to the base but only 4 volts is delivered to the anodes of the LED arrays because of the Base-Emitter voltage drop.  Even if you increase the power supply to 8 volts the NPN drives still only send 4 volts on the the LED arrays.  I tried using a PNP driver and i tried using FET's to no avail as long as the power supply is still at 5 volts.  So you need to change the driver configuration to a ULN2003 to a 1 k resistor to a TIP125 driver.  The emitter goes to a 8 or 9 volt at 2 amps power supply and the collector goes to the LED arrays.  That also means that the driver transistors cannot be on a common heat sink.

Then I came up with what might be the best solution, a 4017!  It runs off 9 volts and can connect to the Arduino for reset and clock. By not using output 1 of the 4017 a reset can be used to blank the display then we clock the 4017 to the row that you want to light up.  I have wired it up and am working on the necessary software changes.

Here is the schematic:


Here is a picture of the controller with the 4017 added.  So far the maximum operating voltage is 6 volts at 7 volts it stops working for some reason? Problem solved, it was a bad AC adapter, it runs fine on 9 volts at 2 amps.  If you try 10 volts the shift registers stop because the clock and data levels are too low.
To get it to fit back into the aluminum cabinet I had to move the Arduino down below the brown circuit board.  Otherwise it scrapes the top of the aluminum and shorts out.

Here is a video of it running.


Here is the code to make it work with the 4017.  Note that I turned the sign upside down so the greeen arrays are on the left for this version of the code.

//**************************************************************//
//  Name    : Silent Radio Driver with 4017                    //
//  Author  : Bob Davis                                         //
//  Date    : 20 June, 2011                                    //
//  Version : 1.0                                               //
//  Based on work of Hari Wiguna - http://g33k.blogspot.com/    //
//****************************************************************
// Pins for the 4017 Row select
int RowReset = 3;
int RowClock = 2;
// Pins for the Column shift registers
int clockPin = 4;
int dataPin = 5;

// Set the pins to output to the circuit
void setup() {
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  pinMode(RowReset, OUTPUT);
  pinMode(RowClock, OUTPUT);
}

//=== B I T M A P ===
//Bits in this array represents one LED of the matrix
// 8 is # of rows, 7 is # of LED matrix we have
byte bitmap[8][12]; // Change the 12 to however many matrices you want to use.
int numZones = sizeof(bitmap) / 8;
// I will refer to each group of 8 columns (represented by one matrix) as a Zone.
int maxZoneIndex = numZones-1;
int numCols = numZones * 8;

//=== F O N T ===
// Font courtesy of aspro648
// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1203747843/22
// The @ will display as space character.
byte alphabets[][5] = {
  {0,0,0,0,0},
  {31, 40, 72, 40, 31},
  {127, 73, 73, 73, 54},
  {62, 65, 65, 65, 34},
  {127, 65, 65, 34, 28},
  {127, 73, 73, 65, 65},
  {127, 72, 72, 72, 64},
  {62, 65, 65, 69, 38},
  {127, 8, 8, 8, 127},
  {0, 65, 127, 65, 0},
  {2, 1, 1, 1, 126},
  {127, 8, 20, 34, 65},
  {127, 1, 1, 1, 1},
  {127, 32, 16, 32, 127},
  {127, 48, 24, 12, 127},
  {62, 65, 65, 65, 62},
  {127, 72, 72, 72, 48},
  {62, 65, 69, 66, 61},
  {127, 72, 76, 74, 49},
  {50, 73, 73, 73, 38},
  {64, 64, 127, 64, 64},
  {126, 1, 1, 1, 126},
  {124, 2, 1, 2, 124},
  {126, 1, 6, 1, 126},
  {99, 20, 8, 20, 99},
  {96, 16, 15, 16, 96},
  {67, 69, 73, 81, 97},
};

//=== F U N C T I O N S ===
// This routine takes whats in the array and display it on the matrix
void RefreshDisplay()
{
  for (int row = 0; row < 8; row++) {
    //-- turn off the display --
//    if (row==1) {
      digitalWrite (RowReset, HIGH);
      digitalWrite (RowReset, LOW);
//    }
    //-- Shift out to each matrix (zone is 8 columns represented by one matrix)
    for (int zone = maxZoneIndex; zone >= 0; zone--) {
      shiftOut(dataPin, clockPin, MSBFIRST, bitmap[row][zone]);
    }
    //-- turn the current row on --
    for (int rowclk = row; rowclk > 0; rowclk--) {
      digitalWrite (RowClock, LOW);
      digitalWrite (RowClock, HIGH);
    }
    //-- Wait a little bit to get more brightness --
    delayMicroseconds(1000);
  }
}

// Converts row and colum to actual bitmap bit and turn it off/on
void Plot(int col, int row, bool isOn)
{
  int zone = col / 8;
  int colBitIndex = col % 8;
  byte colBit = 1 << colBitIndex;
  if (isOn)
    bitmap[row][zone] =  bitmap[row][zone] | colBit;
  else
    bitmap[row][zone] =  bitmap[row][zone] & (~colBit);
}

// Plot each character of the message one column at a time, updated the display, shift bitmap left.
void AlphabetSoup()
{
  char msg[] = " ARDUINO LED SIGN ";
  for (int charIndex=0; charIndex < (sizeof(msg)-1); charIndex++)
  {
    int alphabetIndex = msg[charIndex] - '@';
    if (alphabetIndex < 0) alphabetIndex=0;
    //-- Draw one character of the message --
    for (int col = 0; col < 6; col++)
    {
      for (int row = 0; row < 8; row++)
      {
        // Set the pixel to the alphabet for columns 0 thru 4
        bool isOn = 0;
        if (col<5) isOn = bitRead( alphabets[alphabetIndex][col], 7-row ) == 1;
        Plot( numCols-1, row, isOn);
      }
      //-- The more times you repeat this loop, the slower we would scroll --
      for (int refreshCount=0; refreshCount < 20; refreshCount++)
        RefreshDisplay();
      //-- Shift the bitmap one column to left --
      for (int row=0; row<8; row++)
      {
        for (int zone=0; zone < numZones; zone++)
        {
          // This right shift would show a left scroll on display.
          bitmap[row][zone] = bitmap[row][zone] >> 1;
          // Roll over lowest bit from the next zone as highest bit of this zone.
          if (zone < maxZoneIndex) bitWrite(bitmap[row][zone], 7, bitRead(bitmap[row][zone+1],0));
        }
      }
    }
  }
}
//=== L O O P ===
void loop() {
  AlphabetSoup();
}

Wednesday, May 4, 2011

Silent Radio LED Sign Part 3

Its up and running! I am cleaning up the code some before posting it here. This is what it looks like with the Arduino all connected up.  All it takes is the 7 driver transistors to interface it to the sign.
The biggest problem now is that the display is too dim. The problem relates to the fact that I am using 5 volts at 2.5 amps to power everything. The Positive Row drivers should have about 7 or 8 volts on them. The code was borrowed from http://g33k.blogspot.com/2010/02/arduino-56x8-scrolling-led-matrix.html and heavily modified to work with the silent radio sign. I am awaiting his permission to post it here.
I used the serial out test program that is available on the Arduino web site to make a simple test program to check everything out.  With that serial output test program you should see lines top to bottom representing the binary values of 1 to 255, they repeat across the sign each 8 LED's has a binary number that is one lower that the one to its left. 

Here is the video of it working on YouTube:


Here is the schematic, I am currently running the TIP120 Transistors on 5 volts because if you use 8 volts they get too hot, but the display gets brighter.  Another solution might be to use an IC or FET's instead. 

Here is the test code to make it all work:

//************************************************************//
//  Name    : Silent Radio Driver                                                      //
//  Author  : Bob Davis                                                                   //
//  Date    : 25 April, 2011                                                              //
//  Version : 1.0                                                                               //
//  Based on the work of Hari Wiguna - http://g33k.blogspot.com/    //
//*************************************************************
// Pins for the row drivers
int row1Pin = 1;
int row2Pin = 2;
int row3Pin = 3;
int row4Pin = 4;
int row5Pin = 5;
int row6Pin = 6;
int row7Pin = 7;

// Pins for column shift registers
int clockPin = 8;
int dataPin = 9;

// Set the pins to output to the circuit
void setup() {
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  pinMode(row1Pin, OUTPUT);
  pinMode(row2Pin, OUTPUT);
  pinMode(row3Pin, OUTPUT);
  pinMode(row4Pin, OUTPUT);
  pinMode(row5Pin, OUTPUT);
  pinMode(row6Pin, OUTPUT);
  pinMode(row7Pin, OUTPUT);
}

//=== B I T M A P ===
//Bits in this array represents one LED of the matrix
// 8 is # of rows, 7 is # of LED matrix we have
byte bitmap[8][12]; // Change the 7 to however many matrices you want to use.
int numZones = sizeof(bitmap) / 8;
// I will refer to each group of 8 columns (represented by one matrix) as a Zone.
int maxZoneIndex = numZones-1;
int numCols = numZones * 8;

//=== F O N T ===
// Font courtesy of aspro648
// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1203747843/22
// First char is @, next is A, B, etc.  Only lower case, no symbols. 
// The @ will display as space character.
byte alphabets[][5] = {
  {0,0,0,0,0},
  {31, 36, 68, 36, 31},
  {127, 73, 73, 73, 54},
  {62, 65, 65, 65, 34},
  {127, 65, 65, 34, 28},
  {127, 73, 73, 65, 65},
  {127, 72, 72, 72, 64},
  {62, 65, 65, 69, 38},
  {127, 8, 8, 8, 127},
  {0, 65, 127, 65, 0},
  {2, 1, 1, 1, 126},
  {127, 8, 20, 34, 65},
  {127, 1, 1, 1, 1},
  {127, 32, 16, 32, 127},
  {127, 32, 16, 8, 127},
  {62, 65, 65, 65, 62},
  {127, 72, 72, 72, 48},
  {62, 65, 69, 66, 61},
  {127, 72, 76, 74, 49},
  {50, 73, 73, 73, 38},
  {64, 64, 127, 64, 64},
  {126, 1, 1, 1, 126},
  {124, 2, 1, 2, 124},
  {126, 1, 6, 1, 126},
  {99, 20, 8, 20, 99},
  {96, 16, 15, 16, 96},
  {67, 69, 73, 81, 97},
};

//=== F U N C T I O N S ===
// This routine takes whatever we've setup in the bitmap array and display it on the matrix
void RefreshDisplay()
{
  for (int row = 0; row < 8; row++) {
    //-- turn off the display --
    digitalWrite(row1Pin, LOW); 
    digitalWrite(row2Pin, LOW); 
    digitalWrite(row3Pin, LOW); 
    digitalWrite(row4Pin, LOW); 
    digitalWrite(row5Pin, LOW); 
    digitalWrite(row6Pin, LOW); 
    digitalWrite(row7Pin, LOW);
    //-- Shift out to each matrix (zone is 8 columns represented by one matrix)
    for (int zone = maxZoneIndex; zone >= 0; zone--) {
      shiftOut(dataPin, clockPin, MSBFIRST, bitmap[row][zone]);
    }

    //-- turn the current row on --
    if (row == 1) digitalWrite (row1Pin, HIGH); 
    if (row == 2) digitalWrite (row2Pin, HIGH); 
    if (row == 3) digitalWrite (row3Pin, HIGH); 
    if (row == 4) digitalWrite (row4Pin, HIGH); 
    if (row == 5) digitalWrite (row5Pin, HIGH); 
    if (row == 6) digitalWrite (row6Pin, HIGH); 
    if (row == 7) digitalWrite (row7Pin, HIGH); 

    //-- Wait a little bit to let humans see what we've pushed out onto the matrix --
    delayMicroseconds(500);
  }
}

// Converts row and colum to actual bitmap bit and turn it off/on
void Plot(int col, int row, bool isOn)
{
  int zone = col / 8;
  int colBitIndex = col % 8;
  byte colBit = 1 << colBitIndex;
  if (isOn)
    bitmap[row][zone] =  bitmap[row][zone] | colBit;
  else
    bitmap[row][zone] =  bitmap[row][zone] & (~colBit);
}

// Plot each character of the message one column at a time, updated the display, shift bitmap left.
void AlphabetSoup()
{
  char msg[] = "ARDUINO LED SIGN";
//OLD-for (int charIndex=0; charIndex < (sizeof(msg)-1); charIndex++)
  for (int charIndex=(sizeof(msg)-1); charIndex >= 0 ; charIndex--)
  {
    int alphabetIndex = msg[charIndex] - '@';
    if (alphabetIndex < 0) alphabetIndex=0;
    //-- Draw one character of the message --
    // Each character is only 5 columns wide
//OLD-for (int col = 0; col < 7; col++)
    for (int col = 5; col >= 0; col--)
    {
      for (int row = 0; row < 8; row++)
      {
        // Set the pixel to the alphabet for columns 0 thru 4
        bool isOn = 0;
        if (col<5) isOn = bitRead( alphabets[alphabetIndex][col], 7-row ) == 1;
        Plot( numCols-1, row, isOn);
      }
      //-- The more times you repeat this loop, the slower we would scroll --
      for (int refreshCount=0; refreshCount < 50; refreshCount++)
        RefreshDisplay();

      //-- Shift the bitmap one column to left --
      for (int row=0; row<8; row++)
      {
//OLD-for (int zone=numZones; zone > 0; zone--)
        for (int zone=0; zone < numZones; zone++)
        {
          // This right shift would show a left scroll on display.
          bitmap[row][zone] = bitmap[row][zone] >> 1;
         
          // Roll over lowest bit from the next zone as highest bit of this zone.
          if (zone < maxZoneIndex) bitWrite(bitmap[row][zone], 7, bitRead(bitmap[row][zone+1],0));
        }
      }
    }
  }
}
//=== L O O P ===
void loop() {
  AlphabetSoup();
}