Arduino to PIC Communication

Project Info
Author: Chris
Difficulty: Medium
Time Invested: 4 Hours

Prerequisites:
Take a look at the above
articles before continuing
to read this article.

           One very common thing in electronics is the need for two intelligent devices to communicate with each other. When you first see a PIC and Arduino you might think that they are two differeny systems and don't share much in common, but you'd be wrong! In fact, the AVR and the PIC microcontrollers have many of the same types of hardware modules and some of them follow the exact same protocols for communication.
           In this article, we will use a PIC 18LF4520 and an Arduino UNO to build a transmitter and receiver using some wireless modules. The PIC will output serial commands as a transmitter that tell the Arduino system to pause an LCD screen from updating a counter value. This project is intentionally designed to be simple because there are many simple ideas at play and it's important for you to understand each one.


Arduino to PIC Communication - Demonstration

Arduino to PIC Communication - Project Setup

Purpose & Overview Of This Project
           The goal of this article is to explain, design and build a serial communication transmitter and receiver. The transmitter will always transmit a specific 'idle' command until a button is pressed, which will tell the transmitter to transmit an 'active' command to the receiver. The Receiver will have a 16x2 LCD display connected to it and if the 'idle' command is detected, the display will be updated with a time count value. However, if the 'active' command is received, the Receiver system will stop updating the LCD screen to signify a pause.
           To build this system we will use XBee wireless modules which will transfer 9600 baud serial communication from transmitter to receiver. The transmitter will use a PIC 18LF4520, a 40 MHz crystal and a simple SPST button. The receiver will be a standard Arduino UNO with a 16x2 LCD Display connected to its digital I/O ports. Both of these designs will be built on a standard sized breadboards.