Smart power controller for Raspberry Pi

One of the weakest sides of raspberry Pi is its power supply. We only get micro-USB option for powering the device. In one hand this is great feature because micro-USB chargers are becoming standard for phone chargers, so most of us already have those near by. There is another option of powering Raspberry Pi – using PGIO where you can find power pins. The real problem is that you don’t have much of power control on board – even there is no power button. Once you plug the adapter it starts to work immediately and powers off once you plug it off.

Felix Rusu have designed small power controller for Raspberry Pi which gives some control. It is Attiny based board so called ATXRaspi that gives features like power button, status LED, and link to RasPi. This allows shutting down the board without need to log in. when you click the power button adapter sends command to Raspberry Pu through GPIO to initiate shutdown script and will safely turn it off. Practically you can place any commands to execute before turning off – saving data, cleanup, writing to log files and so on.

 

Read|Permalink Comments(0)

Classical example of dot LED matrix display control

Dot LED matrix is great for displaying various type information including graphical, text, and animation. They usually are big enough to see from a distance and bright to be visible at day and night. Embedded-lab built LED matrix display board which uses five 8×8 LED modules that makes pretty decent 8×40 display.

example of dot LED matrix display control

The display is clocked using PIC16F1847 microcontroller. Of course MCU doesn’t have enough I/Os to drive 320 LEDs. For this a cascading shift registers 74HC595 are used. One for every matrix module column. The rows are controlled with single ULN2803 which sinks LED outputs. Messages can be sent via serial interface using 8×5 byte array totaling the 320 bits. Each bit represents weather corresponding LED is ON or OFF. Received data is stored in to EEPROM memory, so after display powerup it automatically loads saved data and starts displaying without need of computer.

Read|Permalink Comments(0)

Helpful code snippets for Arduino

If you program microcontrollers probably find yourself writing same functions over and over again. If you are smart enough, you simply write generalized functions that may be reused in other projects. But in many cases it happens that we write and forget. Here are several simple code snippets that may be useful in some cases. Some of the mare written by Rob Faludi with addition by Alasdair Allan.

void blinkLED(byte targetPin, int numBlinks, int blinkRate) {
  for (int i=0; i < numBlinks; i++) {
    digitalWrite(targetPin, HIGH);   
    delay(blinkRate);                
    digitalWrite(targetPin, LOW);   
    delay(blinkRate);
  }
}

The code snippets include blinking LED with predefined rate and duration, sounding buzzer at desired frequency and duration, checking free RAM, connecting to WiFi and working with EEPROM. Not much actually, but you are free to build up your own database and probably share with others.

Read|Permalink Comments(0)

Arduino robotic hand under $200

Robotic hand is one of most important parts in robot equipment. This is main manipulator that interacts with outside world. Complex robotic hand may be very expensive part that may be hardly achievable by hobbyist. Anyway you are always free to experiment and find new ways of reducing cost while making it worth using. Aaron Thomen have been experimenting with interesting robotic Arm solution controlled by Arduino.

As you can see. Few smart approaches makes it really responsive and realistic enough. It is basically made using servo motors and spring-loaded fingers. Fingers are maid of bicycle chains that have many joints and are really flexible. Servo motors activate finger by pulling strings. It is able to pick small objects pretty well what makes it great candidate in many awesome projects. So this is an example of how complex things can be done simple way.

Read|Permalink Comments(0)

« Previous PageNext Page »