Hardware Reference
In-Depth Information
however, but for the wily hacker, these can be made much more cheaply using standard electronic components using
instructions found on the Web or in various topics, such as Extreme NXT . 6
Where LEGO Mindstorms excels is its ability to rapidly prototype hardware that can be controlled by the
computer, as well as remote sensors that can relay information back to it. This provides a method whereby the
computer's state can be demonstrated by something in the real world. Similarly, it allows the real world to be
understood, to some degree, by the computer.
Home automation is full of ideas, and not all of them have the staying power to enhance your living once their
novelty has worn off. This makes LEGO perfect as a means of building proof-of-concept hardware before devoting
time and money on PIC chips, motors, and cases that will be used for only one project. Here are some ideas:
u
Create a robot that waves, or gestures, when an e-mail, private instant message, or phone call
is received
u
Use the LCD on the NXT processor block to relay information, such as weather
u
Create a robot to open the fridge and bring beer into the living room
7
u
Create a Bluetooth gateway for sensors and devices around the house (for a cat flap or
pressure mats)
The handling of each sensor and motor is very simple because it's just a matter of programming, using one of
the available Linux environments, such as leJOS NXJ (Java for LEGO Mindstorms) or NXC (Not eXactly C). There are
topics and web articles abound on the subject, including this useful start point: http://www.eggwall.com/2011/08/
lego-nxt-mindstorm-with-linux.html .
Arduino as an I/O Device
The Arduino and its many clones and variants are microcontroller boards that you can think of as grown-up LEGO—it
provides a simple way of interfacing the real world with the computer, handling basic processing tasks on a chip
(instead of in software), and working with hardware motors and sensors.
There are currently 16 forms of Arduino, based on a simple microcontroller, but the most popular development
version is now the Arduino Diecimilanove based on the ATmega168 chip, although this is being superseded by the
Arduino Uno using the ATmega328. It supports 14 digital pins that can be configured as either input or output and
6 analog inputs. The missing part here is analog output , which can be provided by using pulse width modulation
(PWM 8 ) on 6 of the 14 existing digital outputs or with additional electronics. Power can be provided by the USB port,
by a power socket, or by connecting the wires from a battery clip to the board. An onboard jumper is used to switch
between USB and external power sources.
To those used to large machines, the specification of the Arduino's chipset appears rather small:
u
14KB of available Flash memory (30KB on the ATMega328 versions), for software
u
2KB of Flash memory, used by the bootloader
u
1KB of SRAM memory (2KB on the ATMega328 versions), for data
u
512 bytes of EEPROM (1KB on the ATMega328 versions), for permanent data; acts like a mini
hard disk
u
16MHz clock speed
&ORMALLYCALLED %XTREME.84%XTENDINGTHE,%'/-).$34/2-3.84TOTHE.EXT,EVEL )3".
4HISISADIFFICULTONETOBUILDBYTHEWAYBECAUSETHESUCTIONONMOSTFRIDGEDOORSISMOREPOWERFULTHANTHE,%'/MOTORS
07-ISWHERETHEDIGITALOUTPUTVOLTAGEISSWITCHEDBETWEENHIGHANDLOWSOTHATTHEAVERAGEVOLTAGEOVERTIMEISSOMEWHERE
BETWEENTHETWO.OTALLHARDWARECANBEPOWEREDLIKETHISHOWEVERBUTITISACHEAPCOMPROMISE
Search WWH ::




Custom Search