Empieza por acá

1

Mi primera línea de código

Fundamentos de Programación

2

¿Qué es HTML/CSS/JS?

3

JavaScript no es Java

4

Primeros pasos en el navegador con alert

5

HTML, CSS, JavaScript de verdad

6

Los apuntes de Freddy en PDF

Primer proyecto: Peso en otro planeta

7

Peso en otro planeta

8

Obteniendo datos del usuario

9

Flujo y condicionales

Segundo proyecto: Dibujando con Canvas

10

Cómo funcionan Window y Document

11

El DOM: nuestro lugar de trabajo en la web

12

Dibujando en el DOM

13

Qué son las Funciones en JavaScript

14

Ciclos while y for en JavaScript

15

Eventos y Formularios en HTML y JavaScript

16

Detectar eventos del teclado con JavaScript

17

Dibujar en canvas con las flechas del teclado

Tercer proyecto: Villa platzi

18

Funciones matemáticas y números aleatorios en JavaScript

19

Uso y carga de imágenes en Canvas

Cuarto proyecto: Pakimanes

20

División, módulo y residuo en JavaScript

21

Clases y Arrays en JavaScript

Quinto proyecto: Cajero automático

22

Diagrama de Flujo del Cajero Automático

23

Implementación del Cajero Automático

Sexto proyecto: Cliente/Servidor

24

Modelo Cliente/Servidor

25

Primer servidor web con express

Programación de Hardware y Electrónica con Arduino

26

¿Cómo funciona un circuito electrónico?

27

¿Cómo programar un Arduino?

28

Programación de circuitos con C, Arduino y Sketch

29

Cómo programar un Arduino con Javascript y Node

30

Construye un Robot con JavaScript

31

Robot para riego de plantas en Arduino, Javascript y Node

Materiales de apoyo

32

Las mejores notas de los estudiantes

33

¿Cuál lenguaje de programación aprender primero?

34

La Web con Visión Profesional

Contenido Bonus

35

Qué son tablas de verdad y compuertas lógicas

Recap Curso Gratis de Programación Básica

36

Recap Programación básica

37

Recap Programación básica ENG

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Cómo programar un Arduino?

27/37
Recursos

Vamos a repasar algunos conceptos relacionados con la programación y sobre todo enfocada al mundo real.

Lenguajes de Bajo Nivel

Lenguajes cuyas interpretaciones están más cerca al lenguaje máquina, permitiendo tener una mayor interacción y velocidad con el hardware. Ejemplos:

  • C
  • C++.

Lenguajes de Alto Nivel

Lenguajes con instrucciones más fáciles de escribir y leer para una persona y que requieren intérpretes para convertirse en lenguaje máquina. Ejemplos:

  • Ruby
  • Python
  • JavaScript

Entre más alto sea el nivel del lenguaje de programación, más baja es su curva de aprendizaje.

Lenguaje máquina

Código binario o hexadecimal directamente interpretado por el microprocesador del computador, difícil de leer para una persona.

Lenguaje Ensamblador o Assembler

Expresa las instrucciones que queremos darle al microprocesador de una forma más natural para la persona y a la vez más cercana a la máquina. Es un lenguaje de bajo nivel

Unity 3D

Funciona con JavaScript o C#. Srive como un motor para crear con videojuegos como Pokémon Go o juegos de VR (realidad virtual).

IOT

Internet Of Things o Internet De Las Cosas. Es básicamente conectar a internet los objetos del mundo real, como cepillos de dientes, calefactores, zapatos, entre otros.

Arduino y Rasperry Pi

Son básicamente ordenadores muy pequeños que podemos programar desde 0. En Arduino se programa con C.

Lenguaje C

Es un lenguaje de bajo nivel. De este lenguaje se derivan Java, Javascript, C#, unity 3D, entre otros.

System on a Chip (SoC)

Es un circuito integrado que incorpora muchos componentes de la computadora en un solo chip: la CPU, la memoria, la memoria RAM, etcétera. Necesita un sistema operativo para funcionar.

Voltaje

