Juego de la vida - Game of Life (Conway)


"Game of life" by John Horton Conway


The game of life is the best example of a cellular automaton, is actually a Zero-player game, which means that its evolution is determined by the initial state and needs no further input. The dashboard game "is a grid of squares (" cells ") that extends infinitely in all directions. Each cell has 8 surrounding cells, which are those close to her, even in the end zone.
The cells have two states : they are "alive" or "dead" (or "on" and "off"). The state of the mesh evolves over discrete time units (one could say in turn). The status of all cells takes into account when calculating the state of negotiations at the next turn. All cells are updated simultaneously.

This project is build on a PIC12F683 microcontroller, Nokia 3310 LCD as display and 2x QT100A making it a low power consuming gaming device. Two capacitive sensor pads are used switches. Software is written intelligently to handle the big 84x48 lcd screen in parts of 25×71 efficiently using the small ram area.

This project you can also give a test drive on proteus. All the files and complete information you can get on the links below.

Orginal Spanish Link: Juego de la vida - Game of Life (Conway)

English translated Link: Juego de la vida - Game of Life (Conway)

5x5x5 LED Matrix CUBE Controller

You might have seen many videos around you tube showing off crazy LED cubes, forming 3-D structures etc. But haven't find anything that explains how this is being done. Well searching over internet i found this great project made using a PIC 16F688 microcontroller used to control a 5x5x5 LED matrix cube.

The LED cube is made up from 125 LEDs arranged into 5 layers of 25 LEDs each. The display itself is multiplexed so instead of requiring 125 connections it requires one to each of the five layers and 25 to each LED in a layer making a total of 30. The cube is refreshed by a software interrupt routine with each layer active for 2ms, so the entire cube is refreshed every 10mS (100Hz). This results in a display with no visible flicker.

Only 8 I/O lines are needed to control the LED drivers for the cube which allows a tiny 14 pin PIC 16F688 microcontroller to control the whole cube. This micro has an internal 8Mhz clock and 4Kwords of program memory.

The complete circuit can be download in pdf format here: schematic
Firmware Download: LED Cube Matrix Driver


You can find more interesting videos and ready to burn hex file here: LED Cube Matrix Controller

The AVR based USB Touchscreen Mouse

SparkFun engineers do play with what they sell. Ryan an engineer at SparkFun made use of PSP touch screen and AVR ATMega168 to construct this USB Touchscreen mouse.

The PSP touchscreen is a 4 wire analog resistive touchscreen. This means by touching the screen at one point, a resistance between each edge is formed for both the x and y axises.By applying a voltage across each axis, a changing resistance results in a changing voltage. Thus a simple ADC on a microcontroller can be used to find x and y positions. You can get more information on How USB screen works in this document here.

How Touch Screen works

The ATMega168 is loaded with open source V-USB stack which turns any AVR into a USB device along with that HID profile enables it to work as a USB mouse. The only requirement is that the D+ pin needs to be connected to the INT0 pin.

More information on V-USB is available from Objective Development.


More information on this project: The AVR based USB Touchscreen Mouse

Tactile Metronome - A beat looper

The Tactile Metronome is a tap-controlled or tap-tempo metronome and "beat looper." "Syncopation machine." "Metronome with an attitude."



You tap the piezo speaker to set the frequency. The display shows the beats per minute, and the two buttons adjust the speed.

You can tap patterns into it, currently up to 12 beats long. As long as you tap the pattern in three times, it jumps in and continues beeping in that rhythm. The metronome can beep in three different tones, so you can play with more than one at a time.



Features
  • Easy to assemble kit makes for a great learning experience.
  • Fully open-source design
  • Piezoelectric speaker is used as the pattern input, by simply tapping in the tempo or pattern.
  • Seven-segment displays provide feedback in the form of beats-per-minute (BPM) readings.
  • Professionally-made PCB provides a solid base for happy tappers.
  • An in-circuit serial programming (ICSP) header is provided to enable easy re-programming.


Source: Tactile Metronome

AVR homebrew device with iPhone aspirations

Yet another project demonstrating unbeatable power of AVR microcontroller in 8-bit microcontroller family. The AVR Homebrew device cant really beat the power of ARM but still cool enough to do the big tricks possible.



Hardware Features:
320x240 LCD with 4 wire resistive touch screen - a ELT240320ATP variant from a dead Sylvania MP3 player - uses a ILI9325 controller.
12Mhz Atmega644 CPU with 64k Flash and 4k RAM - demo fits in 32k.
USB connector for PC communication and charging.
Lithium polymer battery with software controlled power.
Software controlled backlight.
SD Micro slot.

Software Features:
LCD driver to support blitting image decompression and smooth scrolling.
Z-sorted span 3D engine with zero overdraw.
Basic UI framework for gadgets and poorly drawn pictures.
USB mouse or keyboard HID support.
Sampling profiler.
Movie playback.
Sprite engine.

The complete source code, schematics and PCB layout are available open source at https://sourceforge.net/projects/microtouch/

Source: AVR homebrew device with iPhone aspirations

Pure Sine Wave Inverter Using Atmel 89S2051

This 8051 project demonstrates generation of pure sine wave with the help of PWM technique where the original sine wave is divided into n number of small segments or samples. These samples are regenerated by 8051 controller to recreate the original sine wave.


Block Diagram of Pure Sine wave inverter


