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

Continuando con el Robot evasor de obstáculos

37/38
Recursos

Aportes 6

Preguntas 2

Ordenar por:

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

![](

Hola profe a qui le envio la imagen de mi proyecto

hola, me encanta tu curso, pero siempre aludes a un curso o bien de algoritmos o bien de C, pero nunca has dado la ruta correcta. Por favor , hay muchos cursos en Platzi, todos excelentes. Otros profesores dan la ruta. Haznos el aporte, te lo digo con admiración y aprecio. un abrazo

Hola a todos y Profe

Comparto codigo de mi robot evasor de obstaculos

#include <SoftwareSerial.h>

SoftwareSerial BT(0, 1); // RX | TX

long Distancia, Duracion;
int Direccion = 2;
int DistanciaMinima = 10;
int i=1;
int Velocidad=150;

int MotorD1I = 6;
int MotorD2I = 9;
int MotorD1D = 10;
int MotorD2D = 11;

int MotorT1I = 5;
int MotorT2I = 4;
int MotorT1D = 3;
int MotorT2D = 2;

void setup() {
// put your setup code here, to run once:
#define TriggerCentro 8 //Salida
#define TriggerDerecho 13 //Salida
#define TriggerIzquierdo A3 //Salida

#define EcoCentro 7 //Entrada
#define EcoDerecho 12 //Entrada
#define EcoIzquierdo A2 //Entrada

pinMode(TriggerCentro, OUTPUT);
pinMode (EcoCentro, INPUT);
pinMode(TriggerDerecho, OUTPUT);
pinMode (EcoDerecho, INPUT);
pinMode(TriggerIzquierdo, OUTPUT);
pinMode (EcoIzquierdo, INPUT);
Serial.begin(9600);

pinMode(MotorD1D,OUTPUT);
pinMode(MotorD2D,OUTPUT);
pinMode(MotorD1I,OUTPUT);
pinMode(MotorD2I,OUTPUT);
pinMode(MotorT1I,OUTPUT);
pinMode(MotorT2I,OUTPUT);
pinMode(MotorT1D,OUTPUT);
pinMode(MotorT2D,OUTPUT);
pinMode(9,HIGH);

  Serial.begin(9600); 
Serial.println("Listo");    
BT.begin(38400);

}
void loop() {
if (BT.available())
Serial.write(BT.read());

if (Serial.available())
BT.write(Serial.read());
// put your main code here, to run repeatedly:
Serial.println(MedirDistacia(Direccion));
for(i=1; i<4; i++)
{
if (MedirDistacia(i) < DistanciaMinima)
{
Girar(i);
delay(50);
Atras();
}
else
{
Adelante(Velocidad);
}
}
}

float MedirDistacia (int Direccion)
{
switch (Direccion)
{
case 1: //Derecho
delay(10); //limpiar canal
digitalWrite(TriggerDerecho,HIGH);
delayMicroseconds(10);
digitalWrite(TriggerDerecho,LOW);
Duracion = pulseIn(EcoDerecho,HIGH);
break;
case 2: //Centro
delay(10); //limpiar canal
digitalWrite(TriggerCentro,HIGH);
delayMicroseconds(10);
digitalWrite(TriggerCentro,LOW);
Duracion = pulseIn(EcoCentro,HIGH);
break;
case 3: //Izquierdo
delay(10); //limpiar canal
digitalWrite(TriggerIzquierdo,HIGH);
delayMicroseconds(10);
digitalWrite(TriggerIzquierdo,LOW);
Duracion = pulseIn(EcoIzquierdo,HIGH);
break;
}
Distancia = (Duracion/2)/29;
return Distancia;
}

void Parada(){
analogWrite(MotorD1D,0);
digitalWrite(MotorD2D,LOW);
analogWrite(MotorD1I,0);
digitalWrite(MotorD2I,LOW);
analogWrite(MotorT1I,0);
analogWrite(MotorT2I,0);
analogWrite(MotorT1D,0);
analogWrite(MotorT2D,0);
}
void Adelante(int Velocidad){
int Vel = Velocidad;

analogWrite(MotorD1D,Vel);
digitalWrite(MotorD2D,LOW);
analogWrite(MotorD1I,Vel - 30);
digitalWrite(MotorD2I,LOW);
analogWrite(MotorT1I,Vel - 30);
analogWrite(MotorT2I,0);
analogWrite(MotorT1D,Vel);
analogWrite(MotorT2D,0);   

}
void Atras(){
digitalWrite(MotorD1D,LOW);
digitalWrite(MotorD2D,HIGH);
digitalWrite(MotorD1I,LOW);
digitalWrite(MotorD2I,HIGH);
digitalWrite(MotorT1I,LOW);
digitalWrite(MotorT2I,HIGH);
digitalWrite(MotorT1D,LOW);
digitalWrite(MotorT2D,HIGH);
}
void Izquierda(int Velocidad){
int Vel = Velocidad;

analogWrite(MotorD1D,Vel);
digitalWrite(MotorD2D,LOW);
analogWrite(MotorD1I,0);
digitalWrite(MotorD2I,LOW);
analogWrite(MotorT1I,0);
analogWrite(MotorT2I,0);
analogWrite(MotorT1D,Vel);
analogWrite(MotorT2D,0);

}
void Derecha(int Velocidad){
int Vel = Velocidad;

analogWrite(MotorD1D,0);
digitalWrite(MotorD2D,LOW);
analogWrite(MotorD1I,Vel);
digitalWrite(MotorD2I,LOW);
analogWrite(MotorT1I,Vel);
analogWrite(MotorT2I,0);
analogWrite(MotorT1D,0);
analogWrite(MotorT2D,0);

}

void Girar(int i) {
if (i == 1)
{

Izquierda(Velocidad);

}
if (i == 2)
{

Derecha(Velocidad);

}
if (i == 3)
{

Derecha(Velocidad);

}
}

Me gusto este video


ayuda con este problema