Este proyecto se puede realizar con un Arduino Físico y una ProtoBoard (o BreadBoard en ingles). Tambien puedes simularlo en paginas como Tinkercad.com. El Arduino es una placa que tiene un SoC (System on a Chip), que tiene dentro una CPU, RAM y Almacenamiento. El codigo / Software con el que el Arduino corre lo subes por un puerto USB conectado a tu computadora. Y ese codigo usa los puertos del Arduino para enviar y recibir señales electricas para hacer el proyecto que se te ocurra. La ProtoBoard solo es una "tabla" de cables ordenados para hacer las conexiones que desees sin complicaciones. El Arduino al arrancar manda tres pulsos electronicos por el puerto 13 para comprobar que todo funciona cada vez que se reinicia (con el botón rojo en la esquina superior izquierda del Arduino tambien se puede reiniciar manualmente el programa).

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e308ff59-a98a-4c71-b22b-dc8793c1d0dd/Untitled.png

Acá está el SetUp de una configuración que enciende y apaga un LED con intervalos de 1000 milisegundos (1seg). Además del Arduino, LED y la ProtoBoard, tambien utilizamos una resistencia para controlar la fuerza con la que la electricidad fluye, esto debido a que si le mandamos mucha "fueza eléctrica" al LED, suele quemarse. Para evitar esto usamos la resistencia. Al lado derecho vemos el codigo que es cargado al Arduino que controla el Hardware. Como vemos, hay dos funciones. En C, el lenguaje de programación utilizado por Arduino, hay dos funciones por defecto: setup y loop. La funcion setup, es la que arranca y establece las condiciones iniciales de todos los puertos y variables, esta función se ejecutará únicamente cuando el sistema arranca desde 0. Por otro lado, la función loop será la función que le seguirá a setup pero esta se mantendrá ejecutando constantemente (hasta que se cierre el programa).


Ahora, acá tenemos el SetUp de una configuración que enciende el LED por 1 seg y se apaga por medio segundo.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ea48fe51-ea26-4578-9a7d-db158ba2cb89/Untitled.png


Para programar en Arduino con JavaScrip debemos instalar un Firmware que le permite al Arduino conectarse con NodeJS. Para esto debemos instalar unos programas con npm. Igual que como instalamos NodeJS. En este caso será Jhonny Five, este es una librería para programar arduinos con NodeJS. Para instalarlo debemos ir a la consola y correr el siguiente comando sobre el directorio donde se quiere instalar:

$ npm install johnny-five