PPIC IC DDevelopment Board Ultra 2 IC + Arduino UNO USER'S GUIDE WIDE.HK page 2 PIC Development Board Ultra 2 Table of content Introduction Connectivity Introduction to PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . .03 PIC sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 04 Full I/O with LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15 Key features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . It’s good to know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 05 Create MPLAB Project + install software. . . . . . . . . . 06-08 Arduino & Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 09 Displays LCD 2x16 characters . . . . . . . . . . . . . . . . . . . . . . . . . .16 GLCD KS0108 128x64. . . . . . . . . . . . . . . . . . . . . . . . 17 Setting 0.96” OLED 128x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Switches for MCU / Reset . . . . . . . . . . . . . . . . . . . . . 10 8 digit 7-seg display . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Modules Programming On-board programmer . . . . . . . . . . . . . . . . . . . . . . . . 11 Oscillator / ICSP Jumper . . . . . . . . . . . . . . . . . . . . . . .12 DS18B20 - Digital Temperature Sensor . . . . . . . . . . . 20 . 4x4 Keypad Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4x ADC inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Power Supply I2C EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 DS1307 Real-Time Clock . . . . . . . . . . . . .. . . . . . . . . 24 IrDA Infrared Radiation Receiver . . . . . . . . . . . . . . . . 25 USB Communication Stepper Motoer in Unipolar . . . . . . . . . . . . . . . . . . . . 26 PIC UART via USB UART. . . . . . . . . . . . . . . . . . . . . . 14 RC Servo motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 PIC via USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 DC motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Piezo Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 PS/2 Communication Interface . . . . . . . . . . . . . . . . . 29 NTSC Video-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Accelermeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 MMC / SD PROTO. . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Dual power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Information Examples / Chip information . . . . . . . . . . . . . . . . . . . WIDE.HK 31 page 3 PIC Development Board Ultra 2 Introduction to PIC Development Board Ultra 2 The PIC Development Board Ultra 2 provided a economy and high performance development environment for students and professional , the development board possess more function for different requirement , and to broaden the current life needed. The PIC is base on CCS environment and a few example for Microchip C18 language to study , we hope you can satisfaction of the develop of the hardware in the future. WIDE.HK 4 page PIC Development Board Ultra 2 Key features 5 1 11 28 15 23 24 33 17 18 19 20 21 22 8 9 12 16 14 7 3 2 4 6 29 13 34 25 10 28 31 32 26 30 27 Key Features 1. Power supply voltage regulator 2. On-board PIC programmer USB module 3. External debugger (ICD3) connector / PICKit2/3 4. USB-UART communication module / Arduino programmer 5. PS/2 Keyboard module 6. LED I/O switches 7. PIC UART jumper 8. DC-Motor module 9. Stepper Motor module 10. Full PIC16/24 I/O Port 11. Reset button / Servo motor 4x 12. Modules switches to enable pull-up/pull-down 13. 48x LEDs to indicate pins’ logic state 14. NTSC module 15. 30x PIC Push buttons inputs 16. 3-Axis Accelermeter module 17. DS1307 real-time clock module 18. IrDA Infrared Radiation Receiver 19. DS1820 temperature sensor module 20. Speaker module 21. I2C 24C16/LC16 EEPROMs 22. Keypad 4x4 23. 3x Oscillator for PIC16*/24 24. SD-Card Module with LEDs 25. 128x64 graphic LCD display(Or TFT) , 0.96 oLED 26. Seven Segment / 16x2 LCD display 27. 4x Touch pad (For additional experiment) 28. PIC16 microcontroller sockets 29. PIC24 microcontroller sockets (DIP28/40) 30. 4x A/D converter inputs 31. LCD I/O jumper 32. Arduino UNO 33. Ext. Port for additional module (eg. Bluetooth) 34. 2x LCD Contrast Potentiometer Copyright and trademarks Copyright © 2014 WIDE.HK Microchip and dsPIC are registered marks of Microchip in the USA and other countries. This document applies to PIC Development Ultra 2 hardware revision V6.0 WIDE.HK page 5 PIC Development Board Ultra 2 It’s good to know The PIC development boards were equipped with PIC16® as the default chip. Now we are giving you standared chip for user, PIC16F877A is the default chip of PIC Ultra 2+ , It has 8K bytes of linear program memory, 256 bytes of linear data memory, and support for a power supply from 1.8V to 5V. It’s loaded with great modules: 32 General purpose I/O pins, 5 Analog Input pins (AD), 10-bit, up to 8-channel Analog-to-Digital Converter (A/D). It also has pair of CCP, 2 Comparators tors and MSSP modules (which can be either SPI or I2C). ). High Performance, Low Power Atmel®AVR® 8-Bit Microcontroller Family Atmega328P is the default chip of Arduino UNO, it has a 32K bytes flash memory, 1k bytes EEPROM , 20 MIPS Throughput at 20MHz, 23 General purpose I/O pins, 6x PWM Channels, I2C and SPI. Power supply 7–20V AC or 9–25V DC or via USB cable (5V DC) M Modules Up to 12 Modules for all Testing Board dimensions 300 x 188mm (30x18.8cm) Weight ~325g (0.712 lbs) Package contains CD-ROM : 1) Manual / Schematics 2) Software / Example PCB color : RED / Purple MCU : 1) PIC16F877A (on-Board) x1 2) Atmega328 (on-Board) x1 Accessories contains 1602 LCD Display x1 0.96” 128x64 OLED x1 WIDE.HK Dupont wire x 20 8 Channel IR Remote PIC Development Board Ultra 2 Create MPLAB project 1) Install MPLAB from CD-ROM Develop Tools of “MPLAB_IDE_8_88 ” *Install MPLAB-X from CD-ROM if possible* 2) Install C18 & C30 tools from “Comiler ” folder 3) Install CCS_PCWHD_4.184 4) Setup the PICkit 2 from CD-ROM 5) Click the MPLAB ICON from desktop 6) Click the Project WIZARD Microchip MPLAB page 6 7) Click the “NEXT” 8)Select the PIC Device PIC16F877A or PIC18F46K20 C18F46K20 9) Click the “Micrichip C18 Toolsuite 10) Select the ”MPLAB C18 Compiler(mcc18.exe( 18.exe( v3.46) v3.46 “ v3. and Click ”Next” WIDE.HK page 7 PIC Development Board Ultra 2 Create MPLAB project 13) Input the MPLAB Projector path , read the example as below and click “SAVE” 14) CLick “Next” WIDE.HK Microchip MPLAB 11) First , please copy the example from your CD-ROM to you PC , such as : “C: drive” 12) Click the “Browse” of selection page 8 PIC Development Board Ultra 2 Create MPLAB project 15) Select your exmaple and “ADD>>” to your created proejct (Example as below) 16) Click the “Next” and “Finished” 15) Successful and you can click the build the output the *.hex file **PS : (User also can be select the programmer and PICKIT2, BUT IT IS NOT A FULL HARDWARE SUPPORT FOR ALL PIC DEVICES, so you may need a *.hex file and load from PICKIT2 software after you compiler.) WIDE.HK page 9 PIC Development Board Ultra 2 Arduino & Hardware 1) Install “ arduino-1.5.6-r2-windows.exe” from CD-ROM Arduino folder ** P.S You can be copy the “arduino-0023” folder to your P.C without install, it is old version but compatible all example. 2) The Arduino exmaple is contains a libraries such as *.c or *.h , User must under the arduino libraries folder to create a example folder for it, and copy the *.c or *.h to your example BEFORE to open the Arduino Software. WIDE.HK page 10 PIC Development Board Ultra 2 Switches for MCU / Reset Switches TO MCU (RESET/MCLR) to A rduino The purpose of the protective resistor is to limit maximum current thus preventing a short circuit from occurring. Just next to the push buttons, there is a RESET button which is not connected to the MCLR pin. RESET R55 RESET 330R GND R56 VCC 10K The switches can connected to MCU with modules when you pull up. Reset Button for MCU devices To modules VR1 (ADC) VR2 (ADC) VR3 (ADC) VR4 (ADC) Stepper (A) Stepper (B) Stepper (C) Stepper (D) VCC To modules PS2(CLK) PS2(DAT) NTSC(OSC) NTSC(OSC) DC motor +1 DC motor +2 Enable 18F_J Enable USB Switch for Devices and I/O To I/O LEDs Switch 5V 3.3V MCU VCC Select the voltage for PIC. To MCU I/O 7 8 RA0 RA1 RA2 RA3 RC0 RC1 RC2 RC3 PIC10/12/16/18 PIC24 7 8 RB0 RB1 RA4 RB4 RA1 RA0 Vcap(18J) VUSB(RC3) [ RA RB RC RD RE B2 B3 RA4 7 8 To MCU I/O To MCU I/O VCC 28pin RA5 40pin RA5 Switches have a few function to PIC MCU , such as LEDs , PS2, NTSC, DC Motor, 18F_J, ADC, Stepper and Enable function of PIC USB, so select you needed and pull up. WIDE.HK page 11 PIC Development Board Ultra 2 Programming Connected with PIC programmer Two Programmer available at same time connected to PC , the black USB can be connected to MCU directly such as 18F2550 USB interface with UART. PIC Chip type selector : Left (DIP40/28/18) Right (DIP20/14/8) How to Connect with Arduino? TX LED lights is send data RX LED lights is receive data ACT (Active) LED lights up when PC is connected. USB Module (RX and TX) Driver ! **User might need to install UART USB driver, the driver in CD-ROM > develop tools > UART driver For 32bit : Installer_x86.exe For 64bit : Installer_x64.exe For MacOS : USBDriverDisk.dmg WIDE.HK page 12 PIC Development Board Ultra 2 Oscillator / ICSP jumper Oscillator FOR PIC24 USING *RTCC RA4 RB4 32.768kHZ *For PIC DIP18 DIP28 , DIP40 *For PIC DIP20 , DIP14 ,DIP8 OSCB_2 FOR PIC24 USING RA2 RA7 RA6 OSCA_2 RA4 RA5 RA3 OSCA_1 OSCB_1 OSCC OSCB OSCA FOR PIC Porgrammer such as PICKIT2/ICD3 ICD (VPP) On-Board Programmer On-Board Programmer 24F (PGD) 24F (PGC) MCU (VPP) ICSP Pin ICD (PGC) MCU (PGC) On-Board Programmer Vpp/ MCLR VSS/ GND PGC/ ICSP_CLK Vcc +5V PGD/ ICSP_DAT N/A WIDE.HK MCU (PGD) ICD (PGD) The jumper for you connect internal programmer or External , Such as additional ICD3 Debug Tools page 13 PIC Development Board Ultra 2 Power Supply Dual Power Board contains switching power supply that creates stable voltage and current levels necessary for powering each part of theboard. Power supply section contains two power regulators: MC34063A which generates VCC-5V, and ASM117-3.3 which creates VCC-3.3V power . Supply Select USB Power ON/OFF SWITCH1 3 DC. 5.0v 1 3 2 1 VCC Ext Power R38 R36 E3 3K 1,7,8 J1 DC 9-20V 2 3 1 1 4 U3 3 100uF L2 110uH 4.7R 5 V in 3.3v GND 6 U1 C20 0.1uF 3 220P ASM1 117-3.3 2 V in Vout GND 1 D2 C18 2 4 U2 3 MC34063A E3 C19 0.1uF E2 100uF 100uF GND GND GND GND GND GND GND GND The board can be powered in Two different ways: with USB power supply , or external adapter voltage levels must be in range of 9-12V DC or 9-20V AC. Use switch to specify which power source you are using 5V or 3.3V . Upon providing the power using either external Supply or USB power source you can turn on power supply by using SWITCH Power LED will indicate the presence of power supply. * MCU POWER SUPPLY For Standard o r nanoWatt XLP TO MCU 3.3V C30 3 1 2 VCC Jumper 0.1uF 0.1uF GND WIDE.HK C29 page 14 PIC Development Board Ultra 2 USBCommunication Jumper for UART to MCU, eg 1. PIC16F877A is RC7 and RC6 eg 1. PIC16F88 is RB2 and RB5 Fig 14.2 Fig 14.1 PIC UART via USB UART DC. 5.0v USB_VCC VCC 7,8 VCC 5 USB D- U A RT E xt.U SB USB Type A RN8 1K RN8 1K TX LED 11 1 RX LED 26 D- RC4 D+ RC5 + GND 25 4 USB D+ 3 1 2 JUMPER GND to RXD to TXD VCC Vcc Pin 1 : VCC 5V Pin 4 : GND to MCU Jumper RN8 1K PWR RC0 RC1 RC2 RC3 D2 Fig 14.1 PIC via USB * Closed the jumper to Ext.USB and enable the USB port function with PIC such as 18F4550 or 18F2550... 1 4 GND 3 D+ * Turn on the switch " Vusb " to enable usb devices PIC(RC3) RC4 2 JUMPER WIDE.HK 7 8 D- RC5 D+ RC6 RC7 C32 0.47u 3 Switch page 15 PIC Development Board Ultra 2 Connectivity Fig 15.1 Fig 15.2 The board contains eleven DIP sockets: DIP40, DIP28, DIP20, DIP18A, DIP18B, DIP14, DIP8 and support for PIC10F MCUs. With dual power supply and smart on-board PIC Development board is capable of programming more microcontrollers from PIC10F, PIC12F, PIC16F, PIC18F, PIC18FJ , PIC18FK ,PIC24FJ, PIC24HJ and dsPIC33(28pin) families. There are two DIP18 sockets for PIC microcontrollers provided on the board - DIP18A and DIP18B. IMPORTANT: When using PIC18F2331 or PIC18F2431 microcontrollers it is necessary to place jumper, in order to route VCC power line to RA5 pin (Figure 15.3) Fig 15.3 PIC I/O with LEDS / Arduino PWM LEDs 1K 1K 1K 1K PIC24 PORT RE RA0 AVdd GND RA2 RB15 RB0 RB14 RB1 RB13 RB2 RB12 RB3 RB11 GND RB10 Cap RA3 C7 PIC24 AVdd RA0 RB25 RA1 RB24 RB0 RB23 RB1 RB22 RB4 GND RB9 RB2 RA4 RB8 RA16 Vdd 3.3v RB7 RB17 RB12 RB5 RB6 RA2 C13 44pin(PIC24FJ64GA004) dsPIC33FJ64GP802 RB15 RB14 RB3 C12 RB18 RB11 GND RB10 RA2 Cap RA3 RA8 RA7 RB4 RA4 PORT RB 1K PORT RC 1K R52 Vdd 3.3V PORT RD 1K RA9 RA10 RB5 RB21 C14 C12 D9 C9 D11 RA4 B3 PIC24 B2 RE RD RC RB Arduino PWM LEDs PORT RB (For PIC24/33F) WIDE.HK C11 C15 RB6 RB20 C10 PORT RB (For PIC24/33F) RB8 RB7 AVdd D5 D10 RB9 RB19 D3 D6 RB13 page 16 PIC Development Board Ultra 2 LCD 2x16 characters HD44780 VR5 Microchip Chip 10k Control to PIC 4Bit Data Jumper Setting :: E CS RW DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 3 PIC MCU Port - DATA BUS LCD Port or Connect to Arduino Fig 16.2 (For reference) Fig 16.1 Connector pinout explained Liquid Crystal Displays or LCDs are cheap and popular way of representing information to the end user of some electronic device. Character LCDs can be used to represent standard and custom characters in the predefined number of fields. PIC Ultra 2 provides the connector and the necessary interface for supporting 2x16 character LCDs in 4-bit mode. This type of display has two rows consisted of 16 character fields. Each field is a 7x5 pixel matrix. Communication with the display module is done through jumper connector. GND and VCC - Display power supply lines Vo - LCD contrast level from potentiometer P4 RS - Register Select Signal line E - Display Enable line R/W - Determines whether display is in Read or Write mode. It’s always connected to GND, leaving the display in Write mode all the time. D0–D3 - Display is supported in 4-bit data mode, so lower half of the data byte interface is connected to GND. D4–D7 - Upper half of the data byte Arduino Code : Example\Adrino UNO Example\03 4Bit_1602 LED+ - Connection with the back-light LED anode PIC Code : Example\PIC16_CCS Example\16F877A_CCS\03 Ex_1602 LED- - Connection with the back-light LED cathode WIDE.HK page 17 PIC Development Board Ultra 2 GLCD 128x64 KS0108 VR6 Microchip Chip to PIC Jumper Setting :: MCU Port DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 CS1 CS2 CS RW E RST to PIC - DATA BUS - LCD Port or Connect to Arduino ADC:RA0 WIDE.HK **The Pin port is compactable with EasyPIC5/6/7 and Example** Connector pinout explained Fig 17.1 Fig 17.2 (For reference) 1 /CS1 H/L CHIP SELECT SIGNAL FOR IC1 2 /CS2 H/L CHIP SELECT SIGNAL FOR IC2 3 VSS - 0V 4 VDD - +5V 5 VO - CONTRAST ADJ. 6 RS - Data (High), Instruction (Low) selection line 7 R/W H/L H:READ(LCD MPU) L:WRITE(MPU LCD) 8 E Display Enable line 9 DB0 H/L DATA BIT0 10 DB1 H/L DATA BIT1 11 DB2 H/L DATA BIT2 12 DB3 H/L DATA BIT3 13 DB4 H/L DATA BIT4 14 DB5 H/L DATA BIT5 15 DB6 H/L DATA BIT6 16 DB7 H/L DATA BIT7 17 RST L RESET SIGNAL 18 VEE - Reference voltage for GLCD contrast 19 LED+ - Connection with the back-light LED anode 20 LED- - Connection with the back-light LED cathode Graphical Liquid Crystal Displays, or GLCDs are used to display monochromatic graphical content, such as text, images, human-machine interfaces and other content. The GLCD with resolution of 128x64 pixels, driven by the KS0108 or compatible display controller. Arduino Code : Example\Adrino UNO Example\02 KS0108 PIC Code : Example\PIC16_CCS Example\16F877A_CCS\02 Ex_12864(KS0108) WIDE.HK page 18 PIC Development Board Ultra 2 0.96 OLED 128x64 SSD1306 0.96 OLED Port SPI Mode to Arduino 5v | 3.3v D0 (SCLK) D1 (SDIN) D2 Vcc D3 WR D4 RD RD7 ICSP RS CS D5 RES D6 Vss D7 Vss RN28 10R RN28 10R Full 8080 I/O Mode to PIC Demo in SPI for PIC R51 1k RA5 RA4 RE0 RE1 RE2 Arduino RD0 RN28 10R 13 12 11 10 9 RN28 10R *Microchip PIC18F_ (The Example is SPI mode in CCS, because 16F877A is not enough the RAM) *Microchip PIC18F_K (The Example is SPI mode in C18) The Arduino Example can be plug the OLED module on the port to display the screen as a picture. If for PIC example, user might need to using 7 -wire for connected with a demo for testing, plug and play is not working in microchip (DM164134) C18 demo. The connection as below 1 CS >> RA7 2 RES >> RA4 3 RS >> RA5 4 D0 (SCL) >> RC3 5 D1 (SDA) >> RC5 WIDE.HK 6 VCC >> 3.3v / 5v 7 GND Arduino Code : Example\Adrino UNO Example\21 SSD1306 SPI_OLED PIC Code : Example\PIC18F_C18_Example\01 SPI SSD1306 OLED PIC CCS is not included. Pls reference Page33(Additional-Chip) page 19 PIC Development Board Ultra 2 8 digit 7-Seg display RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 DIG DIG1 A B C D E F G dp DIG8 1 2 3 4 5 6 7 8 Q1 - Q8 BC847 DIG1 DIG2 DIG3 DIG4 DIG5 DIG6 DIG7 DIG8 7-Segment A B C An cathode LED D E F G DP Details : Read a schematics(CD-ROM) One seven segment digit consist of 7+1 LEDs which are arranged in a specific formation which can be used to represent digits from 0 to 9 and even some letters. One additional LED is used for marking the decimal dot, in case you want to write a decimal point in the desired segment. PIC development Ultra 2 contains eight of these digits put together to form 8-digit 7-segment display. Driving such a display is done using multiplexing techniques. Data lines are shared between segments, and therefore the same segment LEDs in each digit are connected in parallel. Each digit has it’s unique digit select line. Arduino Code : Example\Adrino UNO Example\14 Segment PIC Code : Example\PIC16_CCS Example\16F877A_CCS\14 Ex_Segment WIDE.HK page 20 PIC Development Board Ultra 2 DS18B20 - Digital Temperature Sensor DS18B20 Arduino PIC R49 How to connect with Arduino? RB0 | RA0 DQ Pin 2 connect to ouput (DQ) DS18B20 Thermometer 2 1 0 Arduino ICSP The DS18B20 is the digital thermometer from Dallas Semicondutor (Maxim). It communicates with the microcontroller by the 1-Wire® interface. The temperatures from -55°C to 125°C with an accuracy of +/- 0.5°C. The DQ (data pin) is connected to the RA0 OR RB0 pin of the PIC16F877A microcontroller. The data pin should be connected to power supply through 10k pull-up resistor. Arduino Code : Example\Adrino UNO Example\05 DS18B20 PIC Code : Example\PIC16_CCS Example\16F877A_CCS\05 Ex_DS18B20_LCD Fig 20 DS1820 is a digital temperature sensor that uses 1-wire® interface for it’s operation. It is capable of measuring temperatures within the range of -55 to 128°C, and provides ±0.5°C accuracy for temperatures within the range of -10 to 85°C. It requires 3V to 5.5V power supply for stable operation. It takes maximum of 750ms for the DS1820 to calculate temperature with 9-bit resolution. 1-wire® serial communication enables data to be transferred over a single communication line, while the process itself is under the control of the master microcontroller. The advantage of such communication is that only one microcontroller pin is used. For arduino , connected DS18B20 (DQ)pin to arduino 2 pin, the LCD setting please reference the example code for it. WIDE.HK page 21 PIC Development Board Ultra 2 4x4 Matrix Keypad 4x4 Keypad PIC Mode RB0-3 (Col), RB4-7(ROW) For PIC PIN Microchip Chip RB 1 2 3 A 4 5 6 B 7 8 9 C RB0-3 RB4-7 COL ROW Jumper : Plug the 4x4 8 1 RN2 10K 8 1 VCC 5V [ VCC GND ** Please note the direction Arduino pin COLs Arduino D8 pin to Port RB0 pin Arduino D9 pin to Port RB1 pin Arduino D10 pin to Port RB2 pin Arduino D11 pin to Port RB3 pin ROWs Arduino A2 pin to Port RB4 pin Arduino A3 pin to Port RB5 pin Arduino A4 pin to Port RB6 pin Arduino A5 pin to Port RB7 pin Arduino Code : Example\Adrino UNO Example\12 4x4 Keypad_LCD1602 PIC Code : Example\PIC16_CCS Example\16F877A_CCS\12 Ex_4x4 Key WIDE.HK page 22 PIC Development Board Ultra 2 4x ADC inputs ADC RA0~RA3 is A/D input VCC VCC JUMPER VR4 VR4 VCC VCC VR3 VR3 Power In VCC VR2 VR1 ICSP Analog In 0 1 2 3 4 5 VCC VCC VR2 VCC Connected with wire to Arduino Analog in VR1 DIP40 package and A/D converter test inputs connection RA0~RA3 is A/D input DIP18A package and A/D converter test inputs connection RA0~RA3 is A/D input VCC VCC VR4 VR4 VCC VCC JUMPER VR3 VR3 VCC VCC JUMPER VR2 VR2 VCC VR1 DIP40 package and A/D converter test inputs connection VCC VR1 DIP28 package and A/D converter test inputs connection Digital signals have four discrete states, which are decoded as high and low, and interpreted as logic 1 and logic 0. Analog signals, on the other hand, are continuous, and can have any value within defined range. A/D converters are specialized circuits which can convert analog signals (voltages) into a digital representation, usually in form of an integer number. The value of this number is linearly dependent on the input voltage value. The A/D converter built into the microcontroller provided with the PIC development system converts an analog voltage value into a10-bit number. Voltages varying from 0V to 5V DC may be supplied through the A/D test inputs in VR0,VR1,VR2 and VR3 for Port RA0 to RA3. Arduino Code : Example\Adrino UNO Example\06 ADC_LCD1602 PIC Code : Example\PIC16_CCS Example\16F877A_CCS\06 Ex_ADC WIDE.HK page 23 PIC Development Board Ultra 2 I2C EEPROM I2C ™ EEPROMs VCC Vcc : 5V Full Operation 16k Bit A0 A1 WP [ PIC | Arduino ] 24LC16 A2 SCL (RC3 / A5) GND SDA (RC4 / A4) R63 4.7K R64 4.7K VCC 16K bit Electrically Erasable PROMs in ISO modules for smart card applications. The device is organized as four or eight blocks of 256 x 8-bit memory with a 2-wire serial interface. The 24LC16 also have a page-write capability for up to 16 bytes of data. EEPROM is short for Electrically Erasable Programmable Read Only Memory. It is usually a secondary storage memory in devices containing data that is retained even if the device looses power supply. Because of the ability to alter single bytes of data, EEPROM devices are used to store personal preference and configuration data in a wide spectrum of consumer, automotive, telecommunication, medical, industrial, and PC applications. EEPROM which uses I2C communication interface and has 16 kbytes of available memory. Board contains socket for serial EEPROMs in DIP8 packaging, so you can easily exchange it with different memory size EEPROM IC. EEPROM itself supports single byte or 16-byte (page) write and read operations. Data rate is 400 kHz for both 3.3V and 5V power supply. Arduino Code : Example\Adrino UNO Example\18 24C16 eeprom PIC Code : Example\PIC16_CCS Example\16F877A_CCS\18 Ex_RW_EEprom WIDE.HK page 24 PIC Development Board Ultra 2 DS1307 Real-Time Clock RTC Clock 32.768khz X1 X2 Vcc2 CR2032 3V Cell VCC DALLAS DS1307 GND DS1307 64 x 8, Serial, I2C Real-Time Clock [ PIC | Arduino ] SDL (RC3 / A5) SDA (RC4 / A4) R61/R62 4.7K VCC The DS1307 Serial Real Time Clock is a low power, full BCD clock/calendar plus 56 bytes of nonvolatile SRAM. Address and data are transferred serially via a 2-wire bi-directional bus. The clock/calendar provides seconds, minutes, hours, day, date, month, and year information. The RTC2 Board features the DS1307 serial real-time clock (RTC). It is a low-power, full binary-coded decimal (BCD) clock/calendar plus 56 bytes of NV SRAM. Timekeeping operation continues even when the power supply goes off as it is then powered from the backup supply. It is easily connected to standard prototyping boards. The board comes with the appropriate schematic and software examples. Arduino Code : Example\Adrino UNO Example\15 DS1307_LCD1602 PIC Code : Example\PIC16_CCS Example\16F877A_CCS\15 Ex_DS1307_LCD_UART WIDE.HK page 25 PIC Development Board Ultra 2 IrDA Infrared Radiation Receiver IrDA - Infrared radiation Infrared Data Association, a group of device manufacturers that developed a standard for transmitting data via infrared light waves. Increasingly, computers and other devices come with IrDA ports are PortB ,from RB0 to RB7 of 8 channel for LED example. IrDA Testing the Infrared radiation with 8 channel LED on RB0-RB7 & 10Mhz Microchip Chip RA0 Remote 38Khz GND OUT VCC Jumper RA0 *When running the IrDA infrared example Please disconnected the button jumper (Fig 25) for All. Even pullup/down , Vcc or GND. Arduino Example : Remote out = Arduino 8 pin Fig 25. WIDE.HK Arduino Code : Example\Adrino UNO Example\08 IrDA Receiver PIC Code : Example\PIC16_CCS Example\16F877A_CCS\08 Ex_IR Receiver page 26 PIC Development Board Ultra 2 Stepper Motoer in Unipolar Stepper Motor Jumper for PIC / Arduino Unipolar Stepper Motor Microchip Chip RC0/1/2/3 7 8 RC0 RC1 RC2 RC3 A> B> C> D> I N 1 Out1 I N 2 Out2 I N 3 Out3 +5v ~ 12v + I N 4 Out4 I N 5 Out5 I N 6 Out6 I N 7 Out7 Vcc R40 1K How to connect with Arduino? Vcc1 Vcc } } Coil Fig 26.1 Fig 26.2 Fig 26.3 There are 3 spare darlington pairs on the ULN2003 driver chip, and, with a pull-up resistor for each, these can serve as open-collector inverters to translate one or two switch settings into inputs appropriate for the CounterClockwise or Clockwise. It is support 2 model stepper 5-wire (Fig26.3( 28BYJ-48 step) or 6 wire (Fig26.2) and they are running or step is different. Arduino Code : Example\Adrino UNO Example\09 Stepper_ULN2003 PIC Code : Example\PIC16_CCS Example\16F877A_CCS\09 Ex_Stepper_Motor WIDE.HK page 27 PIC Development Board Ultra 2 RC Servo RC Servo A Servo is a small device that incorporates a three wire DC motor, a gear train, a potentiometer, an integrated circuit, and an output shaft bearing. Of the three wires that stick out from the motor casing, one is for power, one is for ground, and one is a control input line. The shaft of the servo can be positioned to specific angular positions by sending a coded signal. As long as the coded signal exists on the input line, the servo will maintain the angular position of the shaft. If the coded signal changes, then the angular position of the shaft changes. Servos are constructed from three basic pieces; a motor, a potentiometer (variable resister) that is connected to the output shaft, and a control board. The potentiometer allows the control circuitry to monitor the current angle of the servo motor RC0 RC1 RD0 RD1 SIG VCC GND How to connect with Arduino ? 1) Unplug the PIC Chip 2) Used cables connected to RC0...RD1 directly 4x Servo direct to PIC Fig 27.2 Fig 27.1 Arduino Code : Example\Adrino UNO Example\11 Servo_ADC PIC Code : Example\PIC16_CCS Example\16F877A_CCS\11 Ex_Servo WIDE.HK page 28 PIC Development Board Ultra 2 DC Motor / Piezo Buzzer DC Motor The L2722 is monolithic integrated circuits in minidip intended for use as power operational amplifiers in a wide range of applications including servo amplifiers and power supplies. Fig 28.1 Fig 28.2 Supply Voltage Vcc : 5V Full Operation VCC Supply Voltage for DC 5-12V D3 + + C17 100nf DC Motor D4 R67 10K - DC2722 - INPUT1 RA0 INPUT2 RA1 GND R68 10K Arduino Code : Example\Adrino UNO Example\10 DC Motor PIC Code : Example\PIC16_CCS Example\16F877A_CCS\10 Ex_DC_Motor Piezo Buzzer VCC PERSPECTIVE VIEW TOP VIEW PZ1 BUZZER BUZZER R48 RC2 10K Jumper Q11 2N8050 Buzzer starts "singing" when you provide PWM signal from the microcontroller to the buzzer driver. The pitch of the sound is determined by the frequency, and amplitude is determined by the duty cycle of the PWM signal. Arduino Code : Example\Adrino UNO Example\04 Buzzer PIC Code : Example\PIC16_CCS Example\16F877A_CCS\04 Ex_Buzzer WIDE.HK page 29 PIC Development Board Ultra 2 PS2 / NTSC Video PS/2 VCC R41 R42 10k 10k RB1 RB0 Jumper Fig 29.1 The PS/2 connector enables input units, such as keyboard and mouse, to be connected to the development system. In order to enable PS/2 communication, it is necessary to correctly switch to devices, thus connecting DATA and CLK lines to the microcontroller pins RB0 and RB1. Arduino is connect to Jumper and switch off the PS/2. Front View Bottom View Fig 29.2 Arduino Code : Example\Adrino UNO Example\19 PS2Keyboard PIC Code : Example\PIC16_CCS Example\16F877A_CCS\19 Ex_PS2_Keyboard NTSC Video-Out BC847 VCC GND 1A Q10 2B E4 100u 16v R58 3.3K R59 3.3K R60 4.7K + Fig 29.3 H R57 75R V RB10 RB11 PIC24FJ64GA002 The NTSC standard for television defines a composite video signal with a refresh rate of 60 half-frames (interlaced) per second. Each frame contains 525 lines and can contain 16 million different colors. RB10 and RB11 is for frequency. Arduino Code : Example\Adrino UNO Example\20 NTSC Video PIC Code : Example\PIC24_C30_Example\03 Ex_PIC24 NTSC-Video WIDE.HK page 30 PIC Development Board Ultra 2 SD PROTO MMC CARD READY R65 1K P P A MultiMedia Card (MMC) have been superseded by Secure Digital Cards (SD cards) lately, but they are still very popular and widely used because they can be utilized with most devices that support SD cards. The MMC/SD PROTO additional board enables data read/write between a 3.3V microcontroller and MMC/SD cards. Data transfer is performed via a standard Serial Peripheral Interface (SPI). Arduino Code : Example\Adrino UNO Example\19 PS2Keyboard PIC Code : Example\PIC16_CCS Example\16F877A_CCS\19 Ex_PS2_Keyboard Accelermeter ** Select 3.3V OR 5V for modules (it may damaged if wrong voltage, plese read a datasheet for modules before selected voltage) X Y Z VCC NC NC GND 3.3v 3.3v RA0 RA1 RA2 NC Y (RA1) NC GND GND GND Z Z (RA2) ST (SelfTest) ST X (RA0) 5V NC Y COM VCC ADXL3xx ST 3.3V X NC The board is a small smart sensor to measure acceleration within a range of 3g of 3 axes. To measure acceleration the Analog Devices ADXL3xx and a PIC16F877A microcontroller is used. The board has a expansion port, which can be used as a digital input and1602 LCD output *Module IS NOT Included Arduino Code : Example\Adrino UNO Example\07 ADXL3xx Accelerometer PIC Code : Example\PIC16_CCS Example\16F877A_CCS\07 EX_ADXL330 WIDE.HK page 31 PIC Development Board Ultra 2 Information Information Schematics : 1) Schematic_1.pdf 2) Schematic_2.pdf 3) Schematic_3.pdf 4) Schematic_4.pdf Datasheet : 1) Chip datasheet 2) LCD/GLCD/OLED Application : 1) Arduino Tools 2) MPLAB / PICkit2 Tools 3) CCS compiler Tools 4) UART Tools / Driver WIDE.HK DISCLAIMER This product is provided “as is”. ingenia-cat expressly disclaims any warranty of any kind, whether express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. In no event shall ingenia-cat be liable for any incidental, special, indirect or consequential damages, lost profits or lost data, harm to your equipment, cost of procurement of substitute goods, technology or services, any claims by third parties (including but not limited to any defense thereof), any claims for indemnity or contribution, or other similar costs. WIDE provides this manual ‘as is’ without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties or conditions of merchantability or fitness for a particular purpose. TRADEMARKS The WIDE name and logo, the WIDE logo, PIC Development Board Ultra 2™ are trademarks of WIDE.HK. All other trademarks mentioned herein are property of their respective companies. All other product and corporate names appearing in this manual may or may not be registered trademarks or copyrights of their respective companies, and are only used for identification or explanation and to the owners’ benefit, with no intent to infringe. W Copyright © WIDE.HK™, 2014, All Rights Reserved. Recommend using PIC18 CCS instead of PIC16F877A for DEMO WU-001 0.96 SSD1306 OLED $8.0 WU-002 4x4 Keypad $2.5 Additional Parts WU-003 2.8”ILI9325 TFT Display $18 WU-005 DC-Motor $3.5 WU-007 28BYJ-48 Stepper $3.5 WU-004 KS0108 128x64 GLCD $15 WU-006 MG995 Servo $8.5 WU-008 6-Wire Stepper OLED $5.5 * Recommend using PIC18 instead of PIC16F877A RAM size is more than 16F For 0.96 OLED SPI mode in CCS Demo PIC18F4550-DIP $5.0 * PIC18F4620-DIP $5.0 PIC18F4520-DIP $5.0 PIC18F452 -DIP $5.0 For microchip (DM164134) C18 Oled Demo PIC18F45K22-DIP $3.5 Additional Chip PIC18F2550-DIP $5.0 PIC24FJ64GA004 (40pin) $6.0 PIC18F46K20-DIP $3.5 PIC18F46K22-DIP $3.5 PIC24FJ64GA002-DIP $3.5 Bluetooth Module $9.5 PIC Android Module $9.5 Ethernet Module coming soon... note : WIDE.HK