Energia

From air
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Energia IDE

Energia is a fork of Arduino’s Processing IDE for TI’s MSP430 microcontrollers.


Examples

Potentiometer

Analog Read (A0 or P1_0)
StellarPad running a Energia sketch
const int analogInPin = A0;  // or P1_0 with Launchpad P1.0 Analog input pin that the potentiometer is attached to
                             // or PB5  with StellarPad PB5 Analog input pin that the potentiometer is attached to


int sensorValue = 0;        // value read from the pot

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); // 4800 with msp430g2231
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            

  // print the results to the serial monitor:
  Serial.print("sensor = " );                       
  Serial.print(sensorValue);      
  Serial.println();   

  // wait 10 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:
  delay(10);                     
}


3 Buttons Pad

3 Buttons Pad
/*
Tree buttons pad
 */

// set pin numbers:
const int button1Pin = P1_3;     // the number of the pushbutton pin
const int button2Pin = P1_4;     // the number of the pushbutton pin
const int button3Pin = P1_5;     // the number of the pushbutton pin
const int ledPin =  GREEN_LED;      // the number of the LED pin

// variables will change:
boolean ledState = false;      // variable for reading the pushbutton status
int buttonsStates = 0;         // variable for reading the pushbutton status

void setup() {
  Serial.begin(9600);          // starts the serial monitor
  
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  // initialize the pushbutton pin as an input:
  pinMode(button1Pin, INPUT_PULLUP);     
  pinMode(button2Pin, INPUT_PULLUP);     
  pinMode(button3Pin, INPUT_PULLUP);
  
  buttonsStates=readButtonsStates();
  Serial.println(buttonsStates);
}

int readButtonsStates(){
  int _buttonsStates=0;
  
  if (digitalRead(button1Pin) == LOW) { 
    _buttonsStates |= B1; 
  }
  if (digitalRead(button2Pin) == LOW) { 
    _buttonsStates |= B10; 
  }
  if (digitalRead(button3Pin) == LOW) { 
    _buttonsStates |= B100; 
  }
  return _buttonsStates;
} 

void toogle(){
  if (ledState) {     
    // turn LED off:    
    digitalWrite(ledPin, LOW);  
  } else {
    // turn LED on:
    digitalWrite(ledPin, HIGH); 
  }
  ledState=!ledState;
}

void loop(){

  int _buttonsStates=readButtonsStates();
  
  // send changes only
  if(buttonsStates != _buttonsStates)  {
    buttonsStates = _buttonsStates;
    Serial.print(buttonsStates);
    toogle(); // for debug
  }
  
  delay(50);
}


Récupération de la sortie avec Node.js

// launchpad.js <port>
var port = process.argv[2];
var serialport = require('serialport');
var sp = new serialport.SerialPort(port, {
                baudrate: 9600,
                parser: serialport.parsers.readline('\r\n')});

sp.on('data', function(line) {
    console.log(line);
});
npm install serialport
node launchpad.js /dev/tty.uart-XYZ

Supported Boards


Pin mapping

https://github.com/energia/Energia/wiki/Hardware#wiki-LaunchPad_MSP430G2452

Links