diff --git a/arduino/assets/movies/AnalogVsDigital.mp4 b/arduino/assets/videos/AnalogVsDigital.mp4 similarity index 100% rename from arduino/assets/movies/AnalogVsDigital.mp4 rename to arduino/assets/videos/AnalogVsDigital.mp4 diff --git a/arduino/assets/movies/ArduinoBlinkWithSerialPrint_Trim.mp4 b/arduino/assets/videos/ArduinoBlinkWithSerialPrint_Trim.mp4 similarity index 100% rename from arduino/assets/movies/ArduinoBlinkWithSerialPrint_Trim.mp4 rename to arduino/assets/videos/ArduinoBlinkWithSerialPrint_Trim.mp4 diff --git a/arduino/assets/movies/ArduinoIDE_Compile.gif b/arduino/assets/videos/ArduinoIDE_Compile.gif similarity index 100% rename from arduino/assets/movies/ArduinoIDE_Compile.gif rename to arduino/assets/videos/ArduinoIDE_Compile.gif diff --git a/arduino/assets/movies/ArduinoIDE_Compile.mov b/arduino/assets/videos/ArduinoIDE_Compile.mov similarity index 100% rename from arduino/assets/movies/ArduinoIDE_Compile.mov rename to arduino/assets/videos/ArduinoIDE_Compile.mov diff --git a/arduino/assets/movies/ArduinoUno_Blink2_Workbench.gif b/arduino/assets/videos/ArduinoUno_Blink2_Workbench.gif similarity index 100% rename from arduino/assets/movies/ArduinoUno_Blink2_Workbench.gif rename to arduino/assets/videos/ArduinoUno_Blink2_Workbench.gif diff --git a/arduino/assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif b/arduino/assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif similarity index 100% rename from arduino/assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif rename to arduino/assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif diff --git a/arduino/assets/movies/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov b/arduino/assets/videos/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov similarity index 100% rename from arduino/assets/movies/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov rename to arduino/assets/videos/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov diff --git a/arduino/assets/movies/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov b/arduino/assets/videos/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov similarity index 100% rename from arduino/assets/movies/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov rename to arduino/assets/videos/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov diff --git a/arduino/assets/movies/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 b/arduino/assets/videos/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 similarity index 100% rename from arduino/assets/movies/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 rename to arduino/assets/videos/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.gif b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.gif similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.gif rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.gif diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4.mp4 b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4.mp4 rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4.mp4 diff --git a/arduino/assets/movies/Arduino_BlinkAnimation_WithCode.mov b/arduino/assets/videos/Arduino_BlinkAnimation_WithCode.mov similarity index 100% rename from arduino/assets/movies/Arduino_BlinkAnimation_WithCode.mov rename to arduino/assets/videos/Arduino_BlinkAnimation_WithCode.mov diff --git a/arduino/assets/movies/Arduino_BlinkWithCode_Pin3.mp4 b/arduino/assets/videos/Arduino_BlinkWithCode_Pin3.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_BlinkWithCode_Pin3.mp4 rename to arduino/assets/videos/Arduino_BlinkWithCode_Pin3.mp4 diff --git a/arduino/assets/movies/Arduino_BlinkWithCode_Pin3_web_muted.mp4 b/arduino/assets/videos/Arduino_BlinkWithCode_Pin3_web_muted.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_BlinkWithCode_Pin3_web_muted.mp4 rename to arduino/assets/videos/Arduino_BlinkWithCode_Pin3_web_muted.mp4 diff --git a/arduino/assets/movies/Arduino_Button_FloatingPinProblem720p.mp4 b/arduino/assets/videos/Arduino_Button_FloatingPinProblem720p.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_Button_FloatingPinProblem720p.mp4 rename to arduino/assets/videos/Arduino_Button_FloatingPinProblem720p.mp4 diff --git a/arduino/assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif b/arduino/assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif rename to arduino/assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif diff --git a/arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif b/arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif rename to arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif diff --git a/arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif b/arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif rename to arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif diff --git a/arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif b/arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif rename to arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif diff --git a/arduino/assets/movies/Arduino_LEDBlink_Pin3-9VPower.mp4 b/arduino/assets/videos/Arduino_LEDBlink_Pin3-9VPower.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDBlink_Pin3-9VPower.mp4 rename to arduino/assets/videos/Arduino_LEDBlink_Pin3-9VPower.mp4 diff --git a/arduino/assets/movies/Arduino_LEDBlink_Pin3.gif b/arduino/assets/videos/Arduino_LEDBlink_Pin3.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDBlink_Pin3.gif rename to arduino/assets/videos/Arduino_LEDBlink_Pin3.gif diff --git a/arduino/assets/movies/Arduino_LEDBlink_Pin3.mp4 b/arduino/assets/videos/Arduino_LEDBlink_Pin3.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDBlink_Pin3.mp4 rename to arduino/assets/videos/Arduino_LEDBlink_Pin3.mp4 diff --git a/arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.gif b/arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.gif rename to arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.gif diff --git a/arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.mp4 b/arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.mp4 rename to arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.mp4 diff --git a/arduino/assets/movies/Arduino_LEDFade_Pin3.gif b/arduino/assets/videos/Arduino_LEDFade_Pin3.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDFade_Pin3.gif rename to arduino/assets/videos/Arduino_LEDFade_Pin3.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_3.3VFixed_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_3.3VFixed_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_3.3VFixed_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_3.3VFixed_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed.mp4 b/arduino/assets/videos/Arduino_LEDOn_5VFixed.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed.mp4 rename to arduino/assets/videos/Arduino_LEDOn_5VFixed.mp4 diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_Current_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_Current_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_Current_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_Current_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_InsertLED.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_InsertLED.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_InsertLED.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_InsertLED.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.mp4 b/arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.mp4 rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.mp4 diff --git a/arduino/assets/movies/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif b/arduino/assets/videos/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif rename to arduino/assets/videos/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif diff --git a/arduino/assets/movies/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif b/arduino/assets/videos/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif rename to arduino/assets/videos/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif diff --git a/arduino/assets/movies/Arduino_RGBLED_CommonAnode_Animation.mp4 b/arduino/assets/videos/Arduino_RGBLED_CommonAnode_Animation.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_RGBLED_CommonAnode_Animation.mp4 rename to arduino/assets/videos/Arduino_RGBLED_CommonAnode_Animation.mp4 diff --git a/arduino/assets/movies/Arduino_RGBLED_CommonCathode-Optimized.gif b/arduino/assets/videos/Arduino_RGBLED_CommonCathode-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_RGBLED_CommonCathode-Optimized.gif rename to arduino/assets/videos/Arduino_RGBLED_CommonCathode-Optimized.gif diff --git a/arduino/assets/movies/Arduino_RGBLED_CommonCathode_Animation.mp4 b/arduino/assets/videos/Arduino_RGBLED_CommonCathode_Animation.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_RGBLED_CommonCathode_Animation.mp4 rename to arduino/assets/videos/Arduino_RGBLED_CommonCathode_Animation.mp4 diff --git a/arduino/assets/movies/BlinkWithCodeAndWorkbenchCamera.mp4 b/arduino/assets/videos/BlinkWithCodeAndWorkbenchCamera.mp4 similarity index 100% rename from arduino/assets/movies/BlinkWithCodeAndWorkbenchCamera.mp4 rename to arduino/assets/videos/BlinkWithCodeAndWorkbenchCamera.mp4 diff --git a/arduino/assets/movies/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 b/arduino/assets/videos/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 similarity index 100% rename from arduino/assets/movies/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 rename to arduino/assets/videos/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 diff --git a/arduino/assets/movies/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 b/arduino/assets/videos/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 similarity index 100% rename from arduino/assets/movies/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 rename to arduino/assets/videos/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 diff --git a/arduino/assets/movies/ContactBounce_TheCurrentSource-Optimized.gif b/arduino/assets/videos/ContactBounce_TheCurrentSource-Optimized.gif similarity index 100% rename from arduino/assets/movies/ContactBounce_TheCurrentSource-Optimized.gif rename to arduino/assets/videos/ContactBounce_TheCurrentSource-Optimized.gif diff --git a/arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 b/arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 similarity index 100% rename from arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 rename to arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 diff --git a/arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized.mp4 b/arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized.mp4 similarity index 100% rename from arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized.mp4 rename to arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized.mp4 diff --git a/arduino/assets/movies/DebouncingHammer_CurrentSource_720p-Optimized.mp4 b/arduino/assets/videos/DebouncingHammer_CurrentSource_720p-Optimized.mp4 similarity index 100% rename from arduino/assets/movies/DebouncingHammer_CurrentSource_720p-Optimized.mp4 rename to arduino/assets/videos/DebouncingHammer_CurrentSource_720p-Optimized.mp4 diff --git a/arduino/assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif b/arduino/assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif similarity index 100% rename from arduino/assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif rename to arduino/assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif diff --git a/arduino/assets/movies/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif b/arduino/assets/videos/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif similarity index 100% rename from arduino/assets/movies/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif rename to arduino/assets/videos/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif diff --git a/arduino/assets/movies/FourLeggedTactileButtons_Animation.gif b/arduino/assets/videos/FourLeggedTactileButtons_Animation.gif similarity index 100% rename from arduino/assets/movies/FourLeggedTactileButtons_Animation.gif rename to arduino/assets/videos/FourLeggedTactileButtons_Animation.gif diff --git a/arduino/assets/movies/FourLeggedTactileButtons_Animation.mp4 b/arduino/assets/videos/FourLeggedTactileButtons_Animation.mp4 similarity index 100% rename from arduino/assets/movies/FourLeggedTactileButtons_Animation.mp4 rename to arduino/assets/videos/FourLeggedTactileButtons_Animation.mp4 diff --git a/arduino/assets/movies/LEDOn5V_Parallel_CircuitJS.mp4 b/arduino/assets/videos/LEDOn5V_Parallel_CircuitJS.mp4 similarity index 100% rename from arduino/assets/movies/LEDOn5V_Parallel_CircuitJS.mp4 rename to arduino/assets/videos/LEDOn5V_Parallel_CircuitJS.mp4 diff --git a/arduino/assets/movies/LEDOn5V_Series_CircuitJS.mp4 b/arduino/assets/videos/LEDOn5V_Series_CircuitJS.mp4 similarity index 100% rename from arduino/assets/movies/LEDOn5V_Series_CircuitJS.mp4 rename to arduino/assets/videos/LEDOn5V_Series_CircuitJS.mp4 diff --git a/arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits.mp4 b/arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits.mp4 similarity index 100% rename from arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits.mp4 rename to arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits.mp4 diff --git a/arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 b/arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 similarity index 100% rename from arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 rename to arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 diff --git a/arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif b/arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif rename to arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif diff --git a/arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif b/arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif rename to arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif diff --git a/arduino/assets/movies/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif b/arduino/assets/videos/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif rename to arduino/assets/videos/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif diff --git a/arduino/assets/movies/Potentiometer_Overview_Animation_TrimmedAndCropped.gif b/arduino/assets/videos/Potentiometer_Overview_Animation_TrimmedAndCropped.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_Overview_Animation_TrimmedAndCropped.gif rename to arduino/assets/videos/Potentiometer_Overview_Animation_TrimmedAndCropped.gif diff --git a/arduino/assets/movies/WrappingResistorLegAroundLED_400w.gif b/arduino/assets/videos/WrappingResistorLegAroundLED_400w.gif similarity index 100% rename from arduino/assets/movies/WrappingResistorLegAroundLED_400w.gif rename to arduino/assets/videos/WrappingResistorLegAroundLED_400w.gif diff --git a/arduino/buttons.md b/arduino/buttons.md index 6f0f93de..e6dbc599 100644 --- a/arduino/buttons.md +++ b/arduino/buttons.md @@ -2,7 +2,7 @@ layout: default title: L1: Using buttons description: "Build your first interactive Arduino circuit: read a push button with digitalRead() and learn why pull-up and pull-down resistors solve the floating-pin problem." -image: /arduino/assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif +image: /arduino/assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif nav_order: 1 parent: Input grand_parent: Intro to Arduino @@ -37,7 +37,7 @@ For example, in the animation below, we show a button circuit with a pull-down r > - How to use `digitalRead()` and `pinMode()` for digital input > - How to select appropriate pull-up/pull-down resistor values -![Animation showing an Arduino Uno and a button hooked up to Pin 2 with a pull-down resistor configuration. When the button is pressed, the animation shows the current going from Vcc through the button and down through the pull-down resistor](assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif) +![Animation showing an Arduino Uno and a button hooked up to Pin 2 with a pull-down resistor configuration. When the button is pressed, the animation shows the current going from Vcc through the button and down through the pull-down resistor](assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif) Animation shows the Arduino's built-in LED illuminating when the button on Pin 2 is pressed. When the button is pressed, current flows from $$V_{CC}$$ through the pull-down resistor to GND. We'll learn more about this circuit in this lesson. {: .fs-1 } @@ -81,10 +81,10 @@ The four-leg push button is one of the most common button types for breadboardin The key thing to remember is that the two legs closest together (on the same side) are, somewhat unintuitively, **not** connected until you press the button. Upon button press, all four legs become connected (*i.e.,* the same node). We created the following animation to help explain further. Observe the *orientation* of the button and how the legs are connected. - + **Video.** Animation shows which two sides of a four-legged tactile button are disconnected until the button is pressed, creating a connection between all four legs. {: .fs-1 } @@ -111,10 +111,10 @@ If you build the 9V battery circuit, then we suggest a 680Ω or 1kΩ resistor ra That's it! Once you've created the circuit, give it a try by pushing the button and the LED should turn on. See the animation below. - + **Video.** Animation showing two different voltage sources for a basic LED-based circuit with a four-legged button to control "on" and "off." When no button is pressed, there is no current flow and the LED is off. {: .fs-1 } @@ -177,7 +177,7 @@ Given how we built button-based circuits above—without a microcontroller—you However, if you do this, what will the digital input pin read when the switch is **open** (that is, when the button is **not** pressed)? Well, this is called a "floating pin" and it's not good. Because the input pin has extremely high impedance, it effectively acts like a tiny antenna—even minuscule charge transfers from nearby electric fields, your body's capacitance, or crosstalk between wires can swing the voltage. A floating pin is susceptible to picking up this stray electromagnetic interference, causing it to randomly oscillate between `HIGH` and `LOW`. See the animation below. -![Animation showing a floating pin condition when a button is just hooked up to 5V without a pull-down resistor](assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif) +![Animation showing a floating pin condition when a button is just hooked up to 5V without a pull-down resistor](assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif) **Figure.** Animation of what happens when you press a button with the simple circuit configuration. {: .fs-1 } @@ -202,7 +202,7 @@ void loop() Here's a quick video demonstration of what happens—the floating pin problem! Note: we are using a slightly modified version of this code where an LED is turned on if the button is pressed (*i.e.,* if `buttonVal == 1`). This just makes it easier to see the fluctuating button state. **Video.** Floating pins are digital input pins that are not tied to a specific input voltage (either 0V or 5V) and thus, are subject to electromagnetic interference. Here, the button state is oscillating between `HIGH` and `LOW` simply due to the electromagnetic interference from my body. Makes me feel like Dumbledore! The source code is [here](https://github.com/makeabilitylab/arduino/blob/master/Basics/digitalRead/ButtonPressedFloatingPin/ButtonPressedFloatingPin.ino). {: .fs-1 } @@ -223,7 +223,7 @@ And you're on the right track. Now, when the switch is open, the digital input p -![Animation showing a button circuit without a pull-down resistor causing a short when the button is pressed](assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif) +![Animation showing a button circuit without a pull-down resistor causing a short when the button is pressed](assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif) **Figure.** Animation showing the effect of connecting `GND` without a resistor. A short circuit! {: .fs-1 } @@ -241,7 +241,7 @@ The pull-down resistor is quite large: 10,000Ω (10kΩ) Here's an animation showing how a pull-down resistor configuration works. Notice how (almost) none of the current goes into Pin 2. This is because, as stated above, the digital input pins “*are in a high-impedance state*” equivalent to a 100,000,000Ω (100MΩ) resistor (see [Arduino docs](https://docs.arduino.cc/learn/microcontrollers/digital-pins/)). And remember, microcontrollers read voltage, not current (so we don't need current into our input pin)! -![Animation showing the correct operation of digital input with a pull-down resistor configuration](assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif) +![Animation showing the correct operation of digital input with a pull-down resistor configuration](assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif) And here's a video demonstrating the floating pin problem and fix: diff --git a/arduino/debouncing.md b/arduino/debouncing.md index 280fd433..6ec35e30 100644 --- a/arduino/debouncing.md +++ b/arduino/debouncing.md @@ -36,12 +36,12 @@ If you built the [button piano](piano.md) in the previous lesson, you may have a > - Hardware debouncing solutions using capacitors and Schmitt Triggers **Video**. A slow-motion video of a hammer bouncing off a table to help illustrate how switch contacts bounce before entering a steady state. Video from Episode 37 ["Contact and Bounce"](https://youtu.be/jI-rC2FCKo4) of [The Current Source](https://www.youtube.com/channel/UCw0U6DtO0PHb3l37eKEAdSg) YouTube channel. {: .fs-1 } - + So, what can you do? The solution is to "debounce" your switches, which can be done via software or [pure hardware solutions](#pure-hardware-solutions), which we'll address below. But first, let's learn a bit more about the problem before discussing solutions. We're going to use the term 'switch' to refer to any class of electromechanical device that has electrical contact points that can mechanically move to open or close an electrical circuit. @@ -50,7 +50,7 @@ So, what can you do? The solution is to "debounce" your switches, which can be d [The Current Source](https://www.youtube.com/channel/UCw0U6DtO0PHb3l37eKEAdSg) recorded slow motion videos of switches bouncing during activations and deactivations. Just like the hammer, this electrical contact visibly bounces when first activated, creating a noisy contact signal. **Video**. A slow-motion video of a switch mechanically bouncing off its contacts. Buttons are mechanical devices. When a button is pressed or a contact switch moved, it creates a rapid oscillation of open- and closed-circuits before settling to its final state. In comparison to computation, mechanical motion is slow. Microcontrollers—even old, slow ones like the ATmega328—work so fast that they will read these rapid oscillations as `HIGH` and `LOW` input state changes. Video from Episode 37 ["Contact and Bounce"](https://youtu.be/jI-rC2FCKo4) of [The Current Source](https://www.youtube.com/channel/UCw0U6DtO0PHb3l37eKEAdSg) YouTube channel. {: .fs-1 } diff --git a/arduino/force-sensitive-resistors.md b/arduino/force-sensitive-resistors.md index d8d2c296..17ef1259 100644 --- a/arduino/force-sensitive-resistors.md +++ b/arduino/force-sensitive-resistors.md @@ -2,7 +2,7 @@ layout: default title: L5: Force-Sensitive Resistors description: "Use force-sensitive resistors (FSRs) and other two-legged variable resistors with Arduino via a voltage divider, then build a force-controlled musical instrument with map() and tone()." -image: /arduino/assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif +image: /arduino/assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif nav_order: 5 parent: Input grand_parent: Intro to Arduino @@ -33,7 +33,7 @@ This lesson directly builds on the prior one ([potentiometers](potentiometers.md > - How to use `map()` to convert between different value ranges > - How to build a force-controlled musical instrument combining `analogRead` and `tone()` -![Animation showing an FSR pressing down and an LED getting brighter as resistance drops](assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif) +![Animation showing an FSR pressing down and an LED getting brighter as resistance drops](assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif) **Figure.** Animation shows how the resistance of the FSR drops with applied pressure (higher pressure, lower resistance, brighter LED). {: .fs-1 } diff --git a/arduino/led-blink.md b/arduino/led-blink.md index 6840c7ba..3e068963 100644 --- a/arduino/led-blink.md +++ b/arduino/led-blink.md @@ -2,7 +2,7 @@ layout: default title: L2: Blinking an LED description: "Write your first Arduino sketch to blink an LED by programmatically toggling a GPIO pin HIGH and LOW with digitalWrite()—your entrée into combining circuits and code." -image: /arduino/assets/movies/Arduino_LEDBlink_Pin3.gif +image: /arduino/assets/videos/Arduino_LEDBlink_Pin3.gif nav_order: 2 parent: Output grand_parent: Intro to Arduino @@ -21,7 +21,7 @@ usetocbot: true {:toc} --- @@ -30,7 +30,7 @@ In our [first lesson](led-on.md), we directly hooked up an LED circuit to the Ar In this lesson, we are going to do something more exciting: use the Arduino to turn the LED on and off by *programmatically* controlling the output voltage on one of Arduino's GPIO pins. This begins our entrée into the two key aspects of working with microcontrollers: (1) building circuits and (2) writing code to interact with those circuits. -![Animation showing an LED connected to Pin 3 on the Arduino blinking on and off](assets/movies/Arduino_LEDBlink_Pin3.gif) +![Animation showing an LED connected to Pin 3 on the Arduino blinking on and off](assets/videos/Arduino_LEDBlink_Pin3.gif) @@ -106,7 +106,7 @@ It's the same with the Arduino Leonardo (see [official pinout diagram here](http Finally, here's a [Tinkercad Circuit simulation](https://www.tinkercad.com/things/djhZYuYyqOR-using-all-20-gpio-pins-as-digital-out) demonstrating the use of all 20 digital I/O pins as digital output. **Figure.** A [Tinkercad Circuit simulation](https://www.tinkercad.com/things/djhZYuYyqOR-using-all-20-gpio-pins-as-digital-out) showing how to use all 20 GPIO pins as digital output on the Arduino Uno. You can try the simulation yourself [here](https://www.tinkercad.com/things/djhZYuYyqOR-using-all-20-gpio-pins-as-digital-out) and view the code on [GitHub here](https://github.com/makeabilitylab/arduino/blob/master/Basics/digitalWrite/BlinkAll20Pins/BlinkAll20Pins.ino). {: .fs-1 } @@ -184,7 +184,7 @@ We did it! Now it's time to compile and upload the code to Arduino. Compile the code by clicking on the "verify" checkmark button in the upper-left corner of the Arduino IDE. If you haven't already, the Arduino IDE will also ask you to save your sketch. If there are any syntax or other identifiable errors in the code, the Arduino IDE will print them out in the console window at the bottom. -![Animation showing how to compile and save a sketch in the Arduino IDE](assets/movies/ArduinoIDE_Compile.gif) +![Animation showing how to compile and save a sketch in the Arduino IDE](assets/videos/ArduinoIDE_Compile.gif) ### Step 5: Upload the code to Arduino @@ -195,14 +195,14 @@ Finally, upload the code to the Arduino by clicking on the "right arrow" button Once uploading is complete, the code automatically runs on the Arduino and the LED should immediately turn on! **Figure.** Uploading and running the LED-on code on an Arduino Uno. Note: on my Windows machine, I use a [dark theme](https://create.arduino.cc/projecthub/konradhtc/one-dark-arduino-modern-dark-theme-for-arduino-ide-2fca81) for the Arduino IDE. Since the 2.x version of the IDE, there are several pre-installed dark themes. {: .fs-1 } Here's an illustrative animation of what's happening in your circuit when the Arduino drives Pin 3 `HIGH`—hopefully, this matches your conceptual understanding as well: -![Animation showing the LED on Pin 3 turning on](assets/movies/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif) +![Animation showing the LED on Pin 3 turning on](assets/videos/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif) ## Turn on and off the LED programmatically via Pin 3 @@ -246,7 +246,7 @@ void loop() { We're done! Now, compile and upload the code and see it run! ### Step 4: Replace constants @@ -273,7 +273,7 @@ void loop() { How does this work? See the code walkthrough video below. The key idea is that `setup()` runs once to configure Pin 3 as output, then `loop()` runs repeatedly: it sets Pin 3 `HIGH` (turning the LED on), waits one second, sets Pin 3 `LOW` (turning the LED off), waits another second, and then `loop()` is automatically called again—creating a continuous blink. ### Our Blink code is in GitHub @@ -296,7 +296,7 @@ In your mind, imagine what the voltage out of Pin 3 looks like over time (the x- Using Tinkercad Circuits, we built the same LED-based circuit as above running the Blink program and hooked it up to an oscilloscope. Then, we recorded different `delay` values (400, 200, and 50) and created this movie. Is the graph what you expected? Why or why not? We suggest opening the video in its own tab or viewing it in fullscreen to see the details. **Figure.** A video of this [Tinkercad project](https://www.tinkercad.com/things/17q2GFeYwP9) with three different `delay` values for both `HIGH` and `LOW`: 400, 200, and 50. {: .fs-1 } @@ -329,7 +329,7 @@ As a quick mental model check, it's worth emphasizing that once you upload the c Note: when you upload a *new* program, it replaces the previous one—only one program can be stored on the Arduino at a time. You don't need to manually erase the old program first. ## Blink without using delay() diff --git a/arduino/led-blink2.md b/arduino/led-blink2.md index 8c40ee74..c1d80809 100644 --- a/arduino/led-blink2.md +++ b/arduino/led-blink2.md @@ -2,7 +2,7 @@ layout: default title: L6: Blinking Two LEDs description: "Understand current sourcing vs. current sinking by blinking two LEDs on a breadboard—one circuit where the Arduino pin sources current and one where it sinks it." -image: /arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif +image: /arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif nav_order: 6 parent: Output grand_parent: Intro to Arduino @@ -30,7 +30,7 @@ We are going to build two simple LED circuits: Yes, this can be a bit confusing at first ("*wait, the LED turns off when Pin 4 is `HIGH`?!?!*"). But you'll gain understanding by completing this lesson. In the animation below, pay attention to the current direction in each circuit. Notice how they're opposite! -![Animation showing how driving Pin 3 and 4 HIGH will turn on LED Circuit 1 and off LED Circuit 2 and driving those pins LOW will turn off LED Circuit 1 and on LED Circuit 2](assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif) +![Animation showing how driving Pin 3 and 4 HIGH will turn on LED Circuit 1 and off LED Circuit 2 and driving those pins LOW will turn off LED Circuit 1 and on LED Circuit 2](assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif) ## Materials @@ -76,7 +76,7 @@ Importantly, the Pin 3 circuit (**LED Circuit 1**) will turn ***on*** with `digi When Pin 3 is `HIGH` (5V), there is a voltage difference between Pin 3 and `GND` so current flows from Pin 3 to ground. When Pin 4 is `HIGH` (5V), however, there is no voltage difference across the circuit (from Pin 4 to 5V) and thus, no current. This behavior is illustrated in the animation below. Let's write the code! @@ -117,7 +117,7 @@ void loop() { We did it! Now compile and upload the code. -![Top-down workbench animated gif of the circuit working with Arduino](assets/movies/ArduinoUno_Blink2_Workbench.gif) +![Top-down workbench animated gif of the circuit working with Arduino](assets/videos/ArduinoUno_Blink2_Workbench.gif) And here's a top-down video with the code window: @@ -125,7 +125,7 @@ And here's a top-down video with the code window: - + ## Our Blink2 code on GitHub diff --git a/arduino/led-blink3.md b/arduino/led-blink3.md index 16cd324c..5de0ca01 100644 --- a/arduino/led-blink3.md +++ b/arduino/led-blink3.md @@ -2,7 +2,7 @@ layout: default title: L9: Rate Blinking LEDs description: "Blink multiple LEDs at different rates without delay() and write your first C++ class to eliminate redundant code and shrink your Arduino sketch." -image: /arduino/assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif +image: /arduino/assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif nav_order: 9 parent: Output grand_parent: Intro to Arduino @@ -25,7 +25,7 @@ In this lesson, we will learn how to blink multiple LEDs at different rates and As with our previous lesson on [crossfading RGB LEDs](rgb-led-fade.md), this lesson involves **simple circuits** but comparatively **complex code**. Often, when using microcontrollers, our code is the magic sauce—the circuits are straightforward but the code can be complicated. -![Animated gif of a workbench video recording showing BlinkMultiple.ino](assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif) +![Animated gif of a workbench video recording showing BlinkMultiple.ino](assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif) ## Background diff --git a/arduino/led-fade.md b/arduino/led-fade.md index bc8b7cea..81bad170 100644 --- a/arduino/led-fade.md +++ b/arduino/led-fade.md @@ -2,7 +2,7 @@ layout: default title: L4: Fading an LED description: "Smoothly fade an LED on and off with Arduino's analogWrite() and pulse-width modulation (PWM), controlling output voltage at fine gradations beyond just HIGH/LOW." -image: /arduino/assets/movies/Arduino_LEDFade_Pin3.gif +image: /arduino/assets/videos/Arduino_LEDFade_Pin3.gif nav_order: 4 parent: Output grand_parent: Intro to Arduino @@ -23,7 +23,7 @@ usetocbot: true In the [previous lesson](led-blink.md), we learned how to turn on and off an LED using [`digitalWrite`](https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/)—which worked by alternately setting Pin 3 to 5V (`HIGH`) and 0V (`LOW`). In this lesson, we'll learn how to programmatically control the output voltage at finer gradations using [`analogWrite`](https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/). More specifically, we will gradually fade an LED on and off like the animation below illustrates. -![Animation showing the LED on Pin 3 gradually fading on and off](assets/movies/Arduino_LEDFade_Pin3.gif) +![Animation showing the LED on Pin 3 gradually fading on and off](assets/videos/Arduino_LEDFade_Pin3.gif) **Figure.** This illustrative animation doesn't show current (the yellow circles) only due to my limited animation skills. But hopefully you can visualize (in your mind) how the LED varies in brightness with current just the same. :) {: .fs-1 } @@ -203,7 +203,7 @@ In addition to visualizing the **actual** voltage output from `analogWrite` (the In the video below, we see a simulation of our [fade code](https://github.com/makeabilitylab/arduino/blob/master/Basics/analogWrite/FadeOnAndOffForLoop/FadeOnAndOffForLoop.ino) + circuit running in Tinkercad. On the right side, in the [Serial Monitor](https://www.programmingelectronics.com/using-the-print-function-with-arduino-part-1/) window, we are printing and graphing out the real-time effective voltages output on Pin 3. ## Calculating the current through our LED diff --git a/arduino/led-on.md b/arduino/led-on.md index c31988a6..5aa83414 100644 --- a/arduino/led-on.md +++ b/arduino/led-on.md @@ -2,7 +2,7 @@ layout: default title: L1: Turning on an LED description: "Your first Arduino activity: wire an LED to the 5V and GND pins to light it up—no code required—and build familiarity with Arduino hardware and current flow." -image: /arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif +image: /arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif nav_order: 1 parent: Output grand_parent: Intro to Arduino @@ -22,7 +22,7 @@ usetocbot: true --- For our first learning activity, we are going to use Arduino to turn on an [LED](../electronics/leds.md). We're **not** going to write any code. Instead, our goal is to build some initial familiarity with Arduino hardware and connecting components to Arduino pins before we introduce programming, which we do in the [next lesson](led-blink.md). -![Animation showing a USB cable plugging into an Arduino Uno to power an LED + resistor hooked up to 5V and GND](assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif) +![Animation showing a USB cable plugging into an Arduino Uno to power an LED + resistor hooked up to 5V and GND](assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif) **Figure.** The movement of **current** in the circuit is illustrated by the animated yellow circles. This visualization is a coarse abstraction designed to emphasize the direction of current flow. A more accurate visualization would show that electrons are already distributed throughout a wire before a voltage is applied. See our [Introduction to Electronics](../electronics/index.md) series, specifically the lesson on [Voltage, Current, and Resistance](../electronics/electricity-basics.md). {: .fs-1 } @@ -62,7 +62,7 @@ Insert the LED + resistor into the Arduino: Make sure to push the legs down so they are well seated inside the Arduino's female headers. -![Animation of LED + resistor being connected to Arduino's GND and 5V ports](assets/movies/Arduino_LEDOn_5VFixed_InsertLED.gif) +![Animation of LED + resistor being connected to Arduino's GND and 5V ports](assets/videos/Arduino_LEDOn_5VFixed_InsertLED.gif) ### Step 3: Connect your Arduino to power @@ -76,7 +76,7 @@ For power, you can use a USB cable (which supplies 5V) or a 9V battery (which su | USB Power | 9V Power | |:-------------|:------------------| -| ![Animation showing a USB cable plugging into an Arduino Uno to power an LED + resistor hooked up to 5V and GND](assets/movies/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif) | ![Animation showing a 9V battery plugging into an Arduino Uno to power an LED + resistor hooked up to 5V and GND](assets/movies/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif) | +| ![Animation showing a USB cable plugging into an Arduino Uno to power an LED + resistor hooked up to 5V and GND](assets/videos/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif) | ![Animation showing a 9V battery plugging into an Arduino Uno to power an LED + resistor hooked up to 5V and GND](assets/videos/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif) | | With USB power, the 5V pin supplies 5V | Using the Arduino's barrel jack, we can connect an external power supply like a 7-12V wall adapter or a 9V battery. The Arduino's internal voltage regulator reduces these higher voltages to output a clean 5V | {: .warning } @@ -183,7 +183,7 @@ Here's a picture of the test setup and circuits for the measurements above: Finally, we can also examine this circuit in a simulator, which mirrors our empirical measurements: **Figure.** A [CircuitJS simulation](https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWcMBMcUHYMGZIA4UA2ATmIxAUgpABZsKBTAWjDACgA3cQqhYlblTAZCUMTV5iqMBGwDugxTWKiwPcGwBOtFeBE7RKBKKpp5ivgOWjLGhdaW7hh8w6Oi3GASjYAPcEQg2BhCNEjB9DTcFABqbNhRAGZyACaaAPYADgA6AI4o0GBM9BDE0NgozKxQsDRWsNj8CTQ8LcpqUrCyala6mL2iFaYgyWlZeQVFJVI1kD49BkHYHrrYeFECoxk5+YXF4DMwc66raIvYyyA+CmpC6rd6JieD64sSpmwLDu9vNHhXI1S2wme2m0lm80IA1ohCiDgQYG8gLGO0m+wg4KO11+-2+sKuzwoiMWtmxFVofyCAlJnyhVNocHpNEpmyB412UwOmNgZIEayi5J+2OKkCiDxFYv0kHM5KG9IuLgWssusterJRIM5GM6xyV3i88rO6uBHPRhx5fhAxTWQRCVuwYGItsi0QQcQU5Pc9P6BI9Age5Ocvvtooo-HptnY2kD+k9xjEaGlCglikD904IaithTQfBEmo3NkAHNM2GBCmeP9pGwSw9I+pK1JLUwiOREVEW0hEeQxf8ACoAC00DAY2QAzgBlBiaACWDDH44AMgBRAAiC7HAAoYtOAJ7j1czgC2AEpLUQhIFmf6UE7eyAAGLpACumnHU9n86Xa43m4A8okiRnv4TCEBgXZGFaCDBAEuLgP2cjpO+05zhuK7rjWVoiP82bYSAjbVlwTB4bhhD-Lm4iSIW5jEWRihMHQ-rptoDExqIrHePGphwDRJHhhxZZ2FajH0SJQbCiJXoCT6PggXgcy2lQxF4PQES0K6cQLNJBoCXKxrsmiYI6pC5YiQqwmqhsyImoZXLGTRZlnLplzCnh4puVKDmWRZ1LhsKeCrJcTABTYfk0YiaZKRF-qecmIVUkp8XmSZVrxT6wWnMMWwGaCdnSBaIGIoQgx2iwKA0OQalijY7qpX08YZYYBr+U46iNY8wZleS2bxZGWh1ao+jtV63FJla0X0fFDzsERE3ZhNFFUPmSDUSWXW+eWE0EVAzasIy3bjXMqi4OpYD-H+AB2o5juhbBAA) of various LED series configurations with a 5V voltage supply. {: .fs-1 } @@ -199,7 +199,7 @@ Well, in a parallel configuration, each resistor+LED branch is getting ~$$I=\fra {: .fs-1 } @@ -270,7 +270,7 @@ V_R = 3.3V - 2V\to1.3V$$ With ($$V_R=1.3V$$), we can now use Ohm's Law to calculate $$I$$: $$I = \frac{V}{R}\to\frac{1.3V}{220}\to5.9mA$$ -![Animation showing a USB cable plugging into an Arduino Uno to power an LED + resistor hooked up to 3.3V and GND](assets/movies/Arduino_LEDOn_3.3VFixed_USBPower.gif) --> +![Animation showing a USB cable plugging into an Arduino Uno to power an LED + resistor hooked up to 3.3V and GND](assets/videos/Arduino_LEDOn_3.3VFixed_USBPower.gif) --> diff --git a/arduino/potentiometers-old.md b/arduino/potentiometers-old.md index b30fc9c4..fd7a827d 100644 --- a/arduino/potentiometers-old.md +++ b/arduino/potentiometers-old.md @@ -38,7 +38,7 @@ A [video](https://youtu.be/MJt9kSNlsU4) demonstration of a [trimpot](https://www A [potentiometer](https://en.wikipedia.org/wiki/Potentiometer) (or pot) is a three-terminal resistor with a sliding or rotating contact that can be used to dynamically vary resistance. -![Animation showing how a potentiometer works](assets/movies/Potentiometer_Overview_Animation_TrimmedAndCropped.gif) +![Animation showing how a potentiometer works](assets/videos/Potentiometer_Overview_Animation_TrimmedAndCropped.gif) Animation shows how the wiper can be used to vary resistance. The figure on the right is the formal electrical symbol. {: .fs-1 } @@ -169,7 +169,7 @@ Here's one possible wiring for a potentiometer-based LED fading circuit: Once you're done, try simulating your circuit. Click the "Start Simulation" button (see animation below): -![Animation of the LED-based circuit with potentiometer working in the Tinkercad simulator](assets/movies/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif) +![Animation of the LED-based circuit with potentiometer working in the Tinkercad simulator](assets/videos/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif) In the circuit above, we hooked up legs 2 and 3 of the potentiometer. What happens if you, instead, hook up legs 1 and 3 or 1 and 2? Try it! @@ -207,7 +207,7 @@ Note: when you drag over a multimeter, make sure you click on it and change the Here's our circuit with the ammeter running in the simulator. Does the simulation match your expectations? -![Animation of the LED-based circuit with potentiometer and ammeter working in the Tinkercad simulator](assets/movies/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif) +![Animation of the LED-based circuit with potentiometer and ammeter working in the Tinkercad simulator](assets/videos/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif) Because we have Leg 2 hooked to the positive voltage source and Leg 3 as our "output", as we move the wiper from left-to-right, there is a smaller amount of resistance and an increase in current. You'll notice a jump in current when the $$V_f$$ condition of the LED is met (recall the [LED IV curves](http://lednique.com/current-voltage-relationships/iv-curves/) from lecture). @@ -241,7 +241,7 @@ You can play with this Tinkercad circuit [here](https://www.tinkercad.com/things Here's a workbench video of my trimpot circuit: - +
diff --git a/arduino/potentiometers.md b/arduino/potentiometers.md index b06e078f..d10c3afb 100644 --- a/arduino/potentiometers.md +++ b/arduino/potentiometers.md @@ -126,7 +126,7 @@ Here's one possible wiring for a potentiometer-based LED fading circuit: Once you're done, try simulating your circuit. Click the "Start Simulation" button (see animation below): -![Animation of the LED-based circuit with potentiometer working in the Tinkercad simulator](assets/movies/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif) +![Animation of the LED-based circuit with potentiometer working in the Tinkercad simulator](assets/videos/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif) In the circuit above, we hooked up legs 2 and 3 of the potentiometer. What happens if you, instead, hook up legs 1 and 3 or 1 and 2? Try it! @@ -164,7 +164,7 @@ Note: when you drag over a multimeter, make sure you click on it and change the Here's our circuit with the ammeter running in the simulator. Does the simulation match your expectations? -![Animation of the LED-based circuit with potentiometer and ammeter working in the Tinkercad simulator](assets/movies/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif) +![Animation of the LED-based circuit with potentiometer and ammeter working in the Tinkercad simulator](assets/videos/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif) Because we have Leg 2 hooked to the positive voltage source and Leg 3 as our "output", as we move the wiper from left-to-right, there is a smaller amount of resistance and an increase in current. You'll notice a jump in current when the $$V_f$$ condition of the LED is met (recall the [LED IV curves](../electronics/leds.md#the-iv-graph-for-leds) from our [LED lesson](../electronics/leds.md)). @@ -198,7 +198,7 @@ You can play with this Tinkercad circuit [here](https://www.tinkercad.com/things Here's a workbench video of our trimpot circuit where the potentiometer is simply a two-legged variable resistor and we're using the Arduino only as a 5V voltage source: - +
@@ -219,7 +219,7 @@ Analog input! More formally, just like **analog output** enabled us to write out voltages between 0V and 5V, **analog input** enables us to **read voltages between 0V and 5V**. How does this work? Via an [ADC](https://en.wikipedia.org/wiki/Analog-to-digital_converter). **Video.** While digital input is simply HIGH (5V) or LOW (0V), analog can be anywhere in between. Our ability to sense gradations in the voltage signal is based on the resolution of the analog-to-digital converter. In the case of the Arduino Uno and Leonardo, this is 10 bits. {: .fs-1 } diff --git a/arduino/rgb-led.md b/arduino/rgb-led.md index d4bc2b86..4831f478 100644 --- a/arduino/rgb-led.md +++ b/arduino/rgb-led.md @@ -2,7 +2,7 @@ layout: default title: L7: RGB LEDs description: "Drive an RGB LED through a sequence of colors with Arduino and learn the difference between common anode and common cathode RGB LED wiring." -image: /arduino/assets/movies/Arduino_RGBLED_CommonCathode-Optimized.gif +image: /arduino/assets/videos/Arduino_RGBLED_CommonCathode-Optimized.gif nav_order: 7 parent: Output grand_parent: Intro to Arduino @@ -23,7 +23,7 @@ usetocbot: true In this tutorial, we will use an RGB LED (RGB stands for Red, Green, Blue) to flash through a sequence of colors and learn about the difference between a Common Anode and Common Cathode RGB LED design. -![Animation showing the RGB LED being set to various colors based on digital output on Pins 3, 5, and 6](assets/movies/Arduino_RGBLED_CommonCathode-Optimized.gif) +![Animation showing the RGB LED being set to various colors based on digital output on Pins 3, 5, and 6](assets/videos/Arduino_RGBLED_CommonCathode-Optimized.gif) ## Materials @@ -193,7 +193,7 @@ The yogurt container is used to diffuse the light. Kleenex, white paper, or a pi Below, we show a video animation of the code executing and resulting circuit behavior. Pay close attention to the direction of current—it will flow in the opposite direction with the Common Anode design (covered next). ## Common Anode @@ -250,7 +250,7 @@ We will flash the same sequence as before but again our `HIGH`s and `LOW`s are f Here's an animation. Pay close attention to the current direction—it flows from 5V down through the LED, the current limiting resistors, and into the digital I/O pins. We're not going to include code specifically for the Common Anode RGB LED. Instead, we'll show how to adapt our previous Common Cathode code with only a few additional lines. diff --git a/arduino/serial-print.md b/arduino/serial-print.md index 6d35b525..93c3730a 100644 --- a/arduino/serial-print.md +++ b/arduino/serial-print.md @@ -22,7 +22,7 @@ usetocbot: true --- **Figure.** A video showing how to use Serial.println() to debug code. For this, we modified the simple blink program to add serial prints ([source code](https://github.com/makeabilitylab/arduino/blob/master/Basics/digitalWrite/BlinkWithSerialPrint/BlinkWithSerialPrint.ino)). {: .fs-1 } @@ -160,7 +160,7 @@ void loop() { Here's a video of my code running with the Serial Monitor in the background. **Figure.** A video of the blink program with serial prints showing in the Serial Monitor ([source code](https://github.com/makeabilitylab/arduino/blob/master/Basics/digitalWrite/BlinkWithSerialPrint/BlinkWithSerialPrint.ino)). {: .fs-1 } diff --git a/esp32/assets/movies/Huzzah32_Blink-optimized.gif b/esp32/assets/videos/Huzzah32_Blink-optimized.gif similarity index 100% rename from esp32/assets/movies/Huzzah32_Blink-optimized.gif rename to esp32/assets/videos/Huzzah32_Blink-optimized.gif diff --git a/esp32/assets/movies/Huzzah32_Fade-optimized.gif b/esp32/assets/videos/Huzzah32_Fade-optimized.gif similarity index 100% rename from esp32/assets/movies/Huzzah32_Fade-optimized.gif rename to esp32/assets/videos/Huzzah32_Fade-optimized.gif diff --git a/esp32/assets/movies/Huzzah32_GPIOFadeTestAllPinsSimultaneously-Optimized3.gif b/esp32/assets/videos/Huzzah32_GPIOFadeTestAllPinsSimultaneously-Optimized3.gif similarity index 100% rename from esp32/assets/movies/Huzzah32_GPIOFadeTestAllPinsSimultaneously-Optimized3.gif rename to esp32/assets/videos/Huzzah32_GPIOFadeTestAllPinsSimultaneously-Optimized3.gif diff --git a/esp32/assets/movies/Huzzah32_PotFade-optimized.gif b/esp32/assets/videos/Huzzah32_PotFade-optimized.gif similarity index 100% rename from esp32/assets/movies/Huzzah32_PotFade-optimized.gif rename to esp32/assets/videos/Huzzah32_PotFade-optimized.gif diff --git a/esp32/esp32.md b/esp32/esp32.md index eb33024c..c7d526f2 100644 --- a/esp32/esp32.md +++ b/esp32/esp32.md @@ -188,7 +188,7 @@ The Huzzah32 uses the original ESP32 chip. The pin layout differs from the ESP32 - The charge LED will blink rapidly when no LiPoly battery is plugged in—this is harmless. - Power via USB (max 5V, 1A) or LiPoly battery (3.7/4.2V) only. **Do not** use a 9V battery! -![Animation of all 18 GPIO output pins fading in and out on the Huzzah32](assets/movies/Huzzah32_GPIOFadeTestAllPinsSimultaneously-Optimized3.gif) +![Animation of all 18 GPIO output pins fading in and out on the Huzzah32](assets/videos/Huzzah32_GPIOFadeTestAllPinsSimultaneously-Optimized3.gif) **Figure.** The Huzzah32 has 21 GPIO pins, but pins 34, 39, and 36 are input-only. Here, all 21 GPIO pins are set to fade—only 18 produce output. {: .fs-1 } diff --git a/sensors/assets/movies/HallEffectAnimation_HowToMechatronics-Optimized.gif b/sensors/assets/videos/HallEffectAnimation_HowToMechatronics-Optimized.gif similarity index 100% rename from sensors/assets/movies/HallEffectAnimation_HowToMechatronics-Optimized.gif rename to sensors/assets/videos/HallEffectAnimation_HowToMechatronics-Optimized.gif diff --git a/sensors/assets/movies/Hall_sensor_tach_Wikipedia.gif b/sensors/assets/videos/Hall_sensor_tach_Wikipedia.gif similarity index 100% rename from sensors/assets/movies/Hall_sensor_tach_Wikipedia.gif rename to sensors/assets/videos/Hall_sensor_tach_Wikipedia.gif diff --git a/sensors/assets/movies/HowAReedSwitchWorks_Wikipedia.gif b/sensors/assets/videos/HowAReedSwitchWorks_Wikipedia.gif similarity index 100% rename from sensors/assets/movies/HowAReedSwitchWorks_Wikipedia.gif rename to sensors/assets/videos/HowAReedSwitchWorks_Wikipedia.gif diff --git a/sensors/assets/movies/ReedSwitchAnimation-Optimized.gif b/sensors/assets/videos/ReedSwitchAnimation-Optimized.gif similarity index 100% rename from sensors/assets/movies/ReedSwitchAnimation-Optimized.gif rename to sensors/assets/videos/ReedSwitchAnimation-Optimized.gif diff --git a/sensors/hall-effect.md b/sensors/hall-effect.md index 842edf50..c2cbf714 100644 --- a/sensors/hall-effect.md +++ b/sensors/hall-effect.md @@ -41,7 +41,7 @@ Electricity and magnetism have long captured human interest but were considered Enter Edwin Hall. As a PhD student at Johns Hopkins in 1879, Hall discovered the "Hall effect", which is the production of a small voltage difference across an electrical conductor **transverse** to the electric current when a magnetic field is applied ([Wikipedia](https://en.wikipedia.org/wiki/Hall_effect#Discovery)). This [animation](https://youtu.be/wpAA3qeOYiI) by "How to Mechatronics" helps demonstrate the effect. When a magnet is introduced, it repels negative charges to one side of the conductor creating an asymmetric distribution of charge (perpendicular to the flow of current) on the conductor. This separation of charge establishes a new electric field with a small electric potential (often in the millivolts), which can be measured by a multimeter or similar device. -![Animation of Hall Effect](assets/movies/HallEffectAnimation_HowToMechatronics-Optimized.gif) +![Animation of Hall Effect](assets/videos/HallEffectAnimation_HowToMechatronics-Optimized.gif) Animation from ["How to Mechatronics"](https://youtu.be/wpAA3qeOYiI) {: .fs-1 } @@ -107,7 +107,7 @@ While some Hall effect sensors produce binary output (`HIGH` or `LOW`) and thus, | Reed Switch Animation | Slow Motion Activation Video | | ---------- | ----------- | -| ![Reed switch slow-mo video](assets/movies/ReedSwitchAnimation-Optimized.gif) | ![Reed switch animation](assets/movies/HowAReedSwitchWorks_Wikipedia.gif) | +| ![Reed switch slow-mo video](assets/videos/ReedSwitchAnimation-Optimized.gif) | ![Reed switch animation](assets/videos/HowAReedSwitchWorks_Wikipedia.gif) | The slow-motion activation video is from [Wikipedia](https://en.wikipedia.org/wiki/Reed_switch). {: .fs-1 } diff --git a/website-dev.md b/website-dev.md index cbdd46c4..fa2eb9b1 100644 --- a/website-dev.md +++ b/website-dev.md @@ -72,7 +72,7 @@ page-specific instead of falling back to the generic site description and card. layout: default title: L4: Fading an LED description: "Smoothly fade an LED on and off with Arduino's analogWrite() and pulse-width modulation (PWM), controlling output voltage at fine gradations beyond just HIGH/LOW." -image: /arduino/assets/movies/Arduino_LEDFade_Pin3.gif +image: /arduino/assets/videos/Arduino_LEDFade_Pin3.gif nav_order: 4 parent: Output ---