Difference between revisions of "SG90 Servo"

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
Line 2: Line 2:
 
'''In many computers the current is not enough to drive the servo!!!'''
 
'''In many computers the current is not enough to drive the servo!!!'''
  
'''If it does not work, keeps disconnecting, or rebooting the ESP the power is not sufficent and you need an extra power supply.'''
+
'''If it does not work, keeps disconnecting, or rebooting the ESP the power is not sufficent and you need a capacitor ot an extra power supply.'''
 +
 
 +
See the video for details how to do this.
  
 
= Schematic - Connecting the SG90 =
 
= Schematic - Connecting the SG90 =

Revision as of 12:16, 29 December 2020

IMPORTANT

In many computers the current is not enough to drive the servo!!!

If it does not work, keeps disconnecting, or rebooting the ESP the power is not sufficent and you need a capacitor ot an extra power supply.

See the video for details how to do this.

Schematic - Connecting the SG90

Servo00.jpg

Servo01.jpg

Code Examples ESP8266

Basic control

Assuming the servo is connected to Pin 5.

 1 from machine import Pin,PWM
 2 from time import sleep
 3 
 4 servoPin = Pin(5, Pin.OUT)
 5 pwm =  PWM(servoPin, freq=50)
 6 pwm.deinit() # workaround to reset PWM
 7 pwm = PWM(servoPin, freq=50)
 8 
 9 val = 50
10 
11 while True:
12   pwm.duty(val)
13   val = val + 1
14   if val>100:
15     val = 50
16   print(val)
17   sleep(0.05)

Controlling the servo with a Poti

A0 is the analog input with 10 bit resolution. It reads the analog value every second and print it to the console and sets the servo based on the analog input.

 1 from machine import Pin, ADC, PWM
 2 from time import sleep
 3 
 4 analogPin = ADC(0)
 5 servoPin = Pin(5, Pin.OUT)
 6 pwm =  PWM(servoPin, freq=50)
 7 pwm.deinit()
 8 pwm = PWM(servoPin, freq=50)
 9 
10 while True:
11   analogVal = analogPin.read()
12   pwm.duty(int(analogVal/10))
13   print(analogVal)
14   sleep(1)


Related Tutorial Videos

PWM Output: connecting a servo and and LED