Platzi
Platzi

¡Invierte en ti y celebremos! Adquiere un plan Expert o Expert+ a precio especial.

Antes: $349
$259
Currency
Antes: $349
Ahorras: $90
COMIENZA AHORA
Termina en: 16D : 6H : 27M : 46S

Debes tener cuenta en Platzi

Para ver esta clase abierta debes iniciar sesión

Programación de circuitos con C, Arduino y Sketch29/36

El LED es un diodo y está formado por ánodo y cátodo

  • Ánodo: Parte positiva (+)
    • Se identifica con la pata más larga
  • Cátodo: Parte negativa (-)
    • Se identifica con la pata más corta
      ¿qué pasa si mi amigo la cortó y dejó las dos iguales? internamente el cátodo se ve como una especie de banderita

🐱‍💻 Reforzó lo aprendido anteriormente.
arduino bombilla.png

int bombillo = 13;
int espera = 500;

void setup(){
  pinMode(bombillo, OUTPUT);
}

void loop(){
  digitalWrite(bombillo, HIGH);
  delay(espera * 2);
  digitalWrite(bombillo, LOW);
  delay(espera);
}

Para los que busquen un simulador de Arduino, circuit.io movió su simulador online hacia ThinkerCAD.

Les muestro como trabaja este emulador de arduino , se encuentra directamente en la web , se crea una cuenta y se puede empezar a utilizar.

arduino.PNG

https://www.tinkercad.com/

Es lo mismo del video anterior, quizá deberían solo dejar uno de los 2

me encanto esta clase muchas gracias, lo hice con el simulador y llore cuándo prendio 😂

Yo hice un robot que juega ajedrez hace un par de años : )
link–> https://www.youtube.com/watch?v=AC67vFQTtug

Un pequeño aporte, no solo es poner una resistencia, es saber que resistencia, ya que dependiendo del valor de voltaje que necesitamos sobre x elemento así sera el valor de la resistencia, no es lo mismo una resistencia de 120Ω a una 320Ω o 930Ω. Y para esto podemos usar la ley de Ohm.

Hola, para los que aún preguntan donde pueden conseguir un simulador, https://www.tinkercad.com es perfecto!

No es necesario tener los componentes ni la el Arduino para poder practicar, que esta sesión no sea de solo ver.

Si se registran aquí
https://www.tinkercad.com/circuits

Pueden realizar practicas interactuando con las herramientas sin que sean físicas. Así mismo, hay un editor que simula tener el programa de Arduino instalado en el computador que les permite programar el Arduino.

Correcion minuto 14:28. 500 milisegundos no son un segundo. Un segundo son 1000 milisegundos.

Para COLOMBIA hay una tienda llamada “vistronica” ubicada en bogota la cual hace envíos y sus productos no son muy caros. lo mas re-saltable son sus distintos medios de pago, como lo puede ser un efecti.
El arduino que se esta usando en el video lo compre por 25000 pesos CO eso es entre 7 u 8 dolares US.
https://www.vistronica.com

Ejecución!
864167a1-cac2-4ecd-9d08-de20fd611a46.jpg

Excelente mis dos pasiones programar y la electronica. super gracias platzi.

práctica arduino clase 28.jpg

Acá está el simulador gratuito para que practiquen lo que van viendo: https://www.tinkercad.com/

Si estan tomando el curso en el año 2018 o posterior y buscan un simulador para arduino usen el circuit simulator de ** TinkerCAD ** ya que ** circuit.io ** de AUTODESK emigro a el

He encontrado un simulador que funciona super bien, os dejo el enlace por si os hace falta:
https://www.tinkercad.com

2019-12-12 (1).png
Screenshot_2019-05-09 Autodesk Circuits.png

TINKERCAD tiene varios tutoriales/proyectos que puedes ver en su web al mismo tiempo que aprendes

https://circuits.io/circuits/3734504-the-unnamed-circuit

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int bombilloRojo = 13;
int espera = 100;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(bombilloRojo, OUTPUT);
 
  
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(bombilloRojo, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(espera);               // wait for a second
  digitalWrite(bombilloRojo, LOW);    // turn the LED off by making the voltage LOW
  delay(espera);               // wait for a second
    
  
}```

esto hicimos en la clase pasada ya o soy yo nomas

Estupendo!! 😄

57741.PNG

Yo estoy usando el simulador Tinkercad, también tiene un editor de código similar al del IDE.
https://www.tinkercad.com/

Asi se ve una protoboard por dentro. espero les ayude a enteder un poco mejor su funcionamiento.
prtoboard.jpg

eres un gran profesor , apenas tenga dinero me pagare platzi incluso lo recomendare.

Listo!!!

Exquisite Kup.png
int bombillo = 12;
int espera = 500; //(500 milisegundos --> 1 segundo)

void setup()
{
  pinMode(bombillo, OUTPUT);
}

void loop()
{
  digitalWrite(bombillo, HIGH);
  delay(espera*2);
  digitalWrite(bombillo, LOW);
  delay(espera/2);
}```

