Advanced Arduino Programming - Bespoke Certificate for Lu Yunn
Certificate ID:
798487
Authentication Code:
e3021
Certified Person Name:
Lu Yunn
Trainer Name:
Roderick Heydon
Duration Days:
3
Duration Hours:
21
Course Name:
Advanced Arduino Programming - Bespoke
Course Date:
10 February 2025 08:30 to 12 February 2025 15:30
Course Outline:
Review of Basics
- Why You Should Consider Advanced Arduino Programming:
- Benefits of advanced skills for complex projects and innovation
- Recap of Arduino Basics
- Pin modes, digital and analog I/O, serial communication
- Development Environments
- Understanding the Arduino IDE and exploring alternative environments like PlatformIO in VSCode
- Overview of Arduino-Compatible Boards:
- Mega Family, Arduino PRO, ESP32 boards
- Arduino Programming Syntax and Control Flow:
- Review of essential syntax and control structures
Communication Protocols
- I2C and SPI:
- Understanding and implementing I2C and SPI communication
- Master-slave configuration and handling multiple devices
- Serial Communication:
- Advanced UART communication techniques
- Wireless communication: Bluetooth and Wi-Fi using modules like ESP32
I/O and Peripherals
- Storage Interfaces:
- Interfacing with SD-CARD for data storage
- Using EEPROM and Flash memory for non-volatile storage
- Display Interfaces:
- Interfacing with LCD, OLED, and TFT displays
- Touch Interfaces:
- Using touchscreens (resistive and capacitive)
- Interfacing with touch sensors and touch panels
Real-Time Systems and Interrupts
- Interrupts:
- Configuring and using hardware and software interrupts
- Debouncing and managing interrupt-driven events
- Timers and Scheduling:
- Using built-in timers and creating custom timer functions
- Introduction to real-time operating systems (like FreeRTOS) and task scheduling
Libraries and Frameworks
- Third-Party Libraries:
- Utilizing and integrating third-party libraries
- Modifying and creating custom libraries
Networking and IoT
- Networking Basics:
- Setting up and using Ethernet and Wi-Fi shields
- Understanding network protocols: HTTP, MQTT, WebSocket
Debugging and Testing
- Debugging Techniques:
- Using the serial monitor
- Advanced debugging tools: JTAG/SWD
- Using logic analyzers and oscilloscopes for hardware debugging
- Testing:
- Writing and running unit tests
- Utilizing automated testing frameworks
MATLAB Support Package for Arduino
- Integrating MATLAB with Arduino:
- Getting Started with MATLAB Support Package for Arduino Hardware
- Setup and Configuration
- Control Peripherals Using the Arduino Explorer App
- Communicate with I2C Device on Arduino Hardware
- Communicate with SPI Device on Arduino Hardware
Summary and Closing Remarks
- Course Recap:
- Review of key concepts covered in the course