Bienvenida al curso

1

Enlaces del taller IoT

2

Qué aprenderás sobre el desarrollo de hardware con Arduino

Introducción al hardware libre

3

¿Qué es Arduino y qué placas hay?

4

¿Cómo se desarrolla el Hardware?

5

¿Cuál es el software para diseño mecánico?

6

Elección del software a utilizar

7

Limitaciones de Arduino y qué es el hardware libre

8

Reto 1: Para un proyecto de IoT, ¿Cuál tarjeta Arduino utilizarías?

9

¿Cómo funciona el Curso de Desarrollo de Hardware con Arduino?

10

Lista de Materiales o Componentes a Utilizar

Sensores, Actuadores y Procesadores

11

Sensores, actuadores y procesadores

12

Diferentes tipos de sensores según la salida

13

Diferentes tipos de sensores según la aplicación

14

Diferentes tipos de actuadores

Introducción a la electrónica

15

Diferencias entre electricidad y electrónica

16

Tipos de componentes electrónicos

17

Más tipos de componentes electrónicos

18

Limitando la corriente para evitar quemar un led

Manos a la obra

19

Puertos de un arduino y sus funciones

20

Qué es un protoboard

21

Estructura general de un programa en Arduino y hello world con un LED

22

Variables y Constantes Globales

23

Manejo de librerías y funciones

24

Manejo de valores analógicos: uso del potenciómetro

25

Uso del monitor serial

26

PWM y señales analógicas

27

Un control de color RGB e intensidad lumínica para una lampara de mesa

28

Uso de push buttons

29

Monitor de temperatura con Arduino (uso de LM35 y un lcd 16x2)

30

Continuando con el monitor de temperatura con Arduino

31

Finalizando con el monitor de temperatura con Arduino

32

Reto: Crea tu semáforo con Arduino

Automatización de procesos

33

Cómo generar movimiento y uso de motores

34

Cómo generar movimiento y servomotores

35

Agregando un potenciométro para controlar la posición del Servomotor

36

Robot evasor de obstáculos

37

Continuando con el Robot evasor de obstáculos

38

Terminando con el Robot evasor de obstáculos

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Cómo generar movimiento y uso de motores

33/38
Recursos

Los motores no tiene la suficiente energía para moverse usando únicamente el arduino.

Los motores eléctricos de corriente directa se rigen por dos condiciones el voltaje y el amperaje.

El voltaje le da la velocidad al motor, es decir que a mayor voltaje mayor velocidad.

El Amperaje tiene que ver con qué tanta corriente eléctrica puede consumir el motor y está relacionado con la potencia del motor.

Aportes 25

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Este curso tiene muchas oportunidades de mejora:

  • Tener una cámara con un lente macro para tomas cercanas. Aquí hay que cuidar mucho el enfoque pues estos lentes tienen una profundidad de campo reducida.
  • Tener otra cámara con lente medio (tal vez un 80mm) con toma cenital.
  • Usar OBS estudio para poder ver al mismo tiempo dos tomas, o ver al mismo tiempo el código y la acción en el circuito armado. El OBS es un softtware libre (y gratis) que usan mucho los streemers de videojuegos para hacer cosas como esta.
  • Mostrar los esquemáticos de lo que se va ha montar y explicar ahí. Aprovechando estos esquemáticos se puede poner color a las líneas que sean los mismos del circuito físico para que sea más fácil entender. Un truco de profesor veterano 😃
  • Explicar claramente que es un puente H y por que se usa ese integrado. Esto se puede generalizar para todos los temas del curso que se han explicado muy superficial e informalmente.
  • Planear detalladamente el curso antes de filmarlo.
    • Un ejemplo de lo anterior es tener desarrollado el código y el circuito antes de filmar y tener estas ayudas fuera de cámara, que no la vean los estudiantes. Esto por que es muy fácil equivocarse, pero equivocarse hace que los estudiantes se confundan o crean que el profesor no sabe.
    • También tener un guión con todo lo que se va ha decir, no pera seguirlo al pie de la letra, por que solo los actores entrenados son buenos en eso, sino para no olvidar temas y tener un orden lógico y/o pedagogico de la exposición.
    • Usar mucho los comentarios para documentar el código y saber que se está haciendo. Por ejemplo en el momento en que se dice aquí vamos a leer al temperatura se pone un comentario que diga eso en español y a continuación el código.
  • Tener en cuenta que en la ruta de aprendizaje hay algunas cosas que ya fueron explicadas, claro, esta parte es opcional puesto que nunca sobra repetir sobre lo mismo en educación.