Anotación: Como estudiante de ingeniería Electrónica, los jumpers si bien son buen apoyo, realmente para proyectos que requieran muchas conexiones, los jumpers solo enredan más las cosas, si os gusta la electrónica esto no tiene porque preocuparos, pero tened en cuenta que una vez que comprueben que su circuito funciona con jumpers, es recomendable que lo hagan ordenado usando cables como los que explica el profesor Freddy para que el circuito sea más entendible y visible.

¿Quinientos ms es un segundo?
Es medio segundo.

En los puertos analogos se puede recibir electricidad para realizar alguna acción en comparación de los puertos digitales que solo dejan pasar energía o no.

Arduino utiliza el lenguaje de programación sketch el cual es una variante de C, C es uno de los primeros lenguajes de programación y uno de los mas versátiles y rápidos.

5v es la salida de voltaje del Arduino, GND es la salida de voltaje negativo del arduino ya que la energía es un ciclo.

Las resistencias son piezas que a través de un proceso químico bajan la intensidad a la corriente eléctrica, estas funcionan en cualquier dirección, no tienen un positivo ni un negativo.

La razón por la que el lenguaje se llama sketch y no C es porque ya tiene funciones preparadas para programar Arduino como la función pinMode(pin a encender, recive_o_envia_electricidad);.

Las variables declaradas por fuera de la funciones son variables globales, es decir están disponibles en todo momento para el código, si están dentro de una función estas solo estarán disponibles dentro de la función.

Arduino UNO solo permite 32 kilobytes de programa.

Creo que se repitió el contenido del video anterior en este 🤔

Mi resumen:
Creación de un circuito con ARDUINO y protoboard:
Arduino es un circuito especial programable se programa en sketch que es una derivación de C.
Partes del circuito:

  1. Puerto USB: Por aquí entra el poder por USB 12V, conectando un puerto USB desde el PC al ARDUINO.
  2. Los puertos de salida digital, emite señal de 5v o nada 0v.
  3. Analógicas in, entradas análogas, permiten recibir electricidad desde el circuito.
    Tiene puertos de 5V (Envía energía a todo el circuito que se quiera crear en el protoboard) y GND (por donde llega la energía desde la perspectiva negativa).
  4. CHIPS, contiene la RAM, el DD y el procesador (CPU), aquí es donde se sube el código en C que se va a programar desde el entorno de desarrollo de ARDUINO.
  5. La protoboard: Donde se colocan todos los componentes electrónicos que conformaran el circuito a programar.
    En los leds la patita más corta va al polo negativo y la más larga al positivo.
    hay un detalle importante, los leds se pueden quemar, si se llega a mandar demasiado voltaje, por lo que se recurre a una resistencia.
    El puerto de salida que realmente manda impulso es el nro. 13, el último.
    En el IDE de ARDUINO, hay dos funciones en C (setup, lo que inicia cuando arranca el circuito, puertos variables y loop, lo que va ocurrir cada vez que el circuito de un loop o ciclo)
    extensión .ino (es la extensión de archivos de código en sketch).

Otro dato importante a considerar es que las resistencias se manejan por un código de colores, es decir:

resistencias.PNG

Dependiendo el color de las bandas es la resistencia que puede llegar a tener su led, en caso de sobrepasar la resistencia derivado al color de las bandas puede que nunca encienda su led, les anexo un Link donde viene mas detallado, espero y les sirva.

Saludos.

¿donde puedo conseguir las calcomanías (stickers) de la laptop de freddy?

Es posible ampliar la memoria del arduino?

Aquí esta mi semáforo.
ardiiis.png
Aquí esta mi código. Quise que el amarillo parpadeara varias veces como un semáforo real.

<code>
int red = 13;
int yellow = 8;
int green = 7;

int time = 800;

void setup()
{
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
}

void loop()
{
  digitalWrite(red, HIGH);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  delay(time);
  digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH);
  digitalWrite(green, LOW);
  delay(time);
  digitalWrite(red, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  delay(time-200);
  digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH);
  digitalWrite(green, LOW);
  delay(time-200);
  digitalWrite(red, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  delay(time-200);
  digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH);
  digitalWrite(green, LOW);
  delay(time);
  digitalWrite(red, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(green, HIGH);
  delay(time);
}

Thanks Freddy

Aquí dejo el proyecto que yo hice, consiste en un camino de luces que se van prendiendo y apagando. Aparte el algoritmo que use puede ser re utilizado en otros ejemplos siguiendo las instrucciones que escribí
https://www.tinkercad.com/things/eouAkps2Agt-sendero-de-luz/editel?sharecode=kD2waQwq3zAlc3s1dgwqYk4nXrwLE5aIa3tKpxCMg3A=

El LED es un diodo y está formado por ánodo y cátodo

