As a class project, implement an internet0 communications device and

Create a display using an LCD or an analog TV

 

 

 

Internet0 transceiver

What is Internet0

 

Internet0 is a project by Neil Gershenfield, Raffi Krikorian and Dany Cohen (see Bringing IP to the leaf node, Raffi's talk delivered at the 2003 O'Reilly Emerging Technology Conference ). The concept is a new network of physical objectsthat are IP enabled. Any items we use in everyday life would have the ability to communicate in IP, and thus send data over the internet in a standardized manner, without considerable electronics or cost.

Class Project

 

As a class project, we are going to create a small very simple internet0 transceiver device. When a button is pressed, a know sequence of clicks will be encoded/ decded, encapsulated in an IP packet and sent to a computer by serial port.

 

 

Project Description

The main elements of the project are:

  • Transmission:

to send a UDP internet0 protocol. Implementation:
o A circuit board with a Tiny15
o Assembly code to send the protocol
o Lines for power and signal
o An LED to troubleshooting and to indicate transmission

  • Reception:

Translate the clicks to bits

  • PC Communication:

A program in Python that receives information from the serial port and transmit this into the internet

 

Group Assignment

Level Converter

Since I ended up groupless, I worked a little with the click encoding group. I made a level converter that steps up the voltage coming out of the ATMega32 from 0-5 volts to -12 to 12 volts, which are the levels neede for RS232 communication. In RS232, a 1 is a -12V and a 0 is a 12V. The level converter board (from Simon Schiessel's cockroach) and schematic is shown on the right

The level converter uses the MAX202 chip with 5 0.1uF capacitors. It steps up the voltage and does the inverting so the communication works two way

We were having some problems with the transmitting board giving just a 1V amplitude. The computer was not receiving anything from the serial port, but we could detect it on a scope.

After checking that the level converter was working fine, we did some debugging to find that the voltage drop was coming from a resistor and diode in the transmitting board. We removed them, and the sending to the PC worked fine. However, the information sent was wrong. We were receiving 8 bits, but instead of them being a hello all of them were an (192)] eight times

the level converter schematic

the level converter board layout (top of RS232 is on the top of the picture)

 

Final Result

LCD Display
 

The microcontroller circuit is based on Simon Schiessl's cockroach, it uses a HD44780 based LCD display and the Lantronix Xport to become ethernet enabled.

We can remote login to the circuit and feed it sentences that are parsed, processed and fed to the LCD by the C program loaded on the AVR.

The Cockroach uses an ATMega32L, the schematic, board layout and description of the Cockroach can be found here.

The Lantronix XPort is an embeded device server that ethernet enables the cockroach, provides HTTP, Serial, Telnet and SNMP management.

The LCD Display is a 2 x 16 alphanumeric LCD display that uses the Hitachi HD44780 LCD controller. Text is displayed scrolling text (like a ticker), as seen in the picture below.

Scrolling message on the LCD display

Hitachi HD44780 datasheet

The LCD AVR program uses Procyon's avrlib commandline and lcd libraries. This is a very good library for AVRs and provides samples code for various purposes.

I used this setup to implement SPAM. Do you swallow?, a project for the Computing Culture Group at the Media Lab.