Primero que no estaba bien el codigo. Luego lo borra…
Luego intenta hacer esos cambios de velocidad en el mismo loop (de nuevo), y de repente, como no le funciona, vuelve a una sola velocidad. Al final como se hace eso?

Muy confusa la clase, y sobre todo las conexiones, para principiantes está difícil seguirla.

Cuando Platzi te deja mas confundido que Youtube

Hola me gusta mucho el curso, estoy aprendiendo mucho, pero se podría mejorar, hacer más claro y más preparado. En defensa del profe Ricardo Celis, me de que le han pagado poco y por eso el curso es como una charla que va haciendo. ¡¡¡¡¡¡FREDDYYYYY!!! Págale un poco más a este chico!!!.

Buenas noches, compañeros y compañeras
Comparto con ustedes mi propia versión de lo mostrado en clases. Quizá es un poco más “complejo”, pero es una forma de aplicar lo visto en clases y cursos anteriores. Siéntanse libres de comentar y criticar tanto el código como el diseño

const int motor1A = 4; // A entrada 1
const int motor1B = 2; // A entrada 2
const int velocidad = 5; // PWM para regular velocidad
const int btn = 11; // Botón para cambiar sentido de giro

int potPin = A0; // Entrada análoga para cambiar manualmente la velocidad
int potValue = 0; // Valor de lectura del potenciómetro, inicializado en 0
int speed; // Velocidad del motor
int estado = 1; // Sentido de giro

void setup()
{
  //Definimos nuestros pines
	pinMode(motor1A, OUTPUT);
	pinMode(motor1B, OUTPUT);
	pinMode(btn, INPUT_PULLUP);
 
}

void loop()
{
    // Leemos el valor del A0, podemos variarlo con el potenciómetro
  	potValue = analogRead(potPin); 
  	/* Usamos la función map, que es básicamente una regla de 3 simple,
  	para transformar los valores analógico a valores PWM */
  	speed = map(potValue,0,1023,0,255); 
  	
   	/* Dependiendo del "estado" el motor girara para una lado
       o para el otro*/
  	if ( estado == 0)
    {
    	digitalWrite(motor1A, HIGH);
  		digitalWrite(motor1B, LOW);
    }
  	else // Sería estado = 1
    {
      	digitalWrite(motor1A, LOW);
  		digitalWrite(motor1B, HIGH);
    }
  	analogWrite(velocidad, speed); //Le indicamos la velocidad al motor

  
  	/* Aqui es donde podemos cambiar el sentido de giro del motor.
    Según el estado en el que está el motor, cuando oprimamos el 
    botón, el motor se detendrá por 2 segundos y comenzará a girar
    en sentido contrario.*/
  	if (estado == 0 && digitalRead(btn) == LOW)
    {
      	digitalWrite(motor1A, LOW);
 		digitalWrite(motor1B, LOW);
  		delay(2000);
      	estado = 1;
    }
  	else if (estado == 1 && digitalRead(btn) == LOW)
    {
      	digitalWrite(motor1A, LOW);
 		digitalWrite(motor1B, LOW);
  		delay(2000);
      	estado = 0;
    }
}

Saludos!

Ctrl + T para dar formato al código en el IDE de arduino