Ánodo: Parte positiva (+)
Se identifica con la pata más larga
Cátodo: Parte negativa (-)
Se identifica con la pata más corta
¿qué pasa si mi amigo la cortó y dejó las dos iguales? internamente el cátodo se ve como una especie de banderita

para los que somos manuales creo que si nos toca comprar el arduino

tension-color-leds.png

¿puede ser que el microchip de audrino sea una microcontrolador y no un microprocesador? ¿porque?

A primera vista lo veo muy apasionante y sencillo, obvio que la cosa se complica dependiendo que quieres hacer con el arduino, pero ya de primera me calenté la cabeza con el proyecto, hasta ya me hice la idea de hacer un proyecto para automatizar ciertos procesos en casa jajaja!!!

Se vuelve interesante la programación con arduino

circuito2.PNG

Que bueno que ya tengo mi arduino

Simulador: Aquí

TinkerCad.png

Usualmente, los LED en la “cabeza” tienen una pequeña muesca. Esa muesca es el lado negativo (por si tienen las paticas iguales)

![](proto.PNG

int verde = 13;
int azul = 12;
int amarillo = 11;
int rojo = 10;



void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10., OUTPUT);
}

void loop()
{
  digitalWrite(verde, HIGH);
  delay(200); 
  digitalWrite(verde, LOW);
  delay(200);
  digitalWrite(azul, HIGH);
  delay(100);
  digitalWrite(azul, LOW);
  delay(100);
  digitalWrite(amarillo, HIGH);
  delay(500);
  digitalWrite(amarillo, LOW);
  delay(500);
  digitalWrite(rojo, HIGH);
  delay(10);
  digitalWrite(rojo, LOW);
  delay(10);
}```

https://simulide.blogspot.com/
Aqui pueden descargar el simulador para la PC.

**Excelente! **
StartSimulating1.jpg

StartSimulating2.jpg
arduino.png

se me viene a la mente las luces de navidad ajaja prendeee, apagaaa

ME DESCARGUE EL ARDUINO PERO COMO SE SI FUNCIONA SI NO TENGO UN LEDS…
´CUAL ES EL SIMULADOR??

Buen dia.
En el minuto 5:44 Freddy dice “En la 14 coloco el negativo y en la 16 el positivo.” En realidad hizo la conexion al reves, en el 14 coloco el positivo y en el 16 coloco el negativo.

Muy buena explicación. Aquí dejo mi código con comentarios que pueden ser útiles:

int bombillo = 13; // identificamos al LED por el puerto en el que se ubica (puerto 13)
int espera = 500; // con esto se esperará 500 milisegundos

void setup() // con este arranca el ciclo
{
  pinMode(bombillo, OUTPUT); // con esto se prenderá nuestro LED, y que enviará energía gracias al parámetro OUTPUT.
}

void loop() // esto es lo que ocurre en cada ciclo
{
  digitalWrite(bombillo, HIGH); // le pasamos toda la energía al LED para que se ilumine
  delay(espera * 2); // esperamos 500 milisegundos (espera) multiplicado por 2, lo que sería igual a 1000 milisegundos.
  digitalWrite(bombillo, LOW); // no le pasamos nada de energía, por lo que el LED se apaga
  delay(espera); // espera 500 milisegundos y el ciclo se repite TODO el tiempo
}
// la función digitalWrite pasa TODO o NADA de energía a través de HIGH y LOW.```

¡Hola!
Comparto mi trabajo de clase (un poco distinto pero funciona), lo hice con el emulador de TinkerCard.

Arduino led.jpg
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  
}