The inverter will converts 12 Volt dc from battery into 110 Volt ac, 50 Hz, sine
wave. As from the block diagram, PWM Pulse train is generated and is fed to MOSFET switching circuit which is connected to primary side of transformer. Output of transformer is filtered to get pure sine wave.

Complete information on this project: Pure Sine Wave Inverter Using Atmel 89S2051

PIC Sonar - Ultrasonic distance measurement

A simple projects demonstrating use of Ultrasonic sensor to measure distance. This project make use of PIC microcontroller and 40Khz ultrasonic transducers pair for measuring distance from obstacle and displaying it on 7-Segment LED display.

The working of project is based on the simple phenomenon of sound traveling. The time from transmission of the pulse to reception of the echo is the time taken for the sound energy to travel through the air to the object and back again.

Since the speed of sound is constant through air measuring the echo reflection time lets you calculate the distance to the object using the DST equation :

Distance = (s * t)/2 (in metres)

You need to divide by 2 as the distance is the round trip distance i.e. from transmitter to object and back again.

The 40Khz signal is generated form controller itself and given to ultrasonic transmitter via amplifier circuit. Receiver part includes preamplifier, peak detector and threshold circuit.


Block Diagram of PIC Sonar


Circuit Diagram: PIC Sonar Circuit
for complete theory and code visit PIC Sonar project page

Data Acquisition System With Controller Area Network and SD Card

This project implements a high speed data acquisition system using Mega32 microcontrollers and a Controller Area Network (CAN).

Recording data is essential to testing and developing a racecar. Recording what each sensor is doing can tell an engineering how the car is performing, and most importantly, how to make it faster. A well outfitted car can have many sensors, with Formula One cars having well over 100 sensors. Cornell?s FSAE car has over 50 sensors on it, many of which require high sampling rates to be useful. Commercial data acquisition systems are either expensive, slow, or have few inputs. A solution to this problem had been attempted by previous 476 students (Karl Antle and Ryan Mcdaniel) using a PIC18F2585, but it was only able to log reliably at 150 Hz. Many sensors on the car require much higher sampling rates, as the sensors are recording events occurring in a very short period of time. For example, when looking at a sharp bump using rocker position the event may only last .05 seconds when driving quickly. If taking the derivative of the data a very high sampling rate is required to give useful data, at least 500 Hz. It was this need for high speed data acquisition that motivated us to create a high speed data acquisition system to replace the current one.

Our system uses multiple transmitter nodes to acquire data from sensors and transmit the data in packets over a CAN bus. Each transmitter consists of a Mega32 microcontroller, an external Analog-to-Digital converter, a CAN controller and a CAN transceiver. The CAN packets are received by a single receiver node and stored to a Secure Digital (SD) card. The receiver node consists of a 2 Mega32s, a CAN controller, a CAN transceiver, and a SD card. The goal of the project was to create a system which can record 32 10 bit ADC channels recorded by 4 Mega32s and transmitted over the CAN bus. In addition, the system should be expandable to accept CAN packets sent from other modules, such as an ECM or a standalone O2 unit. 500 Hz on the 32 AD channels was set as a goal for sampling frequency.



more information Data Acquisition System With CAN and SD Card

Voiceless Phone Call - Bridging thoughts to voice

The future of communication is here, From telegram to telephone and telephone to mobile and now Ambient Corporation has demonstrated a "voiceless" phone call. The call was made using a neckband called Audeo, which translates thoughts into speech by intercepting nerve signals. Although the device's recognition abilities are currently limited to 150 words, is the company predicts it will be fully functional by the end of the year. Possible applications range from helping the disabled to performing discreet phone calls in public places. The Audeo, based on ultra-low power MSP430 microcontroller (MCU) technology from Texas Instruments Inc.

Michel Callahan says that the production of nerve signals for the Audeo requires "a level above thinking", meaning a conscious effort must be taken. A user must think specifically about voicing his words, or the Audeo will not intercept the signals. The new device has previously been used by handicapped people who were able to control wheelchairs using their thoughts.

The Audeo is a wireless sensor worn on the neck to capture neurological activity that the brain sends to the vocal cords, and then digitizes this activity using analog and digital technology to turn it into speech. Thanks to the extremely low power consumption of TI's MSP430 MCUs, the Audeo can last over eight hours on a single charge, giving people the ability to interact with their world knowing they will be able to communicate.



[ Source: Texas Instruments ]

Intelligent Alarm Clock

You all have been using alarm clocks in your room to wake up in morning, Normal alarm clock just rings and wake you up that's all. But this Intelligent Alarm clock not only wakes you up but also make sure that are you really up from your bed or left the room? Isn't that intelligent? Not only this but this clock has feature of programming wake up audio messages from PC.

This clock connects to the computer using a serial connection. Project uses a force sensor lies under the pillow to detect whether user is on bed and a pair of laser-diode sensors to detect if user has left the room or not. It also uses TTS256 a speech encoder which converts ascii text to speech followed by a 2-pole low-pass filter before being passed into an audio amplifier (using LM386).



Author of this project are just not stopping here, they have already made a list of advancements they want to make.

wrote ...
We vision that with future alarm clocks, oversleeping will be a thing of the past as the alarm clocks will be able sense whether the user has truly woken up. Also, while most alarm clocks today only serve to wake the user in the morning, future alarm clocks will be able to remind the user of various events in the day. Hence, we developed a next-generation alarm clock which can be programmed from the computer to speak customized alarms, sense whether the user is truly awake and detect whether the user is in the room.


[ Read More: Intelligent Alarm Clock ]