Difference between revisions of "Tutorial Digital IO"

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
(4 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
* you can read in the status of a GPIO  
 
* 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
 
* 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 sensors include additional examples.
 +
 +
=== Microcontroller ===
 +
* [[ESP32 Web Kit]] with integrated OLED Display from Heltec
 +
* [[ESP8266 ESP-12F]] NodeMCU Module from AZDelivery
 +
 +
=== Actuators ===
 +
* [[LED]]s in different colors to connect externally
 +
* [[RGB LED]] multi-color LED
 +
* [[LED Ring NeoPixel]]
 +
* [[Piezo Speaker]]
 +
* [[Speaker]]
 +
* [[SG90 Servo]] Micro Servo Motor
 +
* [[Stepper Motor and ULN2003]] 28BYJ-48 ULN2003 5V Stepper Motor + ULN2003 Driver Board
 +
* [[IRF520 Module]] Power MOSFET switching module ('electronic relay')
 +
 +
=== Sensors (and physical controllers) ===
 +
* [[push button]]
 +
* [[Switch]]
 +
* [[PIR Sensor]] passive infrared motion sensor
  
 
= Instructional Videos =
 
= Instructional Videos =
Line 30: Line 52:
  
 
<youtube>_4bXk8JjQSk</youtube>
 
<youtube>_4bXk8JjQSk</youtube>
 +
 +
== 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
 +
 +
<youtube>HPQMvL1SP_c</youtube>
  
  

Revision as of 14:19, 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 sensors 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