Falta planeacion del curso, hay mejores videos en youtube y gratis!!, no me decepcionen platzi

En mi caso use un L9110H, ya que venía en el kit que compre.

Investigué un poco y vi cómo se conecta. No entendía como conectar el PWM pero experimentando un poco lo logre !! 😃
Comparto el esquema y el código para variar la velocidad y cambiar el sentido en un ciclo.

Sketch:

const int motor1A = 2;// pin señal IA (input A)
const int motor1B = 3;// pin señal IB (input B)

int velocidad = 0; // velocidad de giro para el PWM (0 - 255)
int direccion = 1; // "uno" = adelante, distinto de "uno" atrás

//funcion para mover el motor con velocidad y sentido
void  moverMotor(int motorPinA, int motorPinB, int direccion, int velocidad = 255)
{
  if (direccion == 1 )// "adelante"
  {
    digitalWrite(motorPinB, LOW);
    analogWrite(motorPinA, velocidad);
  }
  else// "atrás"
  {
    digitalWrite(motorPinA, LOW);
    analogWrite(motorPinB, velocidad);
  }
}

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor1B, OUTPUT);
  Serial.begin(9600);
  velocidad = 255;// iniciamos con velocidad maxima
}




void loop() {

  //variamos la velocidad
  if (velocidad  > 0)
  {
    velocidad -= 10;
  }
  else
  {
    velocidad = 255;
    direccion = direccion * -1; //alternamos direccion
  }

  moverMotor(motor1A, motor1B, direccion, velocidad);  
  delay(100);

  Serial.print("velocidad: ");
  Serial.print(velocidad);
  Serial.print("\n");

}

mis conexiones 😛

Ricardo, en tu código dejaste pwm1 =2 pero el que hace el pwm es el 3, si lo dejamos así notaremos que no hay variación de velocidad

Buenas, creo que dedicar un tiempo a realizar mini proyectos propios uniendo lo que vamos dando es la mejor manera de aprender realmente 😃 Con el motor agregué un ventilador a mi sensor de temperatura, humedad y dióxido de carbono…
https://www.tiktok.com/@profmarian/video/7086291159945104645?is_from_webapp=1&sender_device=pc&web_id=7086275601015014918

Creo que muchos deberían de entender que hacer un curso como este es un poco complicado ya que al ser tan practico y que si o si se deben hacer cosas físicas no podremos conseguir una perfección. Para mi, el curso ha sido bastante bueno y claro que puede mejorar pero no entiendo porque tanto comentario negativo

La peor clase del curso, lo siento mucho. Muy desorganizado

Los cursos que me interesan están todos mal, incluyendo éste, decepción Platzi

F por el arduino 😦

Terrible clase. El curso en general no me parece malo, estoy aprendiendo. Pero este capitulo es un desastre.

Me da la sensacion de que el servo no gira 180 completamente. ¿Puede ser verdad o es que así funciona?

Prob[e a hacer lo de los delay() con 3 segundos de espera y se nota como la velocidad baja gradulamente, sin pausas. Creo que en la clase parace que se pausa porque el tiempo es muy corto.

Muy buena clase

Hola, a la hora de comprar el L293D me vendieron este revisándolo un poco me di cuenta que tiene dos L293D, pero no sé como se conectan ¿Cómo puedo trabajar con esta tarjeta?
Gracias.

es normal que el motor huela a quemado si lo pongo directo a la entrada de 5voltios del arduino?

LM 358 tengo sirve??

hice lo mismo con mi arduino osea se quemo o que lo que hice conectar el motor 😦

Seria mejor si variable pwm1 tiene como pin digital 3, ya que es pwm y como dijo en los videos anteriores con estos pines podemos controlar velocidades de motores.
Seria asi: const int pwm1=3;

Hola queria saber si alguien me puede ayudar a identificar el nombre de este tipo de motor que viene directo con controlador y microcircuito, y asi poder buscarlo para poder programarlo gracias.!