Documente Academic
Documente Profesional
Documente Cultură
a la electrónica
con JavaScript
Mate Marschalko
Iniciación a la electrónica con Javascript
por Mate Marschalko
Corrección de textos
y revisión por Nicholas Headlong y Pedro Carmona.
Revision técnica por James Miller.
Revisión de ingeniería eléctrica por Gabor Szoke.
Escrito por
Mate Marschalko
Tecnólogo Creativo Senior
y Desarrollador Web
James Miller
Líder Tecnológico y
Tecnólogo Creativo
www.webondevices.com
TABLA DE CONTENIDOS
Introducción 7
JavaScript en el servidor 12
Placas de desarrollo 14
El Arduino UNO 18
Parpadeo de un LED 33
Sensorizando el mundo 37
Seguir avanzando 51
Iniciación a la electrónica con Javascript
INTRODUCCIÓN
7
a través de las experiencias físicas, además de ser una
gran inversión financiera para los desarrolladores
para cambiar sus habilidades en la construcción de
aplicaciones físicas. Incluso hoy en día, las agencias de
visión de futuro han comenzado a contratar tecnólogos
creativos Front-end.
Estos desarrolladores no sólo son competentes
creando sitios web, también son capaces de construir
tiendas interactivas, experiencias de realidad virtual
o de otros prototipos de hardware interactivo. Ellos
no sólo ganan mucho más en comparación con los
desarrolladores de aplicaciones para usuario regulares,
sino que se ponen a experimentar con todos los últimos
gadgets y juguetes en su trabajo del día a día!
8
Iniciación a la electrónica con Javascript
9
RESTRICCIONES
DEL NAVEGADOR
10
Iniciación a la electrónica con Javascript
11
JAVASCRIPT EN EL SERVIDOR
12
Iniciación a la electrónica con Javascript
13
PLACAS DE DESARROLLO
14
Iniciación a la electrónica con Javascript
15
desarrollo pueden agilizar el proceso de desarrollo.
Ayudan a potenciar, comunican, e interferir con el
microcontrolador. La adición de un puerto USB para
cargar el código a UNO, y un conector para alimentar el
sistema a partir de una batería de 9V, son a la vez útiles.
Actualmente, hay una abrumadora cantidad de
placas disponibles en el mercado para elegir. La mayoría
de estos son compatibles con Arduino, así que ¿cómo son
todos diferentes unos de otros?
16
Iniciación a la electrónica con Javascript
17
EL ARDUINO UNO
18
Iniciación a la electrónica con Javascript
19
código escrito y cargarlo sobre la placa.
Los pines de cabecera también permiten
la conexión a una constante de 5V y una fuente de
alimentación de 3.3V (5 y 3,3 voltios). Estos simplemente
le permitirán utilizar a UNO como una batería para
alimentar sus componentes. En las baterías regulares
se encuentran dos polos: positivo y negativo. Los pin 5V
y 3.3V en el Arduino son los polos positivos, y los pines
GND(de tierra) son los negativos.
Al lado de los pines de cabecera se encuentra el
puerto USB tipo B utilizado para comunicarse con un PC
y poder cargar el código. El conector en la parte inferior
izquierda es donde se puede conectar una batería de 9V o
cualquier otra fuente de alimentación de DC de entre 6 y
20V (lo recomendado es 7 -12 V), esto puede ser cualquier
adaptador de red con el tamaño correcto del enchufe y
cantidad de voltaje . A efecto de los siguientes
20
Iniciación a la electrónica con Javascript
21
lo que vamos a hacer. Para este proyecto se necesita un
Arduino UNO, un LED, una resistencia de 150 a 1k, una
placa y algunos cables de puente.
Las resistencias pueden ser identificados a
partir de las rayas de colores en su cuerpo. Hay muchas
1
calculadoras de resistencia y algunos trucos que sirven
de ayuda.
El circuito más simple posible que podemos
pensar sería un LED iluminado por una batería. Este
circuito se conecta el polo positivo de la batería con la
punta positiva del LED y el polo negativo con la punta
negativa.
1
http://www.dannyg.com/examples/res2/resistor.htm
22
Iniciación a la electrónica con Javascript
23
necesitamos esto. Bueno, hay un problema: el LED no
limita la corriente eléctrica en nuestro circuito así que
sin ella trataría de utilizar demasiada. Sin resistencia en
nuestro circuito el LED se sobrecargaría y sufriría daños
en muy poco tiempo. Probablemente sólo funcionaría
durante un par de minutos antes de que se queme de
forma irreversible.
Para evitar que esto suceda, podemos limitar el
flujo de corriente eléctrica a través del LED mediante
1
la adición de una resistencia. Usando la ley de Ohm
(resistencia es igual a la tensión dividida por la corriente
o R = V / I) se puede calcular la resistencia exacta
necesaria en una determinada instalación.
EEn nuestro circuito Arduino proporciona 5
voltios pero no todos que pasarán por resistencia: el LED
también tiene una pérdida de tensión 2 voltios, que es la
tensión suministrada ideal para que funcione. También
sabemos que la corriente ideal para nuestro LED es 20
mA ó 0,02 en amperios. Ahora tenemos que elegir una
resistencia que se reduzca la tensión en 20mA. El valor
de la derecha viene dada por la ley de Ohm:
R = V / I
R = (5V - 2V) / 0.02A
R = 150Ω
1
https://youtu.be/-mHLvtGjum4
24
Iniciación a la electrónica con Javascript
25
Creando prototipo con placas de circuitos
26
Iniciación a la electrónica con Javascript
27
EMPEZANDO CON NODE.JS
console.log(”Hola Mundo”);
28
Iniciación a la electrónica con Javascript
29
Conectando Node.js con Arduino
Node.js Arduino
con USB con
JavaScript Firmata API
PC Arduino UNO
Función de Firmata
1
https://github.com/rwaldron/johnny-five
2
https://bocoup.com/
30
Iniciación a la electrónica con Javascript
1
https://www.arduino.cc/en/Main/Software
31
Una vez instalado, conecta tu Arduino en el
puerto USB y el LED de alimentación verde, etiquetado
con ON, debe encenderse. Abre la aplicación IDE
que acaba de instalar y asegúrese de que bajo la ruta
Herramientas/ Placa Arduino(Tools/Board Arduino) está
seleccionado UNO. También tendrá que seleccionar el
puerto USB que el Arduino se conecta en Herramientas
/ puerto serie(Tools/Serial Port). El puerto se mostrará
en la lista cuando la placa está conectada. Si tiene
problemas para conseguir con que la conexión funcione
1
consulte la guía de instalación oficial
1
https://www.arduino.cc/en/Guide/HomePage
32
Iniciación a la electrónica con Javascript
2
o la página de solucionar problemas.
A continuación es lo que usted verá cuando
usted abre el IDE. En esta etapa no escribiremos nada
en lenguaje Arduino. Sólo abrimos el IDE para cargar la
librería estándar Firmata. Seleccione Archivo / Ejemplos
/ Firmata / StandardFirmata(File/Examples/Firmata/
StandardFirmata) para abrir el boceto y luego presione
cargar(upload la flecha verde que apunta a la derecha),
esto cargará la librería Firmata a tu UNO.
Si todo se ha realizado correctamente, verá
el mensaje “Done Uploading.” En la barra de estado
verde. Si recibe un mensaje de error, asegúrese de que
el Arduino está conectado, tiene corriente, y que se ha
seleccionado la placa y el puerto correcto en el menú de
herramientas.
Si tuviera algún problema para instalar la librería
Firmata, diríjase a la guía de instrucciones. 1
1
http://www.instructables.com/id/Arduino-Installing-Standard-Firmata
2
https://www.arduino.cc/en/Guide/Troubleshooting
33
PARPADEO DE UN LED
34
Iniciación a la electrónica con Javascript
35
arduino.on(”ready”, function(){
// La placa está lista. Ahora
// podemos hacer parpadear el LED
});
36
Iniciación a la electrónica con Javascript
arduino.on(”ready”, function(){
var led = new five.Led(10);
led.blink(500);
});
37
this.wait(3000, function(){
led.fadeOut();
}
38
Iniciación a la electrónica con Javascript
SENSORIZANDO EL MUNDO
39
Para este proyecto, se necesita un Arduino UNO,
un sensor de temperatura LM35 o TMP36, un LDR, una
placa de circuitos, un dos resistencias de 1k y algunos
cables de puente.
Midiendo la temperatura
Para medir la temperatura utilizaremos el
bastante común sensor LM35. Este sensor de bajo coste
opera entre -55 y 150 ° C, con una precisión de +/- 0,5 °
C (aunque es un poco difícil de medir temperaturas bajo
cero con el LM35). La forma en que este sensor analógico
funciona es muy simple y de hecho, la mayoría de los
sensores analógicos funciona de una manera similar.
En primer lugar se alimentan de una fuente de energía
constante en dos de sus pines (+ y -) y, a continuación,
en un tercer pin, dan salida a un valor de tensión inferior
que es directamente proporcional a la lectura del sensor.
Nuestro sensor de temperatura se alimentara del
pin de 5v de Arduino UNO y tendrá una salida entre 0 y
2 voltios, que cambiará con la temperatura. El factor de
escala de LM35 es 0.01V / ° C, lo que significa que por cada
grado centígrado en la temperatura del aire el voltaje
cambiará en 0.01 voltios en el pin de salida.
40
Iniciación a la electrónica con Javascript
41
De las tres puntas del sensor la de la izquierda
es el positivo y el de la derecha es el polo negativo (el
lado plano del sensor es la parte delantera). Vamos a
alimentar con los pines 5V (positivo) y GND (negativo)
del Arduino UNO como se ha visto en la página anterior.
42
Iniciación a la electrónica con Javascript
arduino.on(”ready”, function(){
// El Arduino está listo
});
43
A continuación, tenemos que crear una nueva
instancia del sensor de temperatura con algunos ajustes,
que son el nombre del sensor, y el número pin está
conectado.
44
Iniciación a la electrónica con Javascript
var celsius = 0;
var fahrenheit = 0;
arduino.on(”ready”, function(){
45
var tempSensor = new five.Temperature({
controller: ”LM35”,
pin: ”A0”
});
});
46
Iniciación a la electrónica con Javascript
47
Midiendo la luz
48
Iniciación a la electrónica con Javascript
R1
R2
49
cambiará la tensión de salida hacia arriba o abajo.
En el circuito LDR cambiamos una de las
resistencias habituales de la resistencia dependiente
de la luz. La resistencia del LDR cambiará con las
condiciones de luz en el circuito divisor de tensión que
a cambio cambiará constantemente la tensión de salida
para nuestro pin de entrada.
Cuando la foto-resistencia se expone a la luz, su
resistencia disminuye por lo que la lectura de la tensión
será mayor. Por el contrario, con menos luz la lectura de
voltaje será menor. El valor cambiante de la tensión es
entonces el calculada por los pines de entrada analógicas
del factor de Arduino.
50
Iniciación a la electrónica con Javascript
51
var lightSensor = new five.Sensor({
pin: ”A1”,
freq: 250
});
lightSensor.on(”data”, function(){
console.log(this.value);
});
var light = 0;
52
Iniciación a la electrónica con Javascript
arduino.on(”ready”, function(){
lightSensor.on(”data”, function(){
light = this.value;
console.log(light);
});
});
53
SEGUIR AVANZANDO
1
http://www.webondevices.com/arduino-nodejs-rc-car-driven-with-html5-gamepad-api/
54
Iniciación a la electrónica con Javascript
1
http://www.webondevices.com/the-arduino-plant-with-javascript-voice-recognition/
2
http://www.webondevices.com/rotate-a-css-3d-cube-with-an-arduino/
55
Usar Node.js para comunicarse con Arduino es
sólo una de las muchas maneras de utilizar JavaScript
para la construcción de proyectos electrónicos. En estos
ejemplos, el código JavaScript se ejecuta en el procesador
del ordenador, y luego ejecutamos comandos hacia
Arduino. Otras placas como el Raspberry Pi, Arduino Yun,
Tessel y el Espruino realidad pueden ejecutar JavaScript
por ellos mismos. Las placas Particle, compatibles
con Arduino, presentan una API RESTful, y existe una
librería de Node.js para trabajar con ellos también.
Las placas Particle pueden conectarse a Internet de
forma inalámbrica, por lo que Node no depende de una
conexión USB.
El proyecto Web on Devices se dedica a seguir
experimentando los límites de lo que es posible con
placas de desarrollo y dispositivos inteligentes que
aprovechan las tecnologías web. En los próximos
proyectos vamos a explorar todas las tablas y las técnicas
mencionadas.
Siga Web on Devices en Facebook, Twitter
o Instagram para no perderte ninguno de nuestros
interesantes futuros proyectos:
www.facebook.com/webondevices
www.twitter.com/web_on_devices
www.instagram.com/web_on_devices
56
Web on Devices
Integrando electrónica con Javascript
y otras tecnologías Web
www.webondevices.com