1
\$\begingroup\$

I signed up for a class on edX that involves microcontroller programming, and my kit arrived today so I wanted to start experimenting a bit, the only problem is, I have no clue how to connect the LaunchPad (TI Tiva C Series TM4C123GXL) to the breadboard. I was hoping to create a simple "traffic light" project, following Arduino Street Traffic Light - Breadboard Edition

The problem is that tutorial uses an Arduino. I see on the back of my LaunchPad there are several female headers marked PA#, PB#, PC#, PD#, PE#, PF#, 2 GNDs, RST, VBUS, and +3.3V.

I have a very (very) limited knowledge, so I know GND is ground and goes to the - column on the breadboard's voltage rail. Is there a difference which GND I connect? Do I need to connect the Reset, VBUS, or +3.3V pins? Are any of the P... pins similar to the digital out pins on the Arduino? I'm just trying to figure out which pins on the LaunchPad I need to connect to the breadboard.

I have extensive programming background, but hardware is a mythical beast to me, so if this should be obvious (or if what I was thinking is impossible) please forgive me.

\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

PX#, PBx, etc are Port X, Pin #. PA1 is Port A Pin 1.

You would need a ground connection (all grounds should be connected together internally, i.e. they are the same), and depending on how you want to connect your leds, either 3.3v or Ground, and the other end into a PX#. (VBUS is the USB 5v, and not all pins on the Tiva are 5v tolerant!)

For the most part, the Tiva is like the ATMega on an Arduino. But the Arduino provides more than just hardware, it also adds a level of software abstraction by hiding certain tasks in libraries, like the digitalwrite function, which enables an output pin to a high or low.

The nice part is, the Arduino Language has a great port to Texas Instruments Launchpads, called Energia. It works with the Tiva Launchpad (Essentially a renamed Stellaris Launchpad) as seen here: Guide to the Stellaris LaunchPad (EK-LM4F120XL)

enter image description here

A fair deal of beginner and intermediate Arduino projects can move over easily with little rewriting, including your Traffic Light project.

\$\endgroup\$
3
  • \$\begingroup\$ So it wouldn't matter which of the PX# I connect to the row with the LED? I'm also a little confused by what you mean by "connect your leds, either 3.3v or Ground" Do you mean run a wire from the Tiva 3.3v/GND to the LED, or plug the shorter leg of the LED into the + or - column on the breadboard? \$\endgroup\$ Commented Dec 6, 2013 at 15:15
  • \$\begingroup\$ Nope, all PX# are essentially the same, especially when used as simple GPIO (General Purpose Input/Outputs). And by leds to 3.3v or ground, I mean sometimes you need to sink current instead of source it (pull vs push). If you connect the led + resistor to ground and a PX# pin instead, then it's normal logic (0 or Low would mean off). If you connect your led + resistor to 3.3v and a PX# pin, then your code would have an inverted logic (1 or High would actually mean it is off). \$\endgroup\$
    – Passerby
    Commented Dec 6, 2013 at 20:00
  • \$\begingroup\$ I would suggest to use driverlib. It provides easy initialization of peripherals as I've used it in many projects. ti.com/tool/sw-tm4c \$\endgroup\$
    – lucas92
    Commented May 2, 2016 at 13:45
1
\$\begingroup\$

All grounds are connected , LED's should be connected to the female header pins with current limiting resistors. You can use the GPIO poster to figure out the positions. Here's some sample code that uses the GPIO you can copy paste directly on Energia.

void setup()
{
// initialize the digital pin as an output.
pinMode(PF_1, OUTPUT); // red led on board
}
void loop()
{
digitalWrite(PF_1, HIGH);
delay(500);
digitalWrite(PF_1, LOW);
delay(500);
}

Also thh edX class will use IDE from Keil as a compiler not Energia

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.