### Agenda: 12:00: Assignment Review <br> 12:30: <!-- <a href='../../lab/output/index.html' target="_self">Output devices overview</a> <br> --> <a href='../../lab/output/servo/index.html' target="_self">Servo motor workshop</a><br> 1:15: <a href='https://learn.sparkfun.com/tutorials/how-to-use-an-oscilloscope'>How to use an oscilloscope</a><br> 1:30: Break. <a href='https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/'>Install drivers for ESP32</a> and/or <a href='https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/'>ESP32-CAM</a>. <br> 1:45: Output device extravaganza! (Choose one) - <a href='../../lab/output/led/rgb.html' target="_self">RGB LEDs</a>: Control each color channel independently. - <a href='../../lab/output/led/strip.html' target="_self">LED Strips</a>: Light the first 4 LEDs of your LED strip with different colors. - <a href='../../lab/output/display/oled.html' target="_self">OLED</a>/ <a href='https://learn.adafruit.com/adafruit-1-14-240x135-color-tft-breakout'>TFT displays</a>: Write a function to change the screen color. - <a href='../../lab/output/buzzer/index.html' target="_self">Piezo Buzzers</a>: Compose a melody (3+ notes) and play it. - <a href='https://circuitdigest.com/microcontroller-projects/esp32-based-audio-player'>Speaker/Amplifier</a>: Requires ESP32 ([Or does it?](https://github.com/charliegerard/dev-notes/blob/master/arduino/wavFilesWithoutSdCard.md)). Play a WAV file. - <a href='https://itp.nyu.edu/physcomp/labs/motors-and-transistors/using-a-transistor-to-control-high-current-loads-with-an-arduino/'>EMF (motors/solenoids/valves)</a>: Open and close a solenoid with a FET. <a href='../../lab/output/emf/Transistor_ESP32S2.txt' target="_self">Code for ESP32S2</a> ### Assignment: 1. Use an output device that you haven't used before today. 2. Write a microcontroller program that integrates at least one input device and one output device. Avoid the <code>delay()</code> function and use the C++ class structure. 3. Use an oscilloscope to discover the time domain at which your output device is operating. Is it on a fixed clock? What's its speed? Share images and describe your findings. 4. Prepare CAD files for CNC (next class). Consider either 2D DXF files for routing sheet material (like plywood or OSB), or 3D STL files to mill out a (2.5D) shape. We will also cover molding & casting, so you may want to consider milling a mold. Examples: [PK's capacitive piano](https://laurenbhr.github.io/PHYSCI-70/07_output/index.html), <a href='https://kian2attari.github.io/2020/03/14/week-8.html'>Kian (pan/tilt kit)</a>, <a href='https://kassialove.github.io/PS70-assignments/week8.html'> Kassia (RGB LED / buzzer)</a>, <a href='https://tsevilla16.github.io/TeddySevilla-PS70/week8.html'> Teddy (LED Strip / pot)</a>. ### Labs: Work on the assignment. Use a 'scope. Confirm any materials you may need for your final project. <h3> Reading: </h3> <p> <a href='https://learn.sparkfun.com/tutorials/light-emitting-diodes-leds'>LEDs</a>, <a href='https://learn.sparkfun.com/tutorials/transistors'>Transistors</a>, <a href='https://learn.sparkfun.com/tutorials/how-to-use-an-oscilloscope'>How to use an oscilloscope</a></p>