Difference between revisions of "GPIO"

From Let's Control It
Jump to navigation Jump to search
Line 16: Line 16:
 
We do not have to select a task to control basic GPIO output.
 
We do not have to select a task to control basic GPIO output.
  
 +
=== Basic on/off ===
 
We can control the pin with simple http url commands. To change the pin to high or low steady output:
 
We can control the pin with simple http url commands. To change the pin to high or low steady output:
  
Line 23: Line 24:
  
  
 +
=== PWM control ===
 
To set a certain PWM level:
 
To set a certain PWM level:
  
Line 28: Line 30:
  
  
 +
=== Short pulses ===
 
To send a pulse to a certain pin:
 
To send a pulse to a certain pin:
  
Line 36: Line 39:
 
'''<nowiki>http://<ESP IP address>/control?cmd=Pulse,2,1,500</nowiki>'''
 
'''<nowiki>http://<ESP IP address>/control?cmd=Pulse,2,1,500</nowiki>'''
  
 +
 +
=== Servo motor control ===
 
To control a Servo Motor:
 
To control a Servo Motor:
  

Revision as of 16:37, 11 October 2015

Introduction

The ESP module can control things with it's build-in GPIO output pins. We can turn these on or off or we can set these pins to a special Pulse modulated value (PWM output). And it's also possible to send short pulses (single puls) to one of these pins to control specific devices that are switched with a single short high or low signal.

Hardware

It's best to connect a LED to the GPIO to test your setup. You could dim this LED with the PWM mode commands.


LED.png


Software

Custom Sketch

ESP Easy

We do not have to select a task to control basic GPIO output.

Basic on/off

We can control the pin with simple http url commands. To change the pin to high or low steady output:

http://<ESP IP address>/control?cmd=GPIO,<pin>,0

http://<ESP IP address>/control?cmd=GPIO,<pin>,1


PWM control

To set a certain PWM level:

http://<ESP IP address>/control?cmd=PWM,<pin>,<level>


Short pulses

To send a pulse to a certain pin:

http://<ESP IP address>/control?cmd=Pulse,<pin>,<state>,<duration>

Example to send an active high pulse on GPIO 2 for 500 mSeconds:

http://<ESP IP address>/control?cmd=Pulse,2,1,500


Servo motor control

To control a Servo Motor:

http://<ESP IP address>/control?cmd=Servo,<servo nr>,<pin>,<position>

We currently support a maximum of two servo motors so you can build a pan & tilt device if you like.

Example to set servo 1 on gpio-0 to a 90 degree position and servo 2 on gpio-2 to a 45 degree position:

http://<ESP IP address>/control?cmd=Servo,1,0,90 http://<ESP IP address>/control?cmd=Servo,2,2,45

ESP Connexio