Basic overview of various PIC families and introduction to PIC18F4550.
Start developing code for PIC18F4550 using MPLABX IDE.
PIC18F4550 has a 10-bit internal ADC with 13 input channels.
USART (Universal Synchronous Asynchronous Receiver Transmitter) module in PIC18F4550 is used for communicating with many devices serially.
PIC18F4550 has three 16-bit and one 8-bit timer. The timer is generally used for delay generation or event counting.
Capture mode in PIC is widely used to capture the time of an event occurrence. PIC18F4550 has two capture modules.
PIC18F4550 has an internal compare mode which is used to generate a waveform with various duty cycles also used to trigger an event.
Pulse Width Modulation (PWM) is a technique by which the width of a pulse is varied while keeping the frequency constant. PWM is generally used to control the speed of the DC motors or servo motors.
PIC18F4550 has 256 Byte EEPROM non-volatile memory which is used to store data.
The external interrupt is a mechanism for devices that interrupts the controller to get the attention of the controller. Here we are going to toggle LED using a switch as an external interrupt.
I2C (Inter-Integrated Circuit) is a multi-master, multi-slave serial protocol which is used to communicate with low speed devices like EEPROM, RTC, Microcontrollers, some sensor modules like Gyro MPU, Magnetometer, etc. I2C needs only Two wire for communication.
Serial Peripheral Interface (SPI) is a communication protocol used by the microcontroller for communicating with one or more devices serially over short distance. It is used to communicate with devices like SD card, EEPROM, Nokia display, and also communication between two microcontrollers, etc.
Watchdog Timer (WDT) is a hardware timer which automatically resets the system when its timeout period exceeds. It is mostly used in Real-Time Applications.
Sleep mode is a mode in which PIC18F4550 will put itself in low power consumption state to save power.
Bluetooth is a wireless communication protocol used to communicate over short distances. Here we design a smartphone-controlled LED using the HC-05 Bluetooth module.
XBee is a radio module developed by Digi International. It is a popular wireless transceiver used to send or receive data.
Transmission Control Protocol (TCP) is a standard transport layer internet protocol in between server and client. Using the SIM900A GPRS module, we can implement TCP server/client over GPRS for IoT applications.
ESP8266 is Wi-Fi enabled system on chip (SoC) module developed by Espressif system. It is mostly used for the development of IoT (Internet of Things) embedded applications.
Hypertext Transfer Protocol (HTTP) is a standard application layer protocol in between server and client. Using the SIM900A GPRS module, we can implement HTTP server/client over GPRS for IoT applications.
MQTT (Message Queue Telemetry Transport) is a lightweight messaging protocol that is built on TCP protocol. Using the SIM900A GPRS module, we can implement MQTT server/client over GPRS for IoT applications.
LCD16x2 has two lines with 16 characters in each line. LCD16x2 generally used for displaying parameter values and string in an embedded applications.
LCD16x2 can be interfaced by using 4 data lines, which saves GPIO pins.
LCD16x2 can display user-defined custom characters. This can be used for displaying symbols and different patterns.
Nokia5110 is a 48x84 dot LCD display with Serial Peripheral Interface (SPI) Connectivity. It was designed for cell phones, also used in embedded applications.
GLCD 128x64 is a Graphical LCD having a 128x64 pixel resolution. It is used to display custom character, values, text with different fonts, binary images.
The ultrasonic module HC-SR04 is generally used for finding distance value and obstacle detection. It can operate in the range of 2-400cm.
Interface single wire DHT11 sensor with PIC18F4550 and read the value of Temperature and Humidity from DHT11. Display these Temperature and Humidity values on a 16x2 LCD.
PIR motion sensor senses the Infrared signal radiated from moving human or animal body. It is generally used to detect the motions of human or animal.
LM35 is a sensor that is used to measure temperature. It provides an electrical output proportional to the temperature (in Celsius).
Magnetometer HMC5883L is developed by Honeywell which gives heading directions. A magnetometer is used as a compass in Mobiles Phones, Navigation systems in vehicles to indicate directions.
The Accelerometer ADXL335 sensor measures the acceleration of gravity. It is used to measure the angle of tilt or inclination in application systems such as in mobile devices, gaming applications, Laptops, digital cameras, Airplanes etc.
MPU6050 (Gyroscope + Accelerometer + Temperature) is a combination of a 3-axis Gyroscope, 3-axis Accelerometer, and Temperature sensor with an onboard Digital Motion Processor (DMP). It is used in mobile devices, motion enabled games, 3D mice, Gesture (motion command) technology, etc.
A thermocouple is a device consisting of two dissimilar metals connected together creating a junction that is used for measuring the temperature.
A thermistor is a type of resistor whose resistance changes in accordance with the change in temperature. It is used to measure the temperature over a small range typically -100 °C to 300 °C.
EM18 RFID reader module is used to read 125 kHz RFID card wirelessly for a very short distance. It is generally used in applications like attendance system, access management, tracking of goods, etc.
It is an input device used to control the pointer movement in the 2-dimension axis. Generally, the joystick is used for getting angular movements.
The keypad is an input device which generally used in applications such as calculator, ATM machines, computer,s etc.
Interfaced GPS receiver module with PIC18F4550 and display the Time, Latitude, Longitude, and Altitude on LCD20x4 display. PIC18F4550 read the data serially from the GPS receiver using USART communication with 9600 Baud rate.
SIM900A GSM module is a communication device which is used to make or receive calls, send or receive SMS, connecting to the internet over GPRS.
DS1307 is a two-wire (I2C) serial interface RTC (Real Time Clock) with 56 bytes of nonvolatile RAM. This provides clock and calendar with a second, minute, hour, day, date, month, and year.
Servo motor is an electromechanical device that consists of a Motor, Gear assembly, and feedback circuitry. It is used in Robotics applications, airplanes, rudders, quadcopters, etc.
DC Motor is a device that converts electrical energy into mechanical energy. It is used in the robotics field, toys, quadcopters etc.
Interface stepper motor with PIC18F4550 to rotate it 360° clockwise by half step sequence and 360° anticlockwise by full step sequence. Here, ULN2003 driver is used to driving a stepper motor.