Los voltios funcionan como la cantidad de agua que pasa por un ducto. Por ejemplo, con 5 voltios la carga no es suficiente para encender un auto, pero es demasiado para encender un foco led. Cuando la electricidad es demasiado fuerte, el led puede calentarse y quemarse.

Resistencia

Lo que hace es reducir la potencia de la electricidad para que no se caliente.

Breadboard o protoboard

Es un dispositivo para prototipado temporal sin soldadura. Contiene componentes electrónicos y está hecho para probar diseño de circuitos.

Puertos análogos

Permiten recibir electricidad desde el circuito.

Focos LED

El led es un diodo que emite luz y está formado por Anodo y Catodo:

  • Ánodo: Parte positiva (+). Se identifica con la pata más larga.
  • Cátodo: Parte negativa (-). Se identifica con la pata más corta.

pinMode

Es una función interna de Arduino, que recibe 2 parámetros (puerto a prender, recibir o enviar electricidad). Funciona en dos formas.

  • OUTPUT: Envia electricidad
  • INPUT: Recibe electricidad

digitalWrite

Es la forma de enviar electricidad en Arduino y le enviados 2 parámetros (puerto a prender, voltaje a enviar).

Digital y Análogo

Digital es información que se envía en formato de 1 o 0. Es decir, toda la electricidad o nada.

  • Análogo hace referencia a enviar ondas de electricidad. Pueden enviar 3V, 3.5V, 0.5V, 5, 0, etcétera.
    • HIGH: Significa que le mandamos toda la electricidad (5V, en este caso porque estamos usando la salida de 5V). Es decir, encendido.
    • LOW: En digital, cuando uno envía baja intensidad, en realidad está mandando 0V. Entonces, LOW significa que no mandamos nada (0V). Está apagado.

Delay

Significa espera y, por parámetro, la cantidad que yo quiero que espere. S le asignamos la variable milisegundos con un valor de 500, significa que con esta línea de código el circuito va a esperar 500 milisegundos antes de ejecutar la siguiente función.

Contribución creada por: Josan Guerra

Aportes 739

Preguntas 116

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

🐱‍💻 Siguiendo el proceso del proyecto.

int amarillo = 13;
int rojo = 7;
int milisegundos = 300;

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

void loop() {
  digitalWrite(amarillo, HIGH);
  digitalWrite(rojo, LOW);
  delay(milisegundos);
  digitalWrite(amarillo, LOW);
  digitalWrite(rojo, HIGH);
  delay(milisegundos * 2);
}

En mi trabajo, me tocó programar un farmbot, justo lo que dice Freddy en el min 8:50 sobre un robot que riega las plantas, la diferencia es que este ya se comercializa en US y Europa para granjeros, usa un Raspberry Pi y se programa súper simple, denle un vistazo, está genial: farm.bot

