7x5 found a bad LED
rsbohn
11:53h
I added the last three LEDs to my 7x5 display awhile back, but didn't actually test them until this morning. One of them wasn't lighting up. Took a close look and I can see what a poor solder job I did. The flying wire wasn't even touching the next on in the row. Have to fix that next time I get the iron out. I want to try out the bidirection LED thing using this board. I want to read all seven LEDs in the rightmost column and see which one you are touching. For starters I'll just light up the whole row, so you can see a moving bar of lights when you run it. Eventually you could use this to set a value: the center line is no change, each row higher means increase faster, each row lower means decrease faster. Or, from top to bottom: +++ ++ + 0 - -- ---. To get started I created a new project in Atmel Studio for the Tiny2313 chip. This time around I'm not using the overflow interrupt for timer0, I'm just polling the overflow flag and resetting it. It didn't take long to get a row-strobe test pattern running. I've added sockets for ISP to the board, so I can just build the software and then upload it without disconnecting anything or removing the chip from the board. Sure makes things easier. I should save off a copy of the current firmware, it's nice to have a test pattern to make sure all the LEDs are lighting up. That's how I found the bad solder joint this morning. Find this story interesting? Check out uC Hobby! ... Link
7x5 display completed
rsbohn
08:20h
Added the last few LEDs, got the firmware working on the Tiny2313. Added a socket for a Tiny13 for ADC input. Here's how I get the data to the display. The driver chip (2313) sends clock pulses to a counter on the ADC (Tiny13). The counter is set to do PWM using the latest reading from the ADC. When the counter overflows an interrupt fetches a new ADC reading. The PWM output is set high. As the clock form the driver chip comes in the counter increments. When it matches the ADC reading the PWM output goes low. On the Tiny13 I just have to configure the timer and copy the ADC value in the overflow. The driver software is a little more complicated, but not much. Part of the main loop toggles the clock line to the Tiny13 counter. When the PWM line goes high I reset, then just count the clocks until it goes low. When that happens I copy the count and arrange to display it. The clock to the Tiny13 counter isn't regular, it can go faster or slower, but it works anyway. I put a piezo speaker on the clock line to verify that I had it working. Then I put it on the data return line and listened to that. With the PWM you can hear differences in the ADC reading. Next time I want to build on a custom PCB instead of the project board. Maybe I'll make all the LEDs the same color as well. 7x5 LED Array on flickr.com. ... Link
Password Gadget
rsbohn
10:53h
I'd like to build a device that allows you to put in say an 8 digit number and it returns a strong password (or a less-strong password for places that don't accept !@#$%^&* etc). I put into the firmware my own personal 'munge factor', so I can put the number into a 'password hint' field and use that when I forget the password. This would use probably a Tiny2313 or a Mega8, an LCD display and a few push buttons for input. A salt factor is stored in the EEPROM. Yeah, I have a problem remembering passwords. ... Link |
8140 days of detection
mod: 12/3/08, 5:42 AM days of detection... PMOG owner
BiographyRandall Bohn lives in Orem, Utah, USA. He works as a Software Quality Engineer. He is a big fan of the AVR line of microcontrollers. He has been in the computer industry since 1989. Randall is married and has three children. rsbohn can be reached via gmail.com. status
Youre not logged in ... Login
Amazon.com DVD Shop
Amazon.com DVD Shopmenu
search
related
calendar
recent updates
Arduino Starter Kit
MAKE Blog How-to Tuesday posted a challenge: Optimize the sketch code for a pressure sensor bar graph. Here is my second attempt: int gate[] = {10, 20, 50, 100, 200, 32767}; void setup() {DDRB = 0b00111110;} void loop() { int dval = 0; int rval = analogRead(2); for (int x = 0; rval... 12/3/08, 5:42 AM Measuring Supply Voltage
I'm running my latest handheld computer on solar power. It starts up when the sun rises and runs all day. I started wondering how I could measure the voltage coming in from the solar panel. I came up with a way to use a diode and a resistor and the... 7/29/08, 9:53 AM Ten Pin ISP adapter
I've already built a six pin ISP adapter, but my Olmex cards use the ten pin ISP. I put a header on a scrap of perf board, added an LED for the heartbeat, and then connected the ten pin cable. Actually it is a fifteen pin cable, off a joystick... 7/16/08, 10:00 PM Hello 5x7 Style
Wrote a new firmware for the 5x7 display. Now it scrolls out 'hello' over and over again. I'm running it on a solar panel, so it wakes up with the sun and runs all day long. When I built the LED matrix I put resistors on the five columns. I'm starting... 6/17/08, 12:48 PM Provo, Utah
With a walkable downtown and access to two Universities, Provo Utah is a great location. I live next door in Orem. Kipplinger: Provo: Pristine Tech Mecca (Video) (Text) 6/2/08, 10:07 AM Another release of AVRISP sketch
There is a new release of the AVRISP emulation sketch for Arduino: avrisp.02.zip. This one should work with Mega8 and Mega168. mega-isp 5/28/08, 4:48 PM Sorting Out Page Sizes
There is a new release of AVRISP Emulation for Arduino. This is an Arduino firmware that allows you to program other AVR microcontrollers. The new zip file (avrisp.01.zip) should compile on the current Arduino IDE, and I changed the comments that put the wrong labels on the SPI pins. Go ahead... 5/27/08, 11:31 AM Flash Problems
I'm building a project using the AVR ATMega8 microcontroller. Once I got the thing wired up to where I could write firmware to it I found that it was always failing. I made a .hex file full of 0x10 values (256 bytes worth) and tried uploading that to the chip.... 5/16/08, 2:56 PM William's Arduino Board
I'm building an Arduino-compatible board for William. I'm building it on the Evil Mad Scientist MegaXX8 business card. It will have four built-in LEDs and a USB interface. It will also have connectors so he can use it with a breadboard. Perhaps we can connect it to some of his... 5/15/08, 7:26 AM Cybord Signal Detector
Some digital radio signals use Frequency Shift Keying (FSK). This often has one frequency for a Mark and one for a Space. I plan to build a cybord or other chip that will decode an FSK signal, producing three different values: NO_SIGNAL, MARK, and SPACE. The signals would then go... 5/15/08, 7:20 AM |