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

Primer servidor web con express

25

Modelo Cliente/Servidor

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

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Cómo programar un Arduino con Javascript y Node

29/37
Recursos

Para programar un Arduino con JavaScript, debemos instalar un framework o librería en Arduino que le permitan al circuito conectarse con Node.Js y JavaScript.

JavaScript desde el navegador no sirve en este caso porque solamente corre desde el navegador y los navegadores no tienen acceso al puerto USB.

  • johnny_five: es una libreria para conectarse y programar circuitos Arduino.

http://johnny-five.io/

  • standardfirmata: Es el firmware que me permite que arduino se conecte a johnny - five, Node.Js.

  • Firmware: Es la “union” entre el hardware y el software.

  • Board: es la función que trae toda la colección entre JavaScript y nuestro Arduino.

  • blink (ms): Función ya preparada que permite que tu LED parpadee.

  • Fotocelda: es un dispositivo que es capaz de producir una pequeña cantidad de corriente eléctrica al ser expuesta a la luz. Entre sus aplicaciones típicas están las de controlar el encendido-apagado de una lámpara,entre otras.

  • Servos: son motores que se mueven de manera mínima, en cantidad de grados.

Contribución creada por Josan Guerra.

Aportes 389

Preguntas 223

Ordenar por:

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

Corazón si tampoco tienes un Arduino físico

Listo el código, solo falta el Arduino 😦 .

var jf = require("johnny-five");
var circuito = new jf.Board();

circuito.on("ready", prender);

function prender()
{
  var led_amarillo = new jf.Led(13);
  var led_azul = new jf.Led(7)
  led_amarillo.blink(200);
  led_azul.blink(700);
  console.log("Freddy hay cuarentena y no plata, no hay pal Arduino")
}```

Like si te sientes frustrado porque no tienes un arduino físico y sientes que para poder utilizar un simulador y poder realizar aunque sea una prueba de tintinéo de un LED, se está omitiendo mucha información =(

Si tuvieron problemas al instalar johnny-five, lo que me funcion fue desinstalar la versión 13.3.0 de node, e instalar la versión LTS que en este caso fue la 12.13.1 (que son las que están publicadas al día de este comentario); después desinstale johnny-five de la carpeta donde tenia mi ejercicio arduino.js, con el comando:

npm uninstall johnny-five

Uno de los errores que marcaba la terminal era a un componente llamado gyp, entonces lo instale directamente, que se usa al parecer para compilar c con javascript o algo por el estilo; esto lo realice con el comando:

npm install node-gyp

Una vez que realice estos pasos siempre como administrador, de igual forma, realice la instalacion de johnny-five de nuevo:

npm install johnny-five

Todo funcionó correctamente después. Espero les sea de ayuda.

Si a alguien no le funciono el codigo, lo pude resolver instalando lo siguiente:

npm install johnny-five
npm i firmata-io
npm install serialport
Además, de ejecutar StandardFirmata.
Esto lo hice con un arduino físico.

Con Visual Studio, se puede ejecutar directamente el programa de JavaScript con la tecla F5.

Les quiero compartir un simulador que tiene antecedentes de funcionar en situaciones como esta, solo que es un proceso complejo, tardado pero si lo consiguen podrán utilizar esto para muchas cosas más, no se rindan.
Se trata de una interface entre nodeJS con un simulador llamado Proteus Design Suite, aqui les dejo un enlace:
https://github.com/rwaldron/johnny-five/wiki/Getting-started-with-Johnny-Five-and-Proteus
Tendrán que instalar las aplicaciónes y algunas librerias por parte de proteus para poder acceder al arduino entre otras cosas que NO aparecen en el articulo pero se puede,

Simulino v3: https://www.youtube.com/watch?v=5FDFVUKLVX4
Sensor de humedad y muchos más en proteus: https://www.theengineeringprojects.com/category/proteus

Para los que se preguntan si pueden hacer el proyecto del robot con el simulador, si es posible, solo que lo programaran con el lenguaje de arduino y no con JS, yo utilicé uno que se llama Tinkercad, tiene unas lecciones en las partes de lessons que te enseñan como hacerlo principalmente el proyecto 5, pd están en inglés.

Esperos que les sirva 😉

A pesar de tener un simulador , este no permite obviamente la configuración de los puertos, johnny y node. Así que quedo mal al no poder concretar el proyecto. Si alguno conoce un simulador que permita hacer todo lo que estas haciendo freddy le agradecería lo comparta.

Hubiera sido bueno que dejaran alguna guia para hacer el proyecto en un simulador… creo que la mayoría no tenemos un arduino.

Lo pegué en Preguntas 😕) y lo vuelvo a poner aquí
Para los que han tenido problemas con el ejercicio al ejecutarlo (en Windows):

-Instalen la versión LTS (la que dice recomendado para la mayoría)

-Ir a este enlace https://github.com/firmata/arduino/releases/tag/2.5.8

-Descargar el que dice ‘Firmata- 2.5.8.zip’

-Descompriman la carpeta en ‘C:\Program Files\Arduino\libraries’

-Cerrar el IDE y desconectar el Arduino

-Abrirlo cargar otra vez el firmata en el Arduino:
-Archivo --> Ejemplos --> Firmata --> StandartFirmata

-Abrir la consola en la carpeta donde tengan el proyecto (yo recomiendo borrar todo, el node_modules y el package-lock.json)

-Iinstalar el johonny-five:
npm install johnny-five
-Abrir el Editor de Texto y crear el ‘leds.js’ con el siguiente código
var jf = require(“johnny-five”);
var circuito = new jf.Board({port: ‘COM3’}); # <–Este es el único Cambio, aquí
# ponen el puerto que usa el Arduino
# Pilas, va entre corchetes así -->( { port: ‘COM3’ } );
circuito.on(“ready”, prender);

function prender(){

var led = new jf.Led(13);
led.blink(500);

}```