void loop()
{
  digitalWrite(13, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
  digitalWrite(13, LOW);
  delay(1000); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(12, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(11, HIGH);
  delay(1500); // Wait for 1000 millisecond(s)
  digitalWrite(11, LOW);
  delay(1500); // Wait for 1000 millisecond(s)
}

El mejor simulador que encontré después de todas las sugerencias fué
https://www.tinkercad.com/

image.png
led.jpg

Increíble cómo funciona todo esto. Recordé mis clases de Arquitectura de Computadoras. 😄

pines.PNG

Creo que ahora entiendo cómo están configuradas las luces de Navidad. 🤯

este fue facil.

si tienen linux basado en debían (Ubuntu…), instalen arduino desde la tienda de software (snap) pero ejecútenlo desde la terminal con este comando:

$ sudo /snap/arduino-mhall119/3/arduino

oye oye, despaaacio cerebrito…

Hola a todos! les dejo el link de un circuito que hice simulando dos semáforos sincronizados.
https://www.tinkercad.com/things/9d7IJZnRAbe-incredible-fulffy/editel?tenant=circuits?sharecode=zgHlbNuMuga1Sk9DUKY1-EkoHWfXFgvTecNjPKYAYqQ=

Gracias Freddy por todo lo que estas haciendo!

Saludos!

excelente

Genial! No me interesaba mucho por la electrónica anteriormente pero esta clase me provocó curiosidad

500 mili segundos es un segundo dice, se equivoco!!

Mil gracias por volver a explicar más detenidamente el video anterior. Ahora me queda más claro ^^

Excelente, seguimos aprendiendo.

no soy muy experto en electronica y lo entendi al 100%.

http://tinkercard.com el mejor Simulador ONLINE de Arduino, ahi mismo escribes el codigo y no tienes que descargar nada.

500 milisegundos son medio segundo, 1000 milisegundos son un segundo.

Me encantan los cursos de Platzi, me gusta como explica @freddier ! animos Freddy que Dios te de larga vida para que sigas enseñando.!

¿Por qué poner cableslo más cortos posibles y ordenados?
Pues 1.- es una buena práctica, así como veíamos en las clases anteriores, pero aplicada a la electrónica.
2.-Reduce interferencias electromagnéticas y consumo de energía.

En este tipo de aplicaciones no se aprecia este fenómeno, pero sí en otros que tienen que ver con telecomunicaciones, electrónica de potencia y control de procesos.

Pensé que serían más costosos en Colombia pero cuestan menos de 20mil pesos y el beneficio que obtienes que es increíble para ese precio.

TOMEN TODO MI DINERO!!!

muy buena explicacion freddy, te felicito por las buenas clases y explicaciones

Súper!

Screenshot_2019-05-09 Cómo programar un Arduino con Javascript y Node - Curso Gratis de Programación Básica.png

No lo hagan en casa… :v

Aquí despertando nuevas pasiones, grande Freddy!!

![](Clase 1.PNG

Listo!

Ya me hice un semáforo pequeñito que cambia cada 4 segundos 😄
int verde=13;
int amarillo=12;
int rojo = 11;
int milisegundos = 4000;

void setup()
{
pinMode(verde, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(rojo, OUTPUT);
}

void loop()
{
digitalWrite(verde,HIGH);

delay(milisegundos);
digitalWrite(verde, LOW);
digitalWrite(amarillo,HIGH);

delay(milisegundos);

digitalWrite(amarillo,LOW);
digitalWrite(rojo,HIGH);

delay(milisegundos);

digitalWrite(rojo,LOW);
}
ar5d.JPG

buena explicacion y practica

Hice el codigo para un semaforo basico ampliando lo visto en clase

int rojo = 12;
int amarillo = 11;
int verde = 8;

void setup()
{
pinMode(rojo, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
}

void loop()
{
digitalWrite(rojo, HIGH);
delay(4000);
digitalWrite(rojo, LOW);
delay(500);
digitalWrite(amarillo, HIGH);
delay(4000);
digitalWrite(amarillo, LOW);
delay(500);
digitalWrite(verde, HIGH);
delay(4000);
digitalWrite(verde, LOW);
delay(500);
}

arduino.JPG

les recomiendo TINKERCAD para simular el arduino es muy fácil.

Todavia no compre la plaqueta, pero esta es mi prueba desde un simulador

simulador.PNG

Entiendo que existe una ley de Ohm V = I*R

¿Cómo se calcula el valor de la resistencia para un led dado el voltaje del arduino (5V si no me equivoco) ?

https://www.tinkercad.com/
excelente pagina para realizar la programación de circuitos.

EXCELENTE

¡Genial!

arduino.PNG
Funky Inari.png
arduinoLed.png

Bonita, clara y sencilla clase.

me salio a la prefeccion

![](CapturaArduinoUno.JPG

Start Simulating.png

muy bueno

2020-04-06 15_54_24-Circuits Start Simulating _ Tinkercad.png
int amarillo =13;
int azul = 12;
int rojo = 11;
int blanco = 10;
int naranja = 9;
int yellow = 8;
int blue = 7;
int milisegundos = 400;

void setup()
{
  pinMode(amarillo, OUTPUT);
  pinMode(azul, OUTPUT);
  pinMode(rojo, OUTPUT);
  pinMode(blanco, OUTPUT);
  pinMode(naranja, OUTPUT);
  pinMode(blue, OUTPUT);
  pinMode(yellow, OUTPUT);
}

void loop()
{
	digitalWrite(amarillo, HIGH);
	digitalWrite(azul, LOW);
	digitalWrite(rojo, HIGH);
	digitalWrite(blanco, LOW);
 	digitalWrite(naranja, HIGH);
 	digitalWrite(yellow, LOW);
  	digitalWrite(blue, HIGH);
   
  delay(milisegundos);
  	
 	digitalWrite(amarillo, LOW);
	digitalWrite(azul, HIGH);
	digitalWrite(rojo, LOW);
	digitalWrite(blanco, HIGH);
 	digitalWrite(naranja, LOW);
 	digitalWrite(yellow, HIGH);
    digitalWrite(blue, LOW);
  	delay(milisegundos);
  
  delay(milisegundos * 2);
  
 	digitalWrite(amarillo, HIGH);
	digitalWrite(azul, LOW);
	digitalWrite(rojo, LOW);
	digitalWrite(blanco, LOW);
 	digitalWrite(naranja, LOW);
 	digitalWrite(yellow, LOW);
    digitalWrite(blue, HIGH);
  	
  delay(milisegundos);  
}```

El LED es un diodo y está formado por ánodo y cátodo

  • Ánodo: Parte positiva (+)
    • Se identifica con la pata más larga
  • Cátodo: Parte negativa (-)
    • Se identifica con la pata más corta
      ¿qué pasa si mi amigo la cortó y dejó las dos iguales? internamente el cátodo se ve como una especie de banderita

🐱‍💻 Reforzó lo aprendido anteriormente.
arduino bombilla.png

int bombillo = 13;
int espera = 500;

void setup(){
  pinMode(bombillo, OUTPUT);
}

void loop(){
  digitalWrite(bombillo, HIGH);
  delay(espera * 2);
  digitalWrite(bombillo, LOW);
  delay(espera);
}

Para los que busquen un simulador de Arduino, circuit.io movió su simulador online hacia ThinkerCAD.

Les muestro como trabaja este emulador de arduino , se encuentra directamente en la web , se crea una cuenta y se puede empezar a utilizar.

arduino.PNG

https://www.tinkercad.com/

Es lo mismo del video anterior, quizá deberían solo dejar uno de los 2

me encanto esta clase muchas gracias, lo hice con el simulador y llore cuándo prendio 😂

Yo hice un robot que juega ajedrez hace un par de años : )
link–> https://www.youtube.com/watch?v=AC67vFQTtug

Un pequeño aporte, no solo es poner una resistencia, es saber que resistencia, ya que dependiendo del valor de voltaje que necesitamos sobre x elemento así sera el valor de la resistencia, no es lo mismo una resistencia de 120Ω a una 320Ω o 930Ω. Y para esto podemos usar la ley de Ohm.

Hola, para los que aún preguntan donde pueden conseguir un simulador, https://www.tinkercad.com es perfecto!

No es necesario tener los componentes ni la el Arduino para poder practicar, que esta sesión no sea de solo ver.

Si se registran aquí
https://www.tinkercad.com/circuits

Pueden realizar practicas interactuando con las herramientas sin que sean físicas. Así mismo, hay un editor que simula tener el programa de Arduino instalado en el computador que les permite programar el Arduino.

Correcion minuto 14:28. 500 milisegundos no son un segundo. Un segundo son 1000 milisegundos.

Para COLOMBIA hay una tienda llamada “vistronica” ubicada en bogota la cual hace envíos y sus productos no son muy caros. lo mas re-saltable son sus distintos medios de pago, como lo puede ser un efecti.
El arduino que se esta usando en el video lo compre por 25000 pesos CO eso es entre 7 u 8 dolares US.
https://www.vistronica.com

Ejecución!
864167a1-cac2-4ecd-9d08-de20fd611a46.jpg

Excelente mis dos pasiones programar y la electronica. super gracias platzi.

práctica arduino clase 28.jpg

Acá está el simulador gratuito para que practiquen lo que van viendo: https://www.tinkercad.com/

Si estan tomando el curso en el año 2018 o posterior y buscan un simulador para arduino usen el circuit simulator de ** TinkerCAD ** ya que ** circuit.io ** de AUTODESK emigro a el

He encontrado un simulador que funciona super bien, os dejo el enlace por si os hace falta:
https://www.tinkercad.com

2019-12-12 (1).png
Screenshot_2019-05-09 Autodesk Circuits.png

TINKERCAD tiene varios tutoriales/proyectos que puedes ver en su web al mismo tiempo que aprendes

https://circuits.io/circuits/3734504-the-unnamed-circuit

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int bombilloRojo = 13;
int espera = 100;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(bombilloRojo, OUTPUT);
 
  
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(bombilloRojo, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(espera);               // wait for a second
  digitalWrite(bombilloRojo, LOW);    // turn the LED off by making the voltage LOW
  delay(espera);               // wait for a second
    
  
}```

esto hicimos en la clase pasada ya o soy yo nomas

Estupendo!! 😄

57741.PNG

Yo estoy usando el simulador Tinkercad, también tiene un editor de código similar al del IDE.
https://www.tinkercad.com/

Asi se ve una protoboard por dentro. espero les ayude a enteder un poco mejor su funcionamiento.
prtoboard.jpg

eres un gran profesor , apenas tenga dinero me pagare platzi incluso lo recomendare.

Listo!!!

Exquisite Kup.png
int bombillo = 12;
int espera = 500; //(500 milisegundos --> 1 segundo)

void setup()
{
  pinMode(bombillo, OUTPUT);
}

void loop()
{
  digitalWrite(bombillo, HIGH);
  delay(espera*2);
  digitalWrite(bombillo, LOW);
  delay(espera/2);
}```

Anotación: Como estudiante de ingeniería Electrónica, los jumpers si bien son buen apoyo, realmente para proyectos que requieran muchas conexiones, los jumpers solo enredan más las cosas, si os gusta la electrónica esto no tiene porque preocuparos, pero tened en cuenta que una vez que comprueben que su circuito funciona con jumpers, es recomendable que lo hagan ordenado usando cables como los que explica el profesor Freddy para que el circuito sea más entendible y visible.

¿Quinientos ms es un segundo?
Es medio segundo.

En los puertos analogos se puede recibir electricidad para realizar alguna acción en comparación de los puertos digitales que solo dejan pasar energía o no.

Arduino utiliza el lenguaje de programación sketch el cual es una variante de C, C es uno de los primeros lenguajes de programación y uno de los mas versátiles y rápidos.

5v es la salida de voltaje del Arduino, GND es la salida de voltaje negativo del arduino ya que la energía es un ciclo.

Las resistencias son piezas que a través de un proceso químico bajan la intensidad a la corriente eléctrica, estas funcionan en cualquier dirección, no tienen un positivo ni un negativo.

La razón por la que el lenguaje se llama sketch y no C es porque ya tiene funciones preparadas para programar Arduino como la función pinMode(pin a encender, recive_o_envia_electricidad);.

Las variables declaradas por fuera de la funciones son variables globales, es decir están disponibles en todo momento para el código, si están dentro de una función estas solo estarán disponibles dentro de la función.

Arduino UNO solo permite 32 kilobytes de programa.

Creo que se repitió el contenido del video anterior en este 🤔

Mi resumen:
Creación de un circuito con ARDUINO y protoboard:
Arduino es un circuito especial programable se programa en sketch que es una derivación de C.
Partes del circuito:

  1. Puerto USB: Por aquí entra el poder por USB 12V, conectando un puerto USB desde el PC al ARDUINO.
  2. Los puertos de salida digital, emite señal de 5v o nada 0v.
  3. Analógicas in, entradas análogas, permiten recibir electricidad desde el circuito.
    Tiene puertos de 5V (Envía energía a todo el circuito que se quiera crear en el protoboard) y GND (por donde llega la energía desde la perspectiva negativa).
  4. CHIPS, contiene la RAM, el DD y el procesador (CPU), aquí es donde se sube el código en C que se va a programar desde el entorno de desarrollo de ARDUINO.
  5. La protoboard: Donde se colocan todos los componentes electrónicos que conformaran el circuito a programar.
    En los leds la patita más corta va al polo negativo y la más larga al positivo.
    hay un detalle importante, los leds se pueden quemar, si se llega a mandar demasiado voltaje, por lo que se recurre a una resistencia.
    El puerto de salida que realmente manda impulso es el nro. 13, el último.
    En el IDE de ARDUINO, hay dos funciones en C (setup, lo que inicia cuando arranca el circuito, puertos variables y loop, lo que va ocurrir cada vez que el circuito de un loop o ciclo)
    extensión .ino (es la extensión de archivos de código en sketch).

Otro dato importante a considerar es que las resistencias se manejan por un código de colores, es decir:

resistencias.PNG

Dependiendo el color de las bandas es la resistencia que puede llegar a tener su led, en caso de sobrepasar la resistencia derivado al color de las bandas puede que nunca encienda su led, les anexo un Link donde viene mas detallado, espero y les sirva.

Saludos.

¿donde puedo conseguir las calcomanías (stickers) de la laptop de freddy?

Es posible ampliar la memoria del arduino?

Aquí esta mi semáforo.
ardiiis.png
Aquí esta mi código. Quise que el amarillo parpadeara varias veces como un semáforo real.

<code>
int red = 13;
int yellow = 8;
int green = 7;

int time = 800;

void setup()
{
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
}

void loop()
{
  digitalWrite(red, HIGH);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  delay(time);
  digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH);
  digitalWrite(green, LOW);
  delay(time);
  digitalWrite(red, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  delay(time-200);
  digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH);
  digitalWrite(green, LOW);
  delay(time-200);
  digitalWrite(red, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  delay(time-200);
  digitalWrite(red, LOW);
  digitalWrite(yellow, HIGH);
  digitalWrite(green, LOW);
  delay(time);
  digitalWrite(red, LOW);
  digitalWrite(yellow, LOW);
  digitalWrite(green, HIGH);
  delay(time);
}

Thanks Freddy

Aquí dejo el proyecto que yo hice, consiste en un camino de luces que se van prendiendo y apagando. Aparte el algoritmo que use puede ser re utilizado en otros ejemplos siguiendo las instrucciones que escribí
https://www.tinkercad.com/things/eouAkps2Agt-sendero-de-luz/editel?sharecode=kD2waQwq3zAlc3s1dgwqYk4nXrwLE5aIa3tKpxCMg3A=

El LED es un diodo y está formado por ánodo y cátodo

Ánodo: Parte positiva (+)
Se identifica con la pata más larga
Cátodo: Parte negativa (-)
Se identifica con la pata más corta
¿qué pasa si mi amigo la cortó y dejó las dos iguales? internamente el cátodo se ve como una especie de banderita

para los que somos manuales creo que si nos toca comprar el arduino

tension-color-leds.png

¿puede ser que el microchip de audrino sea una microcontrolador y no un microprocesador? ¿porque?

A primera vista lo veo muy apasionante y sencillo, obvio que la cosa se complica dependiendo que quieres hacer con el arduino, pero ya de primera me calenté la cabeza con el proyecto, hasta ya me hice la idea de hacer un proyecto para automatizar ciertos procesos en casa jajaja!!!

Se vuelve interesante la programación con arduino

circuito2.PNG

Que bueno que ya tengo mi arduino

Simulador: Aquí

TinkerCad.png

Usualmente, los LED en la “cabeza” tienen una pequeña muesca. Esa muesca es el lado negativo (por si tienen las paticas iguales)

![](proto.PNG

int verde = 13;
int azul = 12;
int amarillo = 11;
int rojo = 10;



void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10., OUTPUT);
}

void loop()
{
  digitalWrite(verde, HIGH);
  delay(200); 
  digitalWrite(verde, LOW);
  delay(200);
  digitalWrite(azul, HIGH);
  delay(100);
  digitalWrite(azul, LOW);
  delay(100);
  digitalWrite(amarillo, HIGH);
  delay(500);
  digitalWrite(amarillo, LOW);
  delay(500);
  digitalWrite(rojo, HIGH);
  delay(10);
  digitalWrite(rojo, LOW);
  delay(10);
}```

https://simulide.blogspot.com/
Aqui pueden descargar el simulador para la PC.

**Excelente! **
StartSimulating1.jpg

StartSimulating2.jpg
arduino.png

se me viene a la mente las luces de navidad ajaja prendeee, apagaaa

ME DESCARGUE EL ARDUINO PERO COMO SE SI FUNCIONA SI NO TENGO UN LEDS…
´CUAL ES EL SIMULADOR??

Buen dia.
En el minuto 5:44 Freddy dice “En la 14 coloco el negativo y en la 16 el positivo.” En realidad hizo la conexion al reves, en el 14 coloco el positivo y en el 16 coloco el negativo.

Muy buena explicación. Aquí dejo mi código con comentarios que pueden ser útiles:

int bombillo = 13; // identificamos al LED por el puerto en el que se ubica (puerto 13)
int espera = 500; // con esto se esperará 500 milisegundos

void setup() // con este arranca el ciclo
{
  pinMode(bombillo, OUTPUT); // con esto se prenderá nuestro LED, y que enviará energía gracias al parámetro OUTPUT.
}

void loop() // esto es lo que ocurre en cada ciclo
{
  digitalWrite(bombillo, HIGH); // le pasamos toda la energía al LED para que se ilumine
  delay(espera * 2); // esperamos 500 milisegundos (espera) multiplicado por 2, lo que sería igual a 1000 milisegundos.
  digitalWrite(bombillo, LOW); // no le pasamos nada de energía, por lo que el LED se apaga
  delay(espera); // espera 500 milisegundos y el ciclo se repite TODO el tiempo
}
// la función digitalWrite pasa TODO o NADA de energía a través de HIGH y LOW.```

¡Hola!
Comparto mi trabajo de clase (un poco distinto pero funciona), lo hice con el emulador de TinkerCard.

Arduino led.jpg
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  
}

void loop()
{
  digitalWrite(13, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
  digitalWrite(13, LOW);
  delay(1000); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(12, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(11, HIGH);
  delay(1500); // Wait for 1000 millisecond(s)
  digitalWrite(11, LOW);
  delay(1500); // Wait for 1000 millisecond(s)
}

El mejor simulador que encontré después de todas las sugerencias fué
https://www.tinkercad.com/

image.png
led.jpg

Increíble cómo funciona todo esto. Recordé mis clases de Arquitectura de Computadoras. 😄

pines.PNG

Creo que ahora entiendo cómo están configuradas las luces de Navidad. 🤯

este fue facil.

si tienen linux basado en debían (Ubuntu…), instalen arduino desde la tienda de software (snap) pero ejecútenlo desde la terminal con este comando:

$ sudo /snap/arduino-mhall119/3/arduino

oye oye, despaaacio cerebrito…

Hola a todos! les dejo el link de un circuito que hice simulando dos semáforos sincronizados.
https://www.tinkercad.com/things/9d7IJZnRAbe-incredible-fulffy/editel?tenant=circuits?sharecode=zgHlbNuMuga1Sk9DUKY1-EkoHWfXFgvTecNjPKYAYqQ=

Gracias Freddy por todo lo que estas haciendo!

Saludos!

excelente

Genial! No me interesaba mucho por la electrónica anteriormente pero esta clase me provocó curiosidad

500 mili segundos es un segundo dice, se equivoco!!

Mil gracias por volver a explicar más detenidamente el video anterior. Ahora me queda más claro ^^

Excelente, seguimos aprendiendo.

no soy muy experto en electronica y lo entendi al 100%.

http://tinkercard.com el mejor Simulador ONLINE de Arduino, ahi mismo escribes el codigo y no tienes que descargar nada.

500 milisegundos son medio segundo, 1000 milisegundos son un segundo.

Me encantan los cursos de Platzi, me gusta como explica @freddier ! animos Freddy que Dios te de larga vida para que sigas enseñando.!

¿Por qué poner cableslo más cortos posibles y ordenados?
Pues 1.- es una buena práctica, así como veíamos en las clases anteriores, pero aplicada a la electrónica.
2.-Reduce interferencias electromagnéticas y consumo de energía.

En este tipo de aplicaciones no se aprecia este fenómeno, pero sí en otros que tienen que ver con telecomunicaciones, electrónica de potencia y control de procesos.

Pensé que serían más costosos en Colombia pero cuestan menos de 20mil pesos y el beneficio que obtienes que es increíble para ese precio.

TOMEN TODO MI DINERO!!!

muy buena explicacion freddy, te felicito por las buenas clases y explicaciones

Súper!

Screenshot_2019-05-09 Cómo programar un Arduino con Javascript y Node - Curso Gratis de Programación Básica.png

No lo hagan en casa… :v

Aquí despertando nuevas pasiones, grande Freddy!!

![](Clase 1.PNG

Listo!

Ya me hice un semáforo pequeñito que cambia cada 4 segundos 😄
int verde=13;
int amarillo=12;
int rojo = 11;
int milisegundos = 4000;

void setup()
{
pinMode(verde, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(rojo, OUTPUT);
}

void loop()
{
digitalWrite(verde,HIGH);

delay(milisegundos);
digitalWrite(verde, LOW);
digitalWrite(amarillo,HIGH);

delay(milisegundos);

digitalWrite(amarillo,LOW);
digitalWrite(rojo,HIGH);

delay(milisegundos);

digitalWrite(rojo,LOW);
}
ar5d.JPG

buena explicacion y practica

Hice el codigo para un semaforo basico ampliando lo visto en clase

int rojo = 12;
int amarillo = 11;
int verde = 8;

void setup()
{
pinMode(rojo, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
}

void loop()
{
digitalWrite(rojo, HIGH);
delay(4000);
digitalWrite(rojo, LOW);
delay(500);
digitalWrite(amarillo, HIGH);
delay(4000);
digitalWrite(amarillo, LOW);
delay(500);
digitalWrite(verde, HIGH);
delay(4000);
digitalWrite(verde, LOW);
delay(500);
}

arduino.JPG

les recomiendo TINKERCAD para simular el arduino es muy fácil.

Todavia no compre la plaqueta, pero esta es mi prueba desde un simulador

simulador.PNG

Entiendo que existe una ley de Ohm V = I*R

¿Cómo se calcula el valor de la resistencia para un led dado el voltaje del arduino (5V si no me equivoco) ?

https://www.tinkercad.com/
excelente pagina para realizar la programación de circuitos.

EXCELENTE

¡Genial!

arduino.PNG
Funky Inari.png
arduinoLed.png

Bonita, clara y sencilla clase.

me salio a la prefeccion

![](CapturaArduinoUno.JPG

Start Simulating.png

muy bueno

2020-04-06 15_54_24-Circuits Start Simulating _ Tinkercad.png
int amarillo =13;
int azul = 12;
int rojo = 11;
int blanco = 10;
int naranja = 9;
int yellow = 8;
int blue = 7;
int milisegundos = 400;

void setup()
{
  pinMode(amarillo, OUTPUT);
  pinMode(azul, OUTPUT);
  pinMode(rojo, OUTPUT);
  pinMode(blanco, OUTPUT);
  pinMode(naranja, OUTPUT);
  pinMode(blue, OUTPUT);
  pinMode(yellow, OUTPUT);
}

void loop()
{
	digitalWrite(amarillo, HIGH);
	digitalWrite(azul, LOW);
	digitalWrite(rojo, HIGH);
	digitalWrite(blanco, LOW);
 	digitalWrite(naranja, HIGH);
 	digitalWrite(yellow, LOW);
  	digitalWrite(blue, HIGH);
   
  delay(milisegundos);
  	
 	digitalWrite(amarillo, LOW);
	digitalWrite(azul, HIGH);
	digitalWrite(rojo, LOW);
	digitalWrite(blanco, HIGH);
 	digitalWrite(naranja, LOW);
 	digitalWrite(yellow, HIGH);
    digitalWrite(blue, LOW);
  	delay(milisegundos);
  
  delay(milisegundos * 2);
  
 	digitalWrite(amarillo, HIGH);
	digitalWrite(azul, LOW);
	digitalWrite(rojo, LOW);
	digitalWrite(blanco, LOW);
 	digitalWrite(naranja, LOW);
 	digitalWrite(yellow, LOW);
    digitalWrite(blue, HIGH);
  	
  delay(milisegundos);  
}```