An LED screen with just one row of LEDs based on persistence of view.
The idea behind this project is that a moving row of LEDs may serve as a screen. If the row of LEDs is mounted on a spring, the row will move up and down on the resonance frequency of the mass/spring system. To produce a figure or a message, the individual LEDs in the LED row should shut on and off depending on the position of the LED row. This position will be measured by a phototransistor placed on the LED row, that receives light from a stationary light source (another LED). If the phototransistor is close to the light source, the current through the transistor will be high, if the phototransistor is far from the light source, the current will be low.
In order to reduce the amount of operations, I decided to directly access the output ports of Arduino. As communication via the serial port proved to be very handy during trouble shooting of my earlier projects, I decided to not use these outputs. This way I had 12 digital outputs left. I decided to store the state of the LED’s in an unsigned integer (two bytes). With highByte() I can access the least significant bits that will store the state of the LED’s connected to ports 2 till 7 (set via PORTB), with lowByte() I can access the most significant bits that will store the state of the LED’s connected to ports 8 till 13 (set via PORTD).
The distance sensor will be built of a LED that sends light to a phototransistor. The LED will be in a stationary position, the phototransistor will travel with the LED screen. As the phototransistor moves away from the LED, the light received will drop and thus the current through the phototransistor will decrease. This is measured via analog input A1. Through a rather tedious analysis, I proved that the distance is directly proportional to the reciprocal of illumination.
The quality is not great, but it works!


_ztBMuBhMHo.jpg?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)








Comments