This module will demonstrate how to use finite state machines as a central controller for the system. Finite state machines are an effective design process to have in your embedded system tool box and can be used to solve problems with inputs and outputs.
The purpose of this module is to develop interface switches and an LED so the robot can effectively detect wall collisions. Many sensors and actuators deploy LEDs, so understanding how they operate will be important to building your robot.
In this module, you will learn the fundamentals of SysTick timers and pulse width modulators (PWM), including how to measure pulse times and period with a logic analyzer and amplitude with an oscilloscope. It is important to understand the concept of PWM as we will use it to adjust power to the motors.
This module provides an intro to how flash memory operates, including debugging techniques for real-time systems and how to generate periodic interrupts using SysTick. Minimally intrusive debugging is essential for real-time systems to evaluate performance while the system runs in real-life situations.
This module will show you how to display characters and provide real-time debugging on a display screen. An LCD or OLED on your robot provides a convenient way to observe what it is thinking.
The purpose of this lab is to interface the motors to the TI LaunchPad to make the robot move. Understanding how duty cycle, voltage and current combine to affect speed is required when building your robot.
In this module, you will write software that uses the timers to create PWM outputs. Using timers for PWM and period interrupts provide mechanisms to grow the complexity of the robot system.
This module demonstrates how to use priority interrupts for creating real-time systems. As your robot system becomes more complex, period interrupts are one way to combine multiple threads onto one microcontroller.
This module will teach you how to interface the infrared distance sensors using the analog-to-digital converter. IR distance sensors are an essential component for solving robot challenges where avoiding walls is necessary to achieve the goal.
In this module, you will learn how to interface the tachometers that enable the robot to measure motor rotational speed. Tachometer data allows your software to drive straight, drive for a prescribed amount of distance or turn at a prescribed angle.
The purpose of this module is to create a control system by combining the sensors with the actuators. Incremental and integral control are simple algorithms for controlling motor speed.
The purpose of this module is to understand the operation and use of first in first out (FIFO) queue to interface the robot to the PC using a serial channel. You will create two FIFO queues and design a command interpreter to assist in the robot challenge. You will develop an interrupting device driver using the universal asynchronous receiver/transmitter (UART). This serial port allows the microcontroller to communicate with devices such as other computers, input sensors, and output displays.
The purpose of this module is to understand basic concepts of Bluetooth® low energy (BLE). You will interface the TI SimpleLink™ BLE CC2650 Module BoosterPack™ Plug-in module to the SimpleLink MSP432P401R LaunchPad™ development kit using universal asynchronous receiver/transmitter (UART) communication. You will create a BLE service with multiple characteristics and design a robot system that can be controlled by a smart device using BLE.
In this module, you will learn how to develop a set of Wi-Fi communication functions and learn how to interact with web services. By using the CC3100 to communicate with the MSP432, you will interface a Wi-Fi radio module to the microcontroller.