This update covers my first attempt to fire up the MSP-EXP432P401RMSP-EXP432P401R I am using Energia at this point since they claim to support this platform and the Sharp display.
I modified the 430BOOST-SHARP96430BOOST-SHARP96 to be always enabled by unsoldering the R16 zero ohm resistor and soldering it at the R17 location. This is needed in my design to avoid a conflicting use of one of the GPIO pins. (It conflicts with the CC3100 Boosterpack)
Here is the corresponding schematic:
The Sharp Boosterpack LCD plugs directly on the MSP-EXP432P401RMSP-EXP432P401R as shown below
You can see the results of my first code in the picture.
Here is the source code:
// Hazardous Gas Sensor Module
// MSP_EXP432P401R
430BOOST-SHARP96430BOOST-SHARP96
CC3100MODBOOSTCC3100MODBOOST
// MQx_Sensor Boosterpack
// Author : Doug Wong
// Date : Mar 11, 2017
// Version: 1.00
//
//
// Include application, user and local libraries
#include "SPI.h"
#include "OneMsTaskTimer.h"
#include "LCD_SharpBoosterPack_SPI.h"
// Variables
LCD_SharpBoosterPack_SPI myScreen;
int AlcPin = A11; //MQ3 - Alcohol
int COPin = A14; //MQ7 - Carbo Monoxide
int AQPin = A13; //MQ135 - Air Quality
int CO2Pin = A8; //CO2
int UVPin = A9; //Ultraviolet Light
int AlcValue = 0; //MQ3 - Alcohol
int COValue = 0; //MQ7 - Carbo Monoxide
int AQValue = 0; //MQ135 - Air Quality
int CO2Value = 0; //CO2
int UVValue = 0; //Ultraviolet Light
String AlcStr;
String COStr;
String AQStr;
String CO2Str;
String UVStr;
// setup code
void setup() {
Serial.begin(9600);
myScreen.begin();
// setup LCD to display sensor data
myScreen.clearBuffer();
myScreen.setFont(1);
myScreen.text(5, 1, "SENSORS");
myScreen.setFont(0);
myScreen.text(3, 22, "Alc ppm");
myScreen.text(3, 37, "CO ppm");
myScreen.text(3, 52, "AQ ppm");
myScreen.text(3, 67, "CO2 ppm");
myScreen.text(3, 82, "UV idx");
myScreen.flush();
}
// loop to read and display sensor data
void loop()
{
AlcValue = analogRead(AlcPin); //read Alcohol sensor
COValue = analogRead(COPin); //read CO sensor
AQValue = analogRead(AQPin); //read Air Quality sensor
CO2Value = analogRead(CO2Pin); //read CO2 sensor
UVValue = analogRead(UVPin); //read UV sensor
AlcStr = String(AlcValue); //convert reading to ASCII
COStr = String(COValue); //convert reading to ASCII
AQStr = String(AQValue); //convert reading to ASCII
CO2Str = String(CO2Value); //convert reading to ASCII
UVStr = String(UVValue); //convert reading to ASCII
myScreen.setFont(0);
myScreen.text(33, 22, AlcStr + " "); //display alcohol
myScreen.text(33, 37, COStr + " "); //display CO
myScreen.text(33, 52, AQStr + " "); //display Air Quality
myScreen.text(33, 67, CO2Str + " "); //display CO2
myScreen.text(33, 82, UVStr + " "); //display UV
myScreen.flush();
delay(100);
}
One thing to note - the Energia selector for the target board did not show the MSP-EXP432P401RMSP-EXP432P401Rin its list it just showed Launchpad /w MSP432 EMT (48MHz)" - but it seems to work.
I do not have my sensor Boosterpack back from the PCB shop yet, so I connected 5 potentiometers to simulate the 5 sensors.
Here is a demo video of the system in action:
My next blog is likely to be about ELF radiation or maybe I will cover all RF in one blog.
The Boosterpack PCB I designed has shipped but not arrived, so that is also a possibility.
All links to blogs related to this project can be found in the first blog here:
Safe and Sound - Invisible Hazardous Environmental Factors Monitoring System - blog 1
Top Comments