Excelente explicación.
![](

Pueden conseguir el simulador del siguiente link: https://www.tinkercad.com

Para quienes lo vean el 2018 en navidad, felices fiestas!!! 😃

Así quedo, aunque aumente algo mas que el LED:

Soy gimnasta y músico, jamás me imaginé estar aprendiendo todo esto y me encanta! Gracias! Mi primer arduino!!! Que emoción!

Para el que quiera usar un simulador, acá tiene uno muy completo, encima gratuito: https://www.tinkercad.com/

El proyecto mas grande que hice con un arduino, fue una maquina inyectora de silicon para concreto hidraulico, hay una pequeña empresa que ya utiliza mi prototipo en Texas.

Muy interesante, desde https://www.tinkercad.com se puede realizar con componentes visuales.
aqui una prueba de un “semaforo”

¿Usar Linux?
Si tu respuesta es sí, y no has podido instalar y hacer funcionar Sketch (IDE Artudino), sigue los siguientes paso:

  1. Si ya lo instalaste mediante el gestor de paquetes, desinstálalo.
    En Ubuntu y similares:
$ sudo apt remove arduino
  1. Ingresa a https://www.arduino.cc/en/Main/Software y descarga la versión para tu sistema operativo, en mi caso usé Linux 64 bit.

  2. Descomprime el archivo .tar.xz (clic derecho -> Extraer aquí)

  3. Abre una terminal en la carpeta donde lo descargaste, por ejemplo en ~/Descargas $

  4. Lo siguientes comandos:

$ sudo mv arduino-* /opt
$ cd /opt/arduino-*
$ sudo chmod +x install.sh
$ sudo ./install.sh
$ sudo ./arduino-linux-setup.sh $USER
$ sudo usermod -a -G dialout $USER
$ sudo chmod a+rw /dev/ttyACM0
  1. Para ejecutar el IDE Arduino, busca “arduino” entre las aplicaciones o escribe en la terminal
$ arduino
  1. Si por algo no se ejecuta, ingresa esta última linea
$ sudo ln -s /opt/arduino-*/arduino /usr/local/bin/arduino

Si estas [email protected] en el significado de alguna linea puedes preguntar y con gusto te contestaré.

Les comparto un breve vídeo de mi proyecto funcionando:
https://www.loom.com/share/4a1a48ba94bd471d9741d22ceaadb33a

aqui les tengo un buen simulator de arduinos.
https://www.tinkercad.com/

Jajajaa no tengo jumpers asi que use clips

int amarillo = 13;
int rojo = 7;
int milisegundos = 300;

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

void loop() {
digitalWrite(amarillo, HIGH);
digitalWrite(rojo, LOW);
delay(milisegundos);
digitalWrite(amarillo, LOW);
digitalWrite(rojo, HIGH);
delay(milisegundos * 2);
}

Ya me veo programando y creando mis propios focos para navidad 😃

para los que no encuentran el simulador,
Descarguenlo de aquí www.tinkercad.com
creen su cuenta, y entren a la sección aprendizaje y cambien de 3D a circuit
y ahi van a ver

Una clase muy práctica y didáctica para explorar Arduino. Yo cree mi circuito en este simulador online https://www.tinkercad.com/dashboard
Si tienen dudas pueden escribirme 😃
Saludos!

me queda claro ya con la practica, aunque sea en simulación , espero pronto comprar la placa.

https://www.tinkercad.com/ el mejor simulador.

https://www.tinkercad.com/
en esa pagina esta el simulador del arduino
solo se registran y hacen click en circuits y crean uno

Yo hice la practica en: www.tinkercad.com

Intenet of things IoT: Es conectar a Internet objetos del mundo real, todo esto arranca por el Arduino, estos son maquinas electrónicas pequeñas que son básicamente una PC pequeña que se puede programar desde cero, el arduino se programa con un lenguaje de programación llamado C, de este lenguaje se deriva Java, C++, JavaScript, etc., se puede hacer una aplicación completa con node.js, se puede programar JS para el navegador y para el servidor gracias a node.js y gracias a esto se puede conectar a hardware externo como a un dron.

La placa de auduino tiene un procesador, una memoria ram y un disco, y dentro de ella guarda internamente lo que aria un pc.

Jumper =Cable

La patita corta de los LEDS es el negativo mientras que la larga es el positivo.

La resistencia se conectan a las lineas negativas.

Todos los Arduinos cuando arrancan mandan 3 pulsos de electricidad por el puerto 13.

En el IDE de arduino se crea el sistema operativo que va a arrancar el auduino.

Los GHZ son la cantidad de veces o ciclos que el procesador puede hacer instrucciones.

En arudino se crean 2 codigos, uno que arranca el sistema y otro que ocurre a medida que los siclos se van completando, normalmente eso no se programa pero en aruduino si se programa.

int amarillo = 13; Creación de una variable entera, se le asigna el pin de salida del arduino y un nombre.

Todo en la programación se maneja con mili segundos no con segundos int milisegundos = 500;.

En C o en Java las funciones no se crean con function, se crean declarando que va a retornar la función.
void setup()
{

}

void loop()
{

}
void setup es la función que se ejecuta cuando el computador o arduino arranca y loop es una función que se ejecuta todo el tiempo a medida que el ciclo del procesador ocurre, si el computador es capas de ejecutar un millón de veces el loop en un segundo así lo ejecutara, existen métodos para ralentizar esto.

void setup()
{
pinMode(amarillo, OUTPUT);
}
En la función pinMode se le pasan dos parámetros, el parámetro del puerto que se quiere encender y el parámetro de que si queremos recibir energía o que la envié, OUTPUT es la forma en la que internamente Arduino le dice a un pin que va a emitir electricidad, por defecto va a mandar 5v pero existen maneras para mandar menos voltaje a través de código y así poder mover cosas mas lento o mas rápido.

void loop()
{
digitalWrite(amarillo, HIGH);
delay(milisegundos);
digitalWrite(amarillo, LOW);
delay(milisegundos);
}
La forma para mandar electricidad en arduino es escribiendo digitalWrite y entre () se le pasan 2 parámetros, el parámetro del puerto y el parámetro de cuanto voltege le queremos enviar, para enviar toda la electricidad se le pone el parámetro HIGH, después se le pone una función llamada delay que significa esperara y se le pasa la variable mili segundos, para apagar en ves de pasar el parámetro HIGH se le pasa el parámetro LOW.

Digital es mandar 1 o 0 es decir toda la electricidad o nada.
Análogo es que se pueden mandar ondas, se pueden mandar 3v, 2v, 1.5v, etc.

Aunque estoy usando un Arduino Simulator, no puedo expresar la emoción que sentí cuanto me funciono el led 100 mili-segundos, es como descubrir por primera vez llo que puede hacer al conectar hardware y softtware, es simplemente emocionante.

Excelente combinación entre Electrónica y programación, gracias Fredy por su gran conocimiento, le deseo muchos éxitos en PLATZI, se que aquí esta el futuro.

Fue tan hermoso desempolvar lo que utilice en la carrera de Electronica, encontrar mi arduino, mis protoboards quemadas, mis leds,cables, resistencias, etc =’)

