Introduction: What is Energia?
Installation: Step-by-step instructions for setting up the Energia and running your first Sketch on a Texas Instruments LaunchPad board.
Environment: Description of the Energia development environment.
Troubleshooting: Advice on what to do if things don't work.
Preferences: the Energia preferences file contains many options for customizing the way Energia compiles and upload sketches.
Build Process: find out what steps your sketch goes through on its way to the LaunchPad board.
Pin Mapping: a complete list of all Pin Mapping images and instructions for each Energia supported hardware board.
Libraries: a complete list of all add-on libraries supported by Energia.
Foundations
This page contains explanations of some of the elements of the LaunchPad hardware, Energia software and the concepts behind them.
Basics
- Sketch: The various components of a sketch and how they work.
Microcontrollers
- Digital Pins: How the pins work and what it means for them to be configured as inputs or outputs.
- Analog Input Pins: Details about the analog-to-digital conversion and other uses of the pins.
- PWM: How the analogWrite() function simulates an analog output using pulse-width modulation.
- Memory: The various types of memory available on the LaunchPad board.
Programming Technique
Tutorials
Core Functions
Simple programs that demonstrate basic Energia commands. These are included with the Energia environment; to open them, click the Open button on the toolbar and look in the examples folder.
1.Basics
- BareMinimum: The bare minimum of code needed to start an Energia sketch.
- Blink: Turn an LED on and off.
- DigitalReadSerial: Read a switch, print the state out to the Energia Serial Monitor.
- AnalogReadSerial: Read a potentiometer, print it's state out to the Energia Serial Monitor.
- Fade: Demonstrates the use of analog output to fade an LED.
- ReadAnalogVoltage : Reads an analog input and prints the voltage to the serial monitor
2.Digital
- Blink Without Delay: blinking an LED without using the delay() function.
- Button: use a pushbutton to control an LED.
- Debounce: read a pushbutton, filtering noise.
- Button State Change: counting the number of button pushes.
- Input Pullup Serial: Demonstrates the use of INPUT_PULLUP with pinMode().
- Tone: play a melody with a Piezo speaker.
- Pitch follower: play a pitch on a piezo speaker depending on an analog input.
- Simple Keyboard: a three-key musical keyboard using force sensors and a piezo speaker.
- Tone4: play tones on multiple speakers sequentially using the tone() command.
3.Analog
- AnalogInOutSerial: read an analog input pin, map the result, and then use that data to dim or brighten an LED.
- Analog Input: use a potentiometer to control the blinking of an LED.
- AnalogWrite: fade 7 LEDs on and off, one by one, using an MSP430G2 LaunchPad board.
- Calibration: define a maximum and minimum for expected analog sensor values.
- Fading: use an analog output (PWM pin) to fade an LED.
- Smoothing: smooth multiple readings of an analog input.
4.Communication
These examples include code that allows the LaunchPad to talk to Processing sketches running on the computer. For more information or to download Processing, see processing.org.
- ReadASCIIString: parse a comma-separated string of ints to fade an LED
- ASCII Table: demonstrates Energia's advanced serial output functions.
- Dimmer: move the mouse to change the brightness of an LED.
- Graph: send data to the computer and graph it in Processing.
- Physical Pixel: turn a LED on and off by sending data to your LaunchPad from Processing.
- Virtual Color Mixer: send multiple variables from LaunchPad to your computer and read them in Processing.
- Serial Call Response: send multiple vairables using a call-and-response (handshaking) method.
- Serial Call Response ASCII: send multiple variables using a call-and-response (handshaking) method, and ASCII-encode the values before sending.
- SerialEvent: Demonstrates the use of SerialEvent().
- Serial input (Switch (case) Statement): how to take different actions based on characters received by the serial port.
5.Control Structures
- If Statement (Conditional): how to use an if statement to change output conditions based on changing input conditions.
- For Loop: controlling multiple LEDs with a for loop.
- Array: a variation on the For Loop example that demonstrates how to use an array.
- While Loop: how to use a while loop to calibrate a sensor while a button is being read.
- Switch Case: how to choose between a discrete number of values. Equivalent to multiple If statements. This example shows how to divide a sensor's range into a set of four bands and to take four different actions depending on which band the result is in.
- Switch Case 2: a second switch-case example, showing how to take different actions based in characters received in the serial port.
6.Strings
Extending and Developing Energia
Software
- Writing a Library: creating libraries to extend the functionality of Energia. Goes step-by-step through the process of making a library from a sketch.
- Preferences: the Energia preferences file contains many options for customizing the way Energia compiles and upload sketches.
- Build Process: find out what steps your sketch goes through on its way to the LaunchPad board.
- Source: online browsing of the Energia source code (on an external website)
- Bugs: the current list of Energia software bugs (on an external website).
- Wiki: Energia project technical details, enhancements, issues, references can be found on the Wiki (on an external website).
Energia sketches are C/C++ based and compiled with the open-source compiler MSPGCC. The Energia language comes from Wiring. The Energia environment is based on Processing and includes modifications made by Wiring.
Hardware
BYOB (Build Your Own BoosterPack): instructions for designing and building your own LaunchPad compatible BoosterPack.
Other resources:
Minty Boost process: no microcontroller, but a great explanation on how to put together a kit, from idea to product.
|
|
Energia Source Code
Official 43oh Energia Forum
Official Stellarisiti Energia Forum
Energia GitHub Wiki
Board instructions and pin mapping:
BoosterPack pin mapping:
|