Difference between revisions of "Tutorial Digital IO"

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
Line 30: Line 30:
 
* [[push button]], several in the  
 
* [[push button]], several in the  
 
* [[Switch]],  
 
* [[Switch]],  
* [[PIR Sensor]] passive infrared motion sensor,
+
* [[PIR Sensor]] passive infrared motion sensor
  
 
= Instructional Videos =
 
= Instructional Videos =

Revision as of 13:13, 31 August 2020

Digital Input and Output with MicroPyton and ESP32/ESP8266

In this part of the tutorial, we explain how to control digital outputs and how to read digital inputs using MicroPyton on ESP32/ESP8266. This includes switching the state of the GPIOs (general purpose input output) and also how to create a pulse width modulation output for changing the brightness of an LED or for controlling a servo.

Success criteria

  • you can set a GPIO pin to on or off from the python prompt
  • you can write a loop to blink an external LED
  • you can use pulse width modulation to control the intensity of an LED
  • you can use pulse width modulation to control a servo that can be directly driven from the ESP Module
  • you can read in the status of a GPIO
  • you can connect a switch or a push-button and read its status into a variable

Related Components

The components are related to the LMUBox. For more components, see the [[Hardware List]. Many of the pages on actuators and sensor include additional examples.

Microcontroller

Actuators

Sensors (and physical controllers)

Instructional Videos

The videos are a first test... the ones marked with ** will be replaced over the next months with new versions.

Digital Output: Adding an external LED to the controller

In this video on youtube (30:30) we show how to connect an LED and how to control it from MicroPython: https://youtu.be/0KGgYsEZcZM


Digital Output: Connectin an external LED (old version using WebREPL **)

In this video on youtube (16:54) we show how to connect an LED and how to control it from MicroPython: https://youtu.be/G6HZ1etMRbM


PWM Output: connecting a servo (old version using WebREPL **)

In this video on youtube (14:40) we explain the concept of pulse width modulation (PWM) and how to program it in MicrpPython. We show how to use PWM to controll a servo: https://youtu.be/_4bXk8JjQSk

PWM Output: creating sounds

In this video on youtube (23:56) we explain how to create a sound on a digital output pin. We have two versions, one with the sleep function and one with pulse width modulation (PWM) in MicrpPython. We also show how to add an PAM8403_Stereo_Amplifier: https://youtu.be/HPQMvL1SP_c


Digital Input - connecting a switch and a push-button **

In this video on youtube (30:31) we explain how to read in digital inputs in MicrpPython. We show how to connect a switch and a push-button and also explain the basic concept of a pull-up resistor: https://youtu.be/va1beT6sxLs