![](

El codigo es ambicioso!! Hagamos titilar dos leds,
xD

A mi me dio risa cuando dijo "El código es ambicioso!!!"
Yo: Nos va a poner a codificar un código de la nasa!!!

El profe: Hagamos 2!!! LEDS!!! 😃

tiene mucho sentido del humor eso es bueno, me gusta.

Quien en el 2019 tomando este curso

Desde 1 led hasta 2…
.

.

.

www.tinkercad.com es lo mejor !

like si crees que freddy debería de dar la mayoría de los cursos!!

Mi primer arduino!!!

Mi proyecto en Arduino.

Pinche cable jajaja

8:15 Esa colaboradora se volvió la esposa de Freddy 😱❤️

Setup es la función que se ejecuta cuando el computador que estamos programando arranca. Loop es una función que se ejecuta todo el tiempo a medida que el ciclo del procesador ocurre.

Mi versión del semáforo:

int amarillo = 13;
int rojo = 7;
int verde = 2;
int milisegundos = 1000;

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

void loop()
{
	digitalWrite(amarillo, LOW);
	digitalWrite(rojo, LOW);
  	digitalWrite(verde, HIGH);
	delay(milisegundos*3);
  	digitalWrite(verde, LOW);
	digitalWrite(amarillo, HIGH);
	digitalWrite(rojo, LOW);
	delay(milisegundos);
  	digitalWrite(verde, LOW);
	digitalWrite(amarillo, LOW);
	digitalWrite(rojo, HIGH);
	delay(milisegundos*3);
  	digitalWrite(verde, LOW);
	digitalWrite(amarillo, HIGH);
	digitalWrite(rojo, HIGH);
	delay(milisegundos);
}```

Graaaaacias Freddy por compartir conocimiento 😃

Al final la realidad virtual no era tanto como pensábamos

Se pueden realizar las pruebas con el Arduino Simulator de Tinkercad. Es Genial!

Me encantó 😄

/* >> La protoboard es una placa de pruebas para electrónica 
que contiene numerosos orificios en los que es posible 
insertar cables y otros elementos electrónicos para montar
circuitos provisionales. La ventaja de este dispositivo es
que no requiere soldar sus componentes para tener un 
circuito operativo.

>> LED :  Light Emitting Diode ó Diodo Emisor de Luz.

>> Es un material semiconductor que es capaz de emitir una 
radiación electromagnética en forma de Luz.

Patita corta = Patita negativa
Patita Larga = Patita positiva 

>> int = Variable con numero entero
>> Pin 13 led amarillo */
int amarillo = 13;
int azul = 7; // Segundo LED
int rojo = 0; // Tercer LED

// Tiempo de parpadeo del Led
int milisegundos = 120;

/*  En lenguaje C, una funcion se inicia con void.

>> Setup (), es la funcion que se ejecuta cuando 
lo que programamos inicia. */
void setup()
{
  /* Esta funcion tiene dos parametros: El puerto que 
  usará, y la funcion. En este caso, Puerto: 13 (Amarillo), 
  Función: Emitir electricidad.  */
  pinMode(amarillo, OUTPUT);
  pinMode(azul, OUTPUT);
  pinMode(rojo, OUTPUT);
}

// Loop es una funcion que se ejecuta todo el tiempo.
void loop()
{
  /* digitalWrite es la forma en la que se emite 
  electricidad en Arduino. Tiene 2 parametros el puerto 
  que se usará y la cantidad de voltaje. En este caso, 
  Puerto: 13 (Amarillo), Voltake: Alto (High)
  HIGH = 5v | LOW = 0v*/
  
  digitalWrite(amarillo, HIGH);
  digitalWrite(azul, LOW);
  delay(milisegundos); // Wait for 1000 millisecond(s)
  
  
  digitalWrite(azul, HIGH);
  digitalWrite(rojo, LOW);
  delay(milisegundos * 2); // Wait for 1000 millisecond(s)
  
  
  digitalWrite(rojo, HIGH);
  digitalWrite(amarillo, LOW);
  delay(milisegundos * 3); // Wait for 1000 millisecond(s)
}

/* >> Los pines de Arduino funcionan por defecto como 
entradas, de forma que no necesitan declararse 
explícitamente como entradas empleando pinMode().

>> Señal Electrica Analógica: Es aquella en la que los 
valores de la tensión o voltaje varían constantemente y 
pueden tomar cualquier valor.

>> Señal Electrica Digital: Es una función usada en la 
function setup() para configurar un pin dado para 
comportarse como INPUT o OUTPUT.  */

ESTA VIVOOOOOOOOOOOOOOOOOOO

Excelente explicación, y si ama de casa y esperando aprender mas y poder ingresar a un nuevo campo de trabajo.

Son las 23:51 y mañana tengo que levantarme temprano, pero no puedo parar de seguir estas clases, junto son las de git y github.

En mi universidad fallaron completamente al intentar explicarnos que era esa materia llamada El internet de las cosas, ahora comprendo.

simulador de arduino: https://www.tinkercad.com (necesitan registrarse)

en mi opinion para tener un conocimiento mas amplio sobre los arduinos hay un video en youtobe donde lo explican, se llama,
Qué es Arduino y cómo crear un proyecto real
o el link:
https://www.youtube.com/watch?v=YDbLhaakNAw

Solamente quiero recalcar que la serie animada de Pokemon y todo lo que vino después fue gracias al juego. El juego fue el comienzo de todo.

Que tema tan poderoso! Ya me imagino un dron haciendo el mandao´ a la tienda en la era covid19

fredy es un personaje

Dejaré por aquí el “simulador de arduino” que estoy usando para la clase, je je. Es una plataforma online con la cual puedes crear circuitos eléctricos~
·
https://www.tinkercad.com
·
En esa plataforma puedes hacer incluso modelos 3d, pero si lo que necesitas es el “arduino”, simplemente ve a la sección de circuitos eléctricos~
·
Quiero más que todo compartir mi aporte porque luego de buscar por internet y probar muchos muchos simuladores diferentes… Casi ninguno me convenció, ja ja ja, así que espero que este pequeño aporte pueda ahorrarle la búsqueda a muchos ❤️.

LLoré a ver como encendio mi LED .

Para los que quieren un simulador practico de usar y que incluso les permita hacer sus propios circuitos impresos a futuro les recomiendo fritzing (http://fritzing.org/download/)
Para los que dispongan de dinero y quieran iniciarse de lleno con arduino uno les recomiendo el kit starter de adeept(https://www.adeept.com/ult-arduino-uno_p0085.html)

Para hacer parpadear 1 Led:

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

void loop()
{
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

¡Feliz aprendizaje!
Atentamente: Rapimi95. 😄

Mi ambicioso proyecto de encender 2 Leds:

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

void loop()
{
  digitalWrite(13, HIGH);
  digitalWrite(12, LOW);
  delay(1000);
  digitalWrite(13, LOW);
  digitalWrite(12, HIGH);
  delay(1000);
}

¡Feliz aprendizaje!
Atentamente: Rapimi95. 😄

Puse leds concetados con todos los puertos xd, intente crear las variables asi como prenderlas y apagarlas con ciclos for pero me daba error asi que aqui esta todo manualmente 😃

int led0 = 0;
int led1 = 1;
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 7;
int led8 = 8;
int led9 = 9;
int led10 = 10;
int led11 = 11;
int led12 = 12;
int led13 = 13;

int milisegundos = 300;

void setup()
{
  pinMode(led0, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
  pinMode(led9, OUTPUT);
  pinMode(led10, OUTPUT);
  pinMode(led11, OUTPUT);
  pinMode(led12, OUTPUT);
  pinMode(led13, OUTPUT);
}

void loop()
{
  digitalWrite(led0, HIGH);
  digitalWrite(led1, LOW);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW);
  digitalWrite(led6, HIGH);
  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
  digitalWrite(led13, LOW);
  
  delay(milisegundos);
  
  digitalWrite(led0, LOW);
  digitalWrite(led1, HIGH);
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH);
  digitalWrite(led6, LOW);
  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
  digitalWrite(led13, HIGH);
  
  delay(milisegundos*2);
}

En ese circuito realmente el cable de 5V no estaba entrando en funcionamiento, porque la conexión positiva se daba a través del pin 13. Para que no se confundan, por si tenían la duda.


tengo 14 años y conoci arduino a los 10 gracias ami profesor que sea enforzado en ensañarle a mas personas estos tipos de proyectos
y platzi me a enseñado a seguir espero que mas personas aprendan esto
saludos desde colombia

He creado la comunicación entre dos arduinos, envío y recepción de datos a través del puerto I2C, les dejó el procedimiento:

Para el arduino receptor.

#include <Wire.h>
#include <LiquidCrystal.h>
int dec_sw1, dec_sw2 = 0;
int mensaje = 0;

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // put your setup code here, to run once:

lcd.begin(16, 2);
Wire.begin(1);
Wire.onReceive(receiveData);
Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
delay(100);
}

void receiveData(int howMany){
  while(1 < Wire.available()){
    int sw1 = Wire.read();
    Serial.println(sw1);
    int sw2 = Wire.read();
    Serial.println (sw2);

    int dec_sw1 = 0;
    int dec_sw2 = 0;
    
     if (sw1 == 1){
      dec_sw1 = pow(2,0);
     }
     if (sw2 ==1){
      dec_sw2 = pow(2,1);
     }

     mensaje = dec_sw1 + dec_sw2;
     Serial.print("Num de Mensaje: "); Serial.println(mensaje);

     switch (mensaje) {
    case 0:                 //escribe en el display el numero 1
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Orden N 1");
      lcd.setCursor(0, 1);
      lcd.print("Perro Caliente");
     break;
     case 1:
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Orden N 12");
      lcd.setCursor(0, 1);
      lcd.print("Hamburguesa senc");
      break;
      case 2:
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Orden N 22");
      lcd.setCursor(0, 1);
      lcd.print("Pizza Mexicana");
      break;
      case 3:
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Orden N 100");
      lcd.setCursor(0, 1);
      lcd.print("Arepa Rellena");
      break;
      default: 
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Bienvenidos");
      lcd.setCursor(0, 1);
      lcd.print("Restaurante Fit");
     }
  }
}

Para el arduino que envía:

#include <Wire.h>

bool sw1 = 0;
bool sw2 = 0;

void setup() {
  // put your setup code here, to run once:
Wire.begin();
Serial.begin(9600);
pinMode(11, INPUT);
pinMode(10, INPUT);

}

void loop() {
  // put your main code here, to run repeatedly:

sw1 = digitalRead(11);
sw2 = digitalRead(10);

Serial.println(sw1);
Serial.println(sw2);

Wire.beginTransmission(1);
Wire.write(sw1);
Wire.write(sw2);
Wire.endTransmission();

delay(500);

}

Y el diagrama es este:

Hola. Para las personas que no tengan un arduino, puede usar la herramienta en línea Tinkercad es de Autodesk. Tiene una plataforma interactiva donde podemos simular nuestro arduino y colocar los componentes que deseemos.

La electrónica es mágica

Interesante vídeo, bastante fácil.![](

led Amarillo
led Azul
led Blanco (7 estrellas)
led Rojo
la Bandera de mi país 😉 Venezuela

int amarillo = 13;
int azul = 12;
int blanco = 11;
int blanco1 = 10;
int blanco2 = 9;
int blanco3 = 8;
int blanco0 = 7;
int blanco_5 = 6;
int blanco6 = 5;
int rojo = 4;
int milisegundos = 400;

void setup()
{
pinMode(amarillo, OUTPUT);
pinMode(azul, OUTPUT);
pinMode(blanco, OUTPUT);
pinMode(blanco1, OUTPUT);
pinMode(blanco2, OUTPUT);
pinMode(blanco3, OUTPUT);
pinMode(blanco0, OUTPUT);
pinMode(blanco_5, OUTPUT);
pinMode(blanco6, OUTPUT);
pinMode(rojo, OUTPUT);
}

void loop()
{
digitalWrite(amarillo, HIGH);
digitalWrite(azul, HIGH);
digitalWrite(blanco, LOW);
digitalWrite(blanco1, HIGH);
digitalWrite(blanco2, LOW);
digitalWrite(blanco3, HIGH);
digitalWrite(blanco0, HIGH);
digitalWrite(blanco_5, HIGH);
digitalWrite(blanco6, HIGH);
digitalWrite(rojo, LOW);
delay(milisegundos);
digitalWrite(amarillo, LOW);
delay(milisegundos *1);
digitalWrite(azul, LOW);
delay(milisegundos *2);
digitalWrite(blanco, HIGH);
delay(milisegundos);
digitalWrite(blanco1, LOW);
delay(milisegundos);
digitalWrite(blanco2, HIGH);
delay(milisegundos);
digitalWrite(blanco3, LOW);
delay(milisegundos);
digitalWrite(blanco0, HIGH);
delay(milisegundos);
digitalWrite(blanco_5, LOW);
delay(milisegundos);
digitalWrite(blanco6, HIGH);
delay(milisegundos);
digitalWrite(rojo, HIGH);
delay(milisegundos);

}

Entonces asi se hacen las luces navideñas de mi arbolito jajaja

Que buena clase

Excelente Clase Freddy muchas gracias por compartir con nosotros.

Lo logré: Construí un semáforo.

Y el semaforito? xD

En tinkercad tienen todo lo necesario para trabajar con Arduino y la protoboard.
https://www.tinkercad.com/

interesante!!

en mi opinion para tener un conocimiento mas amplio sobre los arduinos hay un video en youtobe donde lo explican, se llama,
Qué es Arduino y cómo crear un proyecto real
o el link:
https://www.youtube.com/watch?v=YDbLhaakNAw

No puedo abrir Arduino me ayudan

Me encanta, actualmente en mi universidad estamos empezando a utilizar arduinos y la vez pasada hicimos una programacion en “semaforo” con 3 leds que simulan un semaforo, pero adivinen que fui de los primeros en resolverlo porque ya habia visto mi clase de “como programar en arduino” de platzi?.! Viva platzi.

Aprendi con 37 min de este video, lo mismo que me tomo 1 semestre en la universidad

Así me funcionó a mí el proyecto:

Y este es mi código:

int amarillo = 13;
int rojo = 7;
int milisegundos = 300;

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

void loop()
{
  digitalWrite(amarillo, HIGH);
  digitalWrite(rojo, LOW);
  delay(milisegundos);
  digitalWrite(amarillo, LOW);
  digitalWrite(rojo, HIGH);
  delay(milisegundos * 2);
}

Muchas gracias a los compañeros por la pagina que recomendaron del simulador de arduino. Gracias a ustedes pude realizar el ejercicio.

https://www.tinkercad.com/things/hIgChvfOjGG-bodacious-amberis/editel

para los interesados del arduino online. https://wokwi.com/projects/new/arduino-uno

✨En ingles se llaman Jumpers pero en realidad es un pinche cable✨ JAJA 😅

📌👉 Ejercicio de un semáforo en Arduino:

Código del semáforo:

//SEMÁFORO EN ARDUINO

int rojo=13;
int amarillo=12;
int verde=11;
void setup()
{
  pinMode(rojo, OUTPUT);
  pinMode(amarillo, OUTPUT);
  pinMode(verde, OUTPUT);
}

void loop()
{
  //Rojo encendido
  digitalWrite(rojo, HIGH);
  digitalWrite(amarillo, LOW);
  digitalWrite(verde, LOW);
  delay(5000); 
  
  //Verde encendido
  digitalWrite(verde, HIGH);
  digitalWrite(rojo, LOW);
  digitalWrite(amarillo, LOW);
  delay(4000);
  
  //Amarillo encendido
  digitalWrite(amarillo, HIGH);
  digitalWrite(verde, LOW);
  digitalWrite(rojo, LOW);
  delay(2000);

}

Realidad virtual vs realidad aumentada

esta clase me hizo llorar , osea ahorre mucho por este curso ,soy de venezuela y se lo que se siente tener que inventar para poder aprender sin materiales

Hola les dejo saludos el código, los hice titilar como un “SEMAFORO” , me divierte mucho esto jajaja, es totalmente nuevo para mis 40 añitos de vida.

int amarillo=13;
int rojo=7;
int verde=8;
int milisegundos = 20000;

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

void loop()
{
digitalWrite( amarillo, HIGH);
digitalWrite( rojo, LOW);
digitalWrite( verde, LOW);
delay(milisegundos/4);
digitalWrite( amarillo, LOW);
digitalWrite( rojo, HIGH);
digitalWrite( verde, LOW);
delay(milisegundos);
digitalWrite( amarillo, HIGH);
digitalWrite( rojo, LOW);
digitalWrite( verde, LOW);
delay(milisegundos/4);
digitalWrite( amarillo, LOW);
digitalWrite( rojo,LOW);
digitalWrite( verde, HIGH);
delay(milisegundos);

}

Dios los Bendiga.

Aquí está mi arduino

Hay una pagina de Autodesk que permite simular el arduino gratis y online!!

https://www.tinkercad.com/

muy excelente la forma de explicar

Es increible la forma de enseñar tan facil y sencilla como lo explica aqui freddy, ademas de hacerlo divertida, en el colegio y sobretodo en la universidad siempre nos hacian programar arduinos pero nunca nos dieron ni las bases iniciales de como hacerlo, y a pesar de que mi carrera no tenia directamente que ver con la elctronica ni la programacion teniamos que hacer proyectos en arduino con sistemas de control y si no sabiamos las bases se nos hacia super complejo y estresante, pienso que si hubiesemos tenido una clase como esta introductoria, facil, divertida le hubiesemos cogido el gusto por hacer ese tipo de proyectos

Me encanto esta clase, cada noche me quedo imaginando las cosas que creare en mi futuro, ya que esto de la innovación me encanta

La pagina es Tinkercad

Es increíble ver esta clase después de 5 años de grabada y escuchar a Freddy decir que la industria de la realidad virtual será una de las más grandes de los próximos años. Porque ya es una realidad con Meta(Facebook) y ahora con Microsoft, quien sabe en unos años más…

una manera mas sencilla y poco extensiva 😃