/* EPC 1
Faça as tarefas utilizando os conceitos de tarefas e FreeRTOS:
1) Utilize este servo motor e faça com ele ande a cada 100ms
2) Faça um LED acender e apagar a cada 3 segundos
3) Adicione um pushbutton em um GPIO e observe se ele está sendo apertado,
em um tempo de 100ms, se estiver, suspenda a tarefa do servo motor*/
#include <ESP32Servo.h>
const int servoPin = 18;
int pos;
Servo servo;
void task1(void *pvParameter)
{
while(1)
{
for (pos = 0; pos <= 180; pos += 1)
{
servo.write(pos);
vTaskDelay(100/portTICK_PERIOD_MS);
}
/*for(pos = 180; pos >= 0; pos -= 1)
{
servo.write(pos);
vTaskDelay(100/portTICK_PERIOD_MS);
}*/
}
}
void setup()
{
servo.attach(servoPin, 500, 2400);
}
void loop()
{
xTaskCreate(&task1,"gira_servo_motor", 1024, NULL, 2, NULL);
}