Tuesday:
3:00: Make sure you can talk to your MCU! (Instructions for ESP32 here)
- Open Arduino IDE
- Plug in your microcontroller (ask if you need a cable)
- Go to Tools > Board > Uno
- Find Tools > Port > *your microcontroller*
- Open File > Examples > Basics > Blink
- Upload the file
3:00: Use the L9110 H Bridge Power Driver to drive a motor. Write a new function to give the motor commands.
3:45: Workshop on microcontroller programming, conditional statements, loops, pullup resistors.
### Reading:
Introduction to microcontrollers, conditional statements and loops, Arduino Foundations.
Arduino: Digital Pins, Analog Input Pins, PWM, and Memory
Arduino Projects Book Chapters 1-3.
Pulse Width Modulation
Thursday:
3:00: Assignment Review
3:30: Servo motors
3:40: Workshop on multi-tasking with Arduino language
### Labs:
See Kassia's slides on programming fundamentals.
Circuit Diagrams for lab.
Make sure you're comfortable with:
- programming fundamentals,
- conditional statements and loops,
- multi-tasking with Arduino language
Use the Electronics basics page and its links.
- Use the multimeter in voltage, resistance, and continuity modes.
- Build a voltage divider circuit. Build a potentiometer circuit.
- Build and measure circuits with resistors in parallel and series.
- Practice drawing schematics. Use a hand sketch, [Falstad](https://www.falstad.com/circuit/), [circuit-diagram.org](https://www.circuit-diagram.org/), Fusion 360 (Eagle), or other.
### Assignment:
Program an Arduino board to do something. The examples in the Arduino Projects Book provide good starting points. You may also wish to use this assignment to build a new iteration of the previous assignment.
- Record a video of your project using the photo booth.
- Include code snippets in your documentation.
- Draw a schematic of your circuit. Use a hand sketch, [Flastad](https://www.falstad.com/circuit/), Fusion 360 (Eagle), or other.
- Bring your project to class Thursday and be ready to do a brief live demo.
### Examples:
- [Mohammed's Butterfly](https://mohammed-mutaher.github.io/PHYSCI-70/04/index4.html)
- [Kailan's Marble Escalator](https://kmackey2002.github.io/Documentation-for-PS70-2023/Week4.html)
- [Isa's Carousel](https://isaberliner.github.io/PS70-2022/04/index4.html)
- [PK's LEDs + Potentiometer](https://bililun.github.io/PHYSCI-70/04_micro/index.html)
- [Kalos' Winch](https://ingenuitive.github.io/PHYSCI-70/week4.html)
Resources:
Arduino Foundations
Language Reference: Discover the what each term of the Arduino code language means.
Variables: Understand how to define and use variables in a Sketch.
Functions: Learn how to define and use functions in a Sketch.