labs.beatcraft.com
BC-USB-Kit
BC-USB-Kit/Tutorials

Tutorial3

Making a breadboard useful

Create a simple electronic circuit, using a breadboard. Then, control it from PIC.

Preparation

  • Breadboard
    You can use any breadboard, and you can purchase breadboards from the net, such as here and here.
    In this article, the breadboard shown in the picture below is used.

    T3_BB.jpg
  • Cable
    This cable is used for connecting PICKit 3 to the breadboard.
    Please read BC-USB-Kit Manual about the pin assignments.
    On BC-USB-Kit, the pin headers from #1 to #5 at J1 are identical to the pin-headers at J2.
    (J2 is located at the opposite end of the USB connector.)

    T3_cable.jpg T3_PK.jpg
  • Other parts
    An LED, a resistor, and a cable

Creating a simple electronic circuit

The outputs from GPIO controll the tuning-on/off of the LED.
RA0, the 23rd-pin at J1, is used.~ The 14th-pin at J1 is used as GND since the location of the pin is easy to access and to be identifiable.~ Please accordingly set the LED, resistor, and cable in the breadboard as they are shown in the picture below.
Please be careful with the direction of the LED as you are going to insert it into the breadboard.
The longer leg of LED is attached to BC-USB-Kit.

T3_LED.jpg

Preparation of the software

This is the contents of "main.c."

#include <stdio.h>
#include <stdlib.h>
#include <system.h>

#define LED_ON_BB LATAbits.LATA0
#define LED_TRIS_ON_BB TRISAbits.TRISA0

int main(int argc, char** argv) {
     int onboard = 0;
     SYSTEM_Initialize(SYSTEM_STATE_START);
     LED_TRIS_ON_BB = 0;

     while (1){
          if (onboard>0){
               LED_Off(LED_D1);
               LED_ON_BB = 1;
          }else{
               LED_ON_BB = 0;
               LED_On(LED_D1);
          }

          if ( BUTTON_IsPressed(BUTTON_S1) ){
               onboard =! onboard;
          }
     }
     return (EXIT_SUCCESS);
}

To learn programming, please do not try to memorize whole code as it is, but please understand the structure and meaning of the code.
In this code, the critical part is that initially TRISAbits.TRISA0 is set to 0 (zero), then, it is set to the output.
The other important part is that when LATAbits.LATA0 is set to 1, an LED lights up, and when it is set to 0, the LED turns off.

Testing

If there are no problems, each time you press the user programmable button, the other LED lights up.

Revision History

  • 2015-04-21 This article is initially published.

Attach file: fileT3_LED.jpg 1203 download [Information] fileT3_PK.jpg 1195 download [Information] fileT3_cable.jpg 1272 download [Information] fileT3_BB.jpg 1247 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes
Last-modified: 2015-04-21 (Tue) 05:04:13 (3292d)