-Si no saben que puerto usa, se encuentra enla parte de abajo a la derecha del IDE de Arduino en mi caso dice 'Arduino/Genuino Uno en COM3' <----osea el puerto COM3 como se ve en el código anteriormente dado.

-Y eso es todo, si hay algun otro problema, enla página de github de johnny-five hay varias maneras de resolver los inconvenientes que salgan.

Saludos!!!

Sería interesante recibir el voltaje de una canción de rock y hacer titilar los leds a su ritmo.

A mi no me funcionó nada después de que Fredy dijo subámoslo a la placa, de ahí en adelante puras fallas.
Aquí esta el como lo solucioné, y ¿por qué los errores?
Desde que se grabo la clase, hace 4 años atrás, han habido cambios en los programas y librerías, esto lo escribo el 19 de febrero del 2021.
¿Cómo lo hice?
,
:::::::::::: Los pasos a seguir para que todo funcione ::::::::::
.

  • (1) Borrar la ultima versión de node.js (la que dijo que instalaras en la ultima clase) e instalar la versión LTS (en mi caso instale la 14.15.5 LTS)
    .
  • (2) Instalar desde el link los los paquetes redistribuibles más recientes de Visual C++, en mi caso descargue e instale la x64, porque mi pc es de 64 bits, sí el tuyo es de 32 bit, tienes que instalar la que dice x86 (https://support.microsoft.com/es-es/topic/descargas-más-recientes-compatibles-de-visual-c-2647da03-1eea-4433-9aff-95f26a218cc0)
    .
  • (3) Instalar el “Visual Studio Community 2019” con las opciones de “Desktop development with C++” (¡OJO! ⚠ no confundir con el “Visual Studio Sode” que es un editor de texto como Atom, yo instale este en primer lugar 😆)

    .
  • (4) Después de eso Aplicar el $ npm config set msvs_version 2017
    ¡¡ Este paso es MUY IMPORTANTE !! porque sino siempre te va a mostrar un error que necesita la versión 2017 del visual Studio y ya no esta disponible, solo está la versión 2019.
    (si estas en Mac o Linux, aquí esta la info equivalente de estos 2 ultimas puntos, https://github.com/nodejs/node-gyp#on-windows puesto que para esas plataformas también hubieron cambios)
    .
  • (5) Instalar python 2.x (la que funciona es la versión 2.x y yo instale la versión 2.7.18) ¡¡ ⚠ NO LA VERSIÓN 3.x !! (Todos recomendaban instalar python yo instale la ultima versión 3.9.2 y ésta no anda con las librerías de Johnny)
    ¡¡ Importante !! Al momento de instalar Activar la función del Path, no viene activada por defecto en la versión 2.x

Sí no activaste la función del Path en la instalación lo puedes hacer así como se muestra en este video https://youtu.be/QjOKfBpeywc
.

  • (6) Aplicar en el CMD el $ npm install -g node-gyp
    Tienes que tener instalado todo lo anterior para poder instalar esta opción. “-g” es para que se instale de manera global
    .
  • (7) Aplicar en el CMD el $ npm install node-gyp --save
    "–save" es para que se guarde en la carpeta también
    .
  • (8) Aplicar $ npm install johnny-five
    Ahora si se va a instalar bien, a pesar de que tira errores y busca el visual Studio versión 2017, funciona igual, puesto que ya hicimos la equivalencia en el punto (4)
    .
  • (9) Aplicar $ npm install serialport --save
    Johnny-Five instala una versión antigua, por eso es necesario volver a instalar esto a pesar de que Johnny ya habia instalado una.
    Para guardarlo en la carpeta
    .
  • (10) Aplicar $ npm install serialport -g
    Para instalarlo globalmente
    .
  • (11) Aplicar $ npm install firmata
    Por defecto Johnny-Five instala firmata-io y ese no funciona, tienes que instalar esto y guardarlo en la carpeta
    .
  • (12) Aplicar $ npm install -g firmata
    Para instalarlo globalmente
    .
  • (13) Hacer las modificaciones en el código de la board con el COM así
    En la mismisima pagina de Johnny Five sale sin esta opción, pero tiene que ir
//Así es el código original y falla
var jf = require("johnny-five");
var circuito = new jf.Board();

//Así tiene que quedar, ahora (Febrero 2021) hay que incluir en la .Board el puerto COM al que esta conectado el Arduino. Por su puesto tu tienes que colocar el COM que te dice en tu computador
var jf = require("johnny-five");
var circuito = new jf.Board({ port: "COM5" });

.

Lo logre a las 1:44 am después de como 7 días buscando en miles de foros, videos y post de platzi como hacerlo

y ahí funcionó.
Espero te sirva también, un abrazo grande.

Me hice bolita 😦

como corro el js con node en un simulador de arduino asi como este

![](

Tengo un Arduino UNO y NO me funcionaba en Windows 10, tuve que seguir los pasos e instalar/seguir todo lo que decía en:

  1. http://johnny-five.io/platform-support/#relationship:all
  2. https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shooting (parte de Windows)
  3. https://www.youtube.com/watch?v=6CmIidOxc2g (cuando hice esto último funcionó)

Buenas, vengo para aclarar algunos errores que me llegaron y como los solucione.
1 de ellos fue por que no se descargaron bien las librerias de johnny-five y lo unico que hice fue borrar la carpeta node_modules e instalarlo de nuevo.
2 en el arduino no estaba por defecto el puerto “COM1” para que funcionara, en mi caso era el COM5. Solo es ir a herramientas>puerto y poner el que tienen funcionando, como dije el mio fue COM5.
3 en Node al ejecutar node leds.js me mandaba error que ya e visto varios casos similares y la respuesta esta en el punto 2, osea especificar el puerto que te funciona. Para eso en tu editor de codigo agrega o modifica esto.
originalmente dejabamos:
var circuito = new jf.Board();
solo es agregar el puerto en el paréntesis
var circuito = new jf.Board({port:‘COM5’});

Para los que no tienen un arduino fisico, pueden usar el simulador Proteus donde pueden aplicar todo lo aprendido en la clase, aqui la guia:
https://github.com/rwaldron/johnny-five/wiki/Getting-started-with-Johnny-Five-and-Proteus
.
Yo me encontre con varios problemas, y aqui tengo una guia resumida de lo que hice.
.
COMO PROGRAMAR UN SIMULADOR DE ARDUINO CON JS Y NODE:
.
Programas que se necesitan:
.
• Proteus Design Suite
• Com0com
• Arduino IDE
• Node.js
.
Recomendaciones:
.
-El Proteus tiene que estar con licencia, porque el demo no te sirve para crear tu propio arduino.
-Hay que instalar la librería de arduino en el Proteus.
-Es recomendable que sea la versión 2.2.2 de Com0com para poder crear los puertos virtuales.
.
CREANDO NUESTRO CIRCUITO EN PROTEUS
Se crea un circuito como la imagen

CONFIGURACION DE NUESTROS COMPONENTES:
.
A. CONFIGURACIÓN DEL ARDUINO

• En el IDE de arduino abrimos: File > Examples > Firmata > StandarFirmata
• Verificamos que el check de compilación esta marcada: Files > Preferences > Check en Compilation.
• Compilamos y cuando termine, desde la consola copiamos la dirección que tenga extensión ino.hex
• En Proteus hacer doble click en el arduino y pegar la dirección en program file y luego OK.
.
B. CONFIGURACION DEL COMPONENTE SERIAL

• Entrar al setup de com0com desde donde se instaló y cambiar los puertos por COM1 y COM2 y luego click en aplicar.
• En Proteus hacer doble click en el componente serial y poner en physical port: COM1, physical and virtual baud rate: 57600.Luego OK.
Correr el arduino haciendo click en play.
.
EJECUCION DEL PROGRAMA
El código cambiaria asi:

Como ya esta instalado Johnny-five en la carpeta arduinode ejecutamos: $ node app.js(en mi caso).
El led rojo empezara a parpadear según lo programado y aparecerá Hola Mundo en la consola.

¿Hay manera de continuar con el proyecto utilizando el simulador?

¿Alguien conoce algún simulador que soporte Node.JS? Hasta el momento estoy estudiando todo teóricamente

Saludos, alguien esta tomando las clases con un simulador de arduino ? hacer los ejercicios desde javascript al simulador ? Si alguien tiene uno que les haya funcionado, les agradezco que compartan…

¿Cuales son los ventajas y desventajas de programas arduino con Javascript, Node y Johnny-five en vez de C++ y Sketch?

¡Feliz aprendizaje!
Atentamente: Rapimi95. 😄

Hoy me llegó mi Arduino físico :3

Es una lástima que nos excluyan a los que en este momento no contamos con un arduino físico.

una lastima no tener un ardruino

No se porque no me deja ejecutar el programa si he realizado bien los pasos y está todo sobre la misma carpeta…su ayuda por favor!

SIIII, luego de varios intentos, lo conseguí. Tip: Personalmente, primero desinstalé johnny-five y node.js; luego fui probando con diferentes versiones de node.js; al final, me funcionó con la Actual (16.10.0).
Además, utilicé el mismo código que daban de ejemplo en la página de johnny-five para prender el led. Creo (es mi suposición) que en algunas versiones de node.js no cargan todas las carpetas necesarias para el funcionamiento de johnny-five. En cualquier caso ¡No se rindan!

Cuando escribo el comando node leds.js me manda un error, ya he intentado hacerlo todo desde cero, pero me sigue saliendo el mismo error, y ya no se que hacer para poder continuar.

C:\Users\123\Documents\Programacion\progbasica\arduino\arduinode>node leds.js

//Aquí ya mandé el comando node leds.js y esto es lo que me aparece en la consola, y no me deja continuar//

1541436265769 Available COM4
(node:640) UnhandledPromiseRejectionWarning: Error: Cannot find module 'firmata’
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Board.connect (C:\Users\123\Documents\Programacion\progbasica\arduino\arduinode\node_modules\johnny-five\lib\board.js:115:14)
at Board.<anonymous> (C:\Users\123\Documents\Programacion\progbasica\arduino\arduinode\node_modules\johnny-five\lib\board.js:300:24)
at Board.<anonymous> (C:\Users\123\Documents\Programacion\progbasica\arduino\arduinode\node_modules\johnny-five\lib\board.js:110:16)
at promise.then.ports (C:\Users\123\Documents\Programacion\progbasica\arduino\arduinode\node_modules\serialport\lib\serialport.js:628:16)
(node:640) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:640) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

//Todo eso lo copié exactamanete desde la consola pero de ahí no me deja continuar//

Para los que les de un error es por la versión de node Js a fecha Enero 28 de 2019 la version actual de node.js es 11.8.0 y a mi con esa versión me dió error al correr el archivo js y tuve que usar la versión que utilizó Freddy la version 6.4.0, para cambiar de versión utilicé NVM (Node Version Manager) y al cambiar la version ya podrán hacer los ejercicios del curso

les dejo un enlace para ver como se usa nvm

No pude instalar Johnny-five… al momento de ejecutar el comando que indica Freddy sale una serie de errores que al parecer necesito tener instalado otras cosas

Saben si es posible o existe algún simulador de arduino que me permita conectar con node?

por si les ayuda nomas. Si tienen otro disco y guardan ahi sus cursos como yo osea particiones vayan a la consola y pongan cd…
osea para salir de users luego denuevo hagan lo mismo hasta estar en la letra de su disco y luego pongan la letra del disco a donde quieren entrar por ejemplo: E y dos puntos.DND

Hola a todos, tuve el problema de que cuando ejecutaba leds.js me daba un error ya que no encontraba el firmware para hacer la conexión.
El problema era que no estaba buscando el puerto correcto, ya que por defecto iba a buscar el COM3 y el arduino estaba en el COM5.

Lo resolví agregando a la linea donde inicialízo “circuito” el lugar en donde tengo conectado el dispositivo.
var circuito = new jf.Board({ port: “COM5”});

Espero les sea de ayuda.
Saludos a todos

Hola a todos, tengo una Mac con perfil de administrador pero al instalar johnny-five me aparece un error y no se instalaron todas las librerias. la primeras mitad de la instalacon salio error:

Alguien sabe como debo hacerlo?

Richards-MacBook-Air:arduinode richardgaona$ npm install johnny-five

@serialport/[email protected] install /Users/richardgaona/Desktop/arduino/arduinode/node_modules/@serialport/bindings
prebuild-install --tag-prefix @serialport/[email protected] || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=14.2.0 runtime=node arch=x64 libc= platform=darwin)
No receipt for ‘com.apple.pkg.CLTools_Executables’ found at ‘/’.

No receipt for ‘com.apple.pkg.DeveloperToolsCLILeo’ found at ‘/’.

No receipt for ‘com.apple.pkg.DeveloperToolsCLI’ found at ‘/’.

gyp: No Xcode or CLT version detected!
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Darwin 19.4.0
gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” "rebuild"
gyp ERR! cwd /Users/richardgaona/Desktop/arduino/arduinode/node_modules/@serialport/bindings
gyp ERR! node -v v14.2.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN saveError ENOENT: no such file or directory, open '/Users/richardgaona/Desktop/arduino/arduinode/package.json’
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/Users/richardgaona/Desktop/arduino/arduinode/package.json’
npm WARN arduinode No description
npm WARN arduinode No repository field.
npm WARN arduinode No README data
npm WARN arduinode No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @serialport/[email protected] (node_modules/@serialport/bindings):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @serialport/[email protected] install: prebuild-install --tag-prefix @serialport/[email protected] || node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

  • [email protected]
    added 26 packages from 14 contributors and audited 92 packages in 19.363s

1 package is looking for funding
run npm fund for details

found 0 vulnerabilities

Richards-MacBook-Air:arduinode richardgaona$

No bloquees tu mente por que no tienes un ardruino puedes utilizar: https://www.tinkercad.com/


No sera lo mismo que copiar el codigo pero igualmente lo puedes interpretar de como seria o escribirlo en JS

Esto es increíble, no parece para nada un curso de programación básico. No lo digo por lo complejo, si por lo completo y además bien pensado, con cosas del hacer inmediato y encantar a la gente.
Otra vez, felicitaciones.

Es importante tener en cuenta que el código de JS no se almacena en la memoria de la placa.
.
Sino que se envía las instrucciones desde la computadora y la placa las ejecuta. Por esa razón cuando se está ejecutando algún programa en la placa de arduino UNO se enciendo el led Rx que indica que esta recibiendo información.
.
En la placa solo esta almacenado el Sketch que permite la comunicacion por el puerto usb.

Para limpiar la consola escriben cls 😄

muy interesante la manera de programar el arduino con js. lastima que no tengo uno jaja

Esparare a volver a comprar un arduino 😦

el mejor simulador de arduino según mucha gente es el tinkercad pero, ¿se puede usar con javascript? ya lo probé y solo funciona con sketch, ¿alguien sabe si se puede configurar para correr javascript?

toco comprar el arduino porque hace falta para continuar este curso de aquí en adelante 😦

Actualización 2021. Para instalar Johnny five tenemos que instalar. Python. https://www.python.org/downloads/
Posteriormente seguimos los pasos de Freddy pero a la hora de instalar Johnny ponemos esto en el cmd:
npm install johnny-five --save

¿Y si tengo una Raspberry como lo hago?

Si alguien es usuario de macOS Catalina y está teniendo errores de instalación cuando ejecutan npm install johnny-five, les recomiendo hacer esto
Instalar Xcode
Abrir Xcode y CLT se instalará solo.
Abre la terminal y ejecuta el siguiente comando :

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Estupendo, ahora comprendo más la relación de programación interna del hardware hacia el software.
<strong>Thanks Freddy! </strong>

Parpadeo de 3 leds al mismo tiempo.

var jf = require("johnny-five");
var circuito = new jf.Board();

circuito.on("ready", prender);

function prender()
{
    var led1 = new jf.Led(13);
    var led2 = new jf.Led(12);
    var led3 = new jf.Led(11);
    led1.blink(500);
    led2.blink(1000);
    led3.blink(5000);
}

Para los que estamos trabajando con un arduino desde el navegador como el de Thinkercad solo es copiar y pegar el código verdad?

Excelente nuevo conocimiento adquirido! Programación de Arduino con JavaScript, nodejs y johnny-five! utilicen el nodemon para que no tengan que detener el node y lo realice automaticamente al detectar un cambio…
Instalación: npm install -g nodemon
Uso: nodemon leds.js
Funciona perfecto!

Probablemente se pueda usar nodemon para evitar parar y reiniciar el script de node, al hacerlo se detectan los cambios y se actualiza automáticamente
Instalación: npm install -g nodemon
Uso: nodemon leds.js

Hola compañeros! si a alguien le sale algún error al instalar johnny five lea bien el error y si dice algo como que falta la versión de python solo busquen en YouTube como instalar la última versión de python. Si vuelven a intentar y les funciona estaría genial, peropuede pasar que les de otro error y que esta vez les falte visual studio; hagan lo mismo que con python: busquen en YT e instalen todos los lenguajes que les aparezca enel proceso de instalación. Esto último no se si es necesario porque en el error me salía que faltaba visual studio y c++ pero mejor que sobre a que falte. Así solucioné el error y ahora si funciona mi blink.js. Recuerden subir el scketch standard firmata al arduino antes!

En mi caso el puerto para el arduino es el COM5, y al ejecutarlo me salía un error que solucioné cambiando la siguiente línea de código

var circuito = new jf.Board({ port: "COM5" });

HOLA, TUVE UN PROBLEMA CON EL SIGUIENTE ERROR " LA SOLUCION FUE INSTALAR npm install serialport

module.js:338
throw err;
^
Error: Cannot find module 'serialport’
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Board.Serial.detect (D:\node_modules\johnny-five\lib\board.js:70:7)
at new Board (D:\node_modules\johnny-five\lib\board.js:303:23)
at Object.<anonymous> (D:\robotarm.js:90:9)
at Module._compile (module.js:460:26)
at Object.Module._extensions…js (module.js:478:10)
at Module.load (module.js:355:32)

no me salen todas las librerias. me salen errores cuando instalo la libreria de johnny-five, he intentado todo lo que dice en los aportes pero pasa lo mismo.

Chicos una oregunta, al cargar el codigo en el arduino para leer javascript, y fuera de todo cargar el codigo en javascript, no se llena mucho mas rapido la ram del arduino?

Breveeeeee. De algo sirve cuando al final d aun año escolar los estudiantes dejan tirados sus materiales…

hola, disculpa me pueden ayudar, en que estoy mal.
![](

No tengo un arduino fisico y no puedo realizar las practicas 😦

Solo queda ver la clase y aprender asi.

No tengo ni la mas remota idea de como instalar esto en mac 😦

saben que es esto Error: Cannot find module ‘serialport’

Ayuda tengo el siguiente error:

Error: Cannot find module 'serialport'

al ejecutar en cmd node leds.js me sale error: A timeout occurred while connecting to the Board.
no pude terminar la clase :c HELP

¿Alguien me podría decir las diferencias entre node y express? gracias 😄

porque pone la resistencia en la patita negativa del led y no en la positiva?

Muy interesante, lástima que no tengo uno

Freddy es genial el curso. Por que no explicaste con un arduino gratis de internet?

19:19 ¡Viva México, cabrones!

¿Aguien logró integrar javascript con el simulador de arduino? Si es así sería muy bueno saber como le hizo

Los nombres de los led estan invertidos. “rojito” es en realidad el led amarillo y “bombillito” es en realidad el led rojo.

Buenas noches yo tengo win 11 y me aparece este error, aun instalando de forma independiente la carpeta de Firmata y alterando el código para especificar el puerto donde tengo conectado el Arduino me sigue apareciendo este error, muchas gracias de antemano a quien me pueda ayudar.

Corazón si tienes un Arduino físico

Lastima no pude solucionar una serie de errores que me salió, incluso con los que compartieron los compañeros, me quede con las ganas de realizar este proyecto, primera falencia que encuentro en los cursos de platzi.

Siento que esta clase ha sido mi punto de inflexión en Platzi, ya que por primera vez me vi en la necesidad de buscar soluciones por todas partes, hacer pruebas y errores, y pedir ayuda. La sensación de satisfacción al ver que mi script se inició y ver los led encenderse me dio la motivación para seguir adelante y nunca querer parar, gracias Freddy, gracias Platzi y a toda la comunidad.

Para los que han tenido problemas frustantes (como yo) al tratar de hacer funcionar esto: Yo teía inicialmente el error de que no se pudo encontrar el módulo Serialport, hice npm install serial port y luego el error era que no se encontraba el módulo firmata. Al tratar de instalarlo, me arrojaba otros errores relacionados con la versión de python, la versión de visual studio y una complicación de cosas… al final ninguno de los troubleshootings relacionados con eso me funcionó, sino hasta que sólo descargué otra versión LTS de Node anterior a la actual:

https://nodejs.org/en/blog/release/v12.22.9/

Hola amigos, para sacar el mayor proyecho, por favor compren el Arduino. Tengo uno exactamente igual al original, de hecho creo que es realmente original, y solo costó 24 mil pesos colombianos. Háganse ese favor, no se arrepentirán

Les recomiendo usar el microcontrolador de Steren, es exactamente igual que Arduino y es compatible con su software solo que más barato 😄

Fredy: yo se que se les olvida todo lo que les enseño pero no se preocupen los perdono.
Yo: es que toy chiquita, dame chance

Fredy, gracias por tu gran trabajo
pero debes tener en cuenta que 200 y 700 son pares (digiste que eran impares) y después de 7 encendidos los dos se prenderan simultaneamente…

hola! estaría bueno tener una guía porque los que no tenemos un arduino en fisico, luego se nos olvida!

me gusta mucho estas clases

Para los que, como yo, no tengan un Arduino fisico, y mientras esten a la espera de comprarselo, puedan programar: https://www.tinkercad.com/

Es un buen simulador de Arduino y diseño grafico, te permite poner codigo interno, como si estuviera conectado en tu PC con un USB, entre otras cosas.

Igual ya lo conocian, aunque a mi, me esta sirviendo de mucha ayuda.

en mi caso tuve un par de problemas para ejecutarlo, en resumen estos fueron mis problemas y mis soluciones:

  1. al instalar johnny-five me marcaba muchos errores la consola, note que uno de ellos era que no tenia instalado el VISUAL STUDIO.
    Solución: Instalé visual studio
  2. El codigo lo intente ejecutar exactamente como Freddy lo escribio, sin embargo, no me reconocia la función en el programa.
    Solucion: escribir el codigo con la función dentro de board.on() exactamente como aparece en en la pagina de johnny-five

para todos aquellos que tienen dificultad para conseguir un arduino original. Ya lo probe en un “arduino” chino y funciona bien.

Al minuto 17:02 se dieron cuenta que bombillito ya no es amarillo sino rojo y rojito es amarillo =)

Aunque no tengo el Arduino me emociona mucho este tipo de conocimiento, ya que mezcla programación con electronica.

Error: Cannot find module ‘serialport’

amigooooos helppppp no encuentro como corregir este error,
¡ quien podra ayudarme

Me tira error al descargar johnny-five. Uno de los errores es can t find Python executable

“Vamos a hacer algo mas loco! Dos LED” 😃. Y lo peor es que uno se imagina cosas locas tipo que va a hacer caminar el arduino. XD

Yo lo hice en tinkercad; realmente no soy tan fan de la electrónica, pero siento al menos ya puedo decir que puedo prender no uno, sino dos leds con un arduino.

cual es la ventaja hay de usar javascript en lugar del lenguaje que se utiliza en IDE de arduino

Comprare el arduino y seguire este gran curso con todo.

Jajajaja te vas a electrocutar

Genial!

que bien …poder aprender esto de forma gratuita

Muy bueno, dan ganas de comprarse un Arduino 😦

excelente forma de enseñar

me aparece este error, a alguien mas le sale?