Tutorial overview and starter download
| Lesson | What you will learn |
|---|---|
| 0. Quick map and terms | Acronym meanings; voltage, logic level, pulse duration and messages |
| 1. ADC | Voltage codes, ADC configuration, polling and calibration |
| 2. CW1: Joysticks | Configure/read ADC, implement normalization, calibrate and compare deadbands |
| 3. CW2: IR sensor | Configure/read GPIO and ADC; measure and choose a threshold |
| 4. CW3: Ultrasonic sensor | Configure GPIO/TIM2; implement bounded pulse timing and distance |
| 5. I2C | Addressed transfers, registers, byte order and validity |
| 6. Optional: TOF400C | Configure I2C, implement transfers and obtain a valid range |
| 7. Troubleshooting | Diagnose build, display and sensor problems |
Work through the lessons in order. Ask a senior to check each completed classwork before moving on. Lessons 0–5 cover the class concepts and three CWs. Lesson 6 and the deeper I2C examples are optional after-class study.
Use project/build setup during hands-on work, and the IOC walkthrough to inspect or learn the configuration. Each lesson follows: understand → predict → trace code → try → explain.
For progress messages and the Debug workflow, open Classwork setup. One MainBoard program covers CW2/CW3 and optional TOF. Initialization is generated from IOC; students write the key GPIO/ADC/timing/I2C acquisition code in independent application files.