This is a project from my Embedded Systems Lab course. It's made using C and intended for the MSP430FG461 microcontroller.

WeatherData

This is a project from my Embedded Systems Lab course. It's made using C and intended for the MSP430FG4618 microcontroller.

Detailed Report can be found here

Detailed Information:

For my final project, I have taken a text file from https://www.visualcrossing.com (weather data → Download data for free → Make account → Download text file). Next, I've imported this data as a .h (header) file since the MSP430 does not have native file stream functionality. I’ve set up the header file similarly to a lookup table that could be used to define a wave in other programs. The .h file has 3 arrays, each with their own purpose stated below: ● WeatherF will be used by the showData() function to calculate the LED color ● WeatherC will be used by UART to display the true value on MobaXTerm (sendChar/sendString) ● WeatherI will be used by the LCD screen since the preset LCD functions take integer input.

My program interfaces with the 3 LEDs, the LCD screen, and the 2 switches connected to the MSP430FG4618. Depending on the weather conditions from the text file, the MSP430 will activate one of its colored LEDs as shown below:

Temperature Data:

  • 🟩 0-40F
  • 🟧 40-70F
  • 🟥 70+ F

Precipitation Data:

  • 🟩 0-33% chance of rain
  • 🟧 33-66% chance of rain
  • 🟥 66%+ chance of rain

The MSP430FG4618 also displays the closest integer value to the currently selected data on its 7-segment LCD display. The user can toggle between temperature and precipitation being displayed on the board by using an onboard switch (SW1) After a period of inactivity (1 minute), the board goes into a low power state, which disables all displays. This can be retracted by pressed Switch #2 (SW2)

If the user has a serial cable, they can also establish a UART connection to their software of choice (MobaXTerm, Putty, etc.) which displays detailed weather info for both types of data through UART.

Owner
Ben Bruzewski
UAH student seeking my BS in Computer Engineering by 2023.
Ben Bruzewski
Similar Resources

"SaferCPlusPlus" is essentially a collection of safe data types intended to facilitate memory and data race safe C++ programming

A collection of safe data types that are compatible with, and can substitute for, common unsafe native c++ types.

Nov 21, 2022

A biome finder adapted from cubiomes intended for structure finding in Minecraft Bedrock 1.7

A biome finder adapted from cubiomes intended for structure finding in Minecraft Bedrock 1.7. This will work from 1.7 all the way up to 1.14.

Jun 11, 2022

A C program game that James and I made for a course based off of Oregon Trail

ENGG1340 Course Project 2020/2021 Team members (Alphabetical Order) James & Collin Game description It is the modern era of the 21st Century and Chris

Nov 18, 2022

Embedded Flutter runtime targeting Embedded Linux with Wayland

ivi-homescreen IVI Homescreen for Wayland Strongly Typed (C++) Lightweight Clang 11 Release Stripped = 151k GCC 9.3 Release Stripped = 168k Source run

Nov 15, 2022

Embox is a configurable RTOS designed for resource constrained and embedded systems

Embox is a configurable RTOS designed for resource constrained and embedded systems. Embox main idea is using Linux software without Linux.

Nov 20, 2022

SAE J1939 protocol free to use for embedded systems or PC with CAN-bus

SAE J1939 protocol free to use for embedded systems or PC with CAN-bus

Open SAE J1939 SAE J1939 is a protocol for shaping the CAN-bus message in a specific way that suits industrial vehicles such as tractors, machinery, t

Nov 18, 2022

Newlib for Xuantie RISC-V CPU, a lightweight C library for embedded systems.

README for GNU development tools This directory contains various GNU compilers, assemblers, linkers, debuggers, etc., plus their support routines, d

Sep 9, 2022

F Graphics Library (FGL) is a small graphics C++ portable library for LCD displays on embedded systems

F Graphics Library (FGL) Full documentation: fgl.docsforge.com (By Filipe Chagas) F Graphics Library is a C++ library that I created for use in embedd

Oct 31, 2022

Final Assignment for Embedded Real Time Operating Systems at UCSD Extension.

Final Assignment for Embedded Real Time Operating Systems at UCSD Extension. This program is for a certificate in Embedded Software Engineering at UCSD. We used FreeRTOS running on a STM32L475G Microcontroller.

Jun 26, 2022
Companion repository to the "Modern Embedded Systems Programming" video course.
Companion repository to the

What is it? This repository is a companion to the "Modern Embedded Systems Programming" video course, which consists of focused, fast-paced, hands-on

Nov 28, 2022
A place to collaborate on code for the Embedded.fm book club. Currently reading "STM32 ARM Programming for Embedded Systems".

Welcome to the Book Club Code site! This is a place for the Embedded.fm book club to collaborate and learn together. Repo Structure Guide Top-level fo

Jul 21, 2022
Best practices, conventions, and tricks for ROS. Do you want to become a robotics master? Then consider graduating or working at the Robotics Systems Lab at ETH in Zürich!

ROS Best Practices, Conventions and Tricks Best practices for ROS2 in the making. See the Foxy branch in the meanwhile. This is a loose collection of

Nov 22, 2022
Material for the UIBK Operating Systems Lab (2022)

UIBK Operating Systems Lab 2022 This repository contains material required to complete exercises for the OS lab in the 2022 summer semester, including

Jul 20, 2022
I made this programming language at 2 AM out of boredom. This is the repository for its interpreter.
I made this programming language at 2 AM out of boredom. This is the repository for its interpreter.

Cy Another programming language How to install the interpreter Install the dependencies (git, g++, make and sudo) For Debian and Ubuntu: sudo apt inst

Jan 23, 2022
Embedded Systems Project -HAE912E-

Embedded Systems Project -HAE912E- BENALI Abderrahmane BELLILA Ahmed Nassim BOUZIT Zakaria exercice 1 - Configuration First of all, we need to configu

May 28, 2022
This is the repo for the microcontroller part of project Cleanurge - a scalable IoT powered waste management system, our solution towards a greener world.
This is the repo for the microcontroller part of project Cleanurge - a scalable IoT powered waste management system, our solution towards a greener world.

Cleanurge A scalable waste management system powered by IoT. There are 3 repositories for the entire cleanurge system in total cleanurge-mcu: Containi

Oct 11, 2021
Project Elektronica - microcontroller

Project_Elektronica_Microprocessor All important files regarding to our AMPLIFIER project. Schemes Code Erros :P Amplifier Amplifier Limiter Filter VU

Aug 29, 2022
Little project on ATtiny13 (AVR microcontroller)
Little project on ATtiny13 (AVR microcontroller)

Night-light Hello everyone.This is not a big project,created specifically for the "AVR ATtiny13" microcontroller. It embodies the concept of a night l

Jan 7, 2022
Bluetooth Joystick : A wireless joystick with ESP-32 microcontroller and Dual Axis Joystick Module using the Bluetooth connectivity.
Bluetooth Joystick : A wireless joystick with ESP-32 microcontroller and Dual Axis Joystick Module using the Bluetooth connectivity.

BluetoothJoystick Bluetooth Joystick : A wireless joystick with ESP-32 microcontroller and Dual Axis Joystick Module using the Bluetooth connectivity.

Feb 24, 2022