Hardware Components - Serial Interface

circuit

Parts

  • 2 Arduino Megas
  • 2 74HC74 - dual
  • 2 74HC86 - quad XOR logic
  • 2 Green LEDs
  • 2 Yellow LEDs
  • 2 Red LEDs
  • 2 Push Buttons
  • 2 10k ohm resistors for the buttons
  • 2 Resistor pack - 330 ohms for LEDs
  • 2 breadboards
  • 1 3-wire cable 20AWG-twisted
  • 3 5V power (boards/Arduinos)
  • 2 I2C LCD displays

Description

There is a 2amp/5volt power supply for the boards and LCD displays. That's more than needed, but the Arduinos supply about 500ma. The LCDs need more. The only must do is a ground wire between all the devices to the Arduino grounds to keep all signals referened to the same level.

We are reading a string variable in the Tx code one character at a time and also getting the binary value for each ASCII character. The message is displayed on the first line of the LCD. The binary value is displayed each bit at a time on the second line. The cursor follows along on the first line. The "1" are counted. If an odd number results, the parity LED is lit. One each clock pulse is sent to the receiver to emit the parity value - high for odd, low for even. The data line is forced low at the end to be ready for a new message if it happens to by high from the parity transmission.


Slides for the project -

(click on slide to enlarge)

num1 num2 num3 num4 num5 num6 num7 num8 num9
×

Title

title
×

ASCII Chart

ASCII
×

Data/Clock timing

Timing
×

Data/Clock Waveforms

Waveforms
×

Interference

Interference
×

Parity Circuit

Parity Circuit
×

Receiver Code

Receiver Code
×

Receiver Code part 2

Receiver Code part 2
×

Transmit Code

Transmit Code