Página 2
Tarjeta programadora compatible con Arduino tipo Leonardo. Por favor, revíselo completamente para estar seguro de cómo utilizar apropiadamente el producto. Para apoyo, compras y todo lo nuevo que tiene Steren, visite nuestro sitio web: www.steren.com La información que se muestra en este manual sirve únicamente como referencia sobre el producto.
Página 3
IMPORTANTE • Mantenga el equipo fuera del alcance de los niños. • No exponga el equipo a temperaturas extremas. • No use ni almacene este equipo en lugares donde existan goteras o salpicaduras de agua. • Evite las caídas del equipo, ya que podría sufrir daños. •No coloque el equipo ni los accesorios sobre superfi...
CÓMO EMPEZAR CON ARDUINO Este manual le ayudará a entender lo que es y cómo funciona Arduino para comenzar a construir sus propios proyectos electrónicos. ¿Qué es Arduino? Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware fl...
USB para programarlo y si quiere ser capaz de ejecutar su proyecto cuando no está cerca de la computadora, necesitará un adaptador de corriente AC-DC o batería y cable. Usted encontrará estos componentes en Steren. Escudos Un escudo es una placa de circuito adicional a su Arduino. Generalmente, un escudo se coloca encima de la placa base Arduino, se conecta con sus pines I/O y permite al Arduino especializarse añadiendo capacidades adicionales, o...
Página 6
Finalmente, estará listo para escribir programas (el editor de Arduino se refi ere a ellos como “sketches”) para su proyecto. Necesitará cierta familiaridad con programación en C++, variables, funciones, declaraciones “if” y bucles, pero los sketches Arduino suelen ser más simples. SKETCHES La mejor manera de aprender programación de Arduino es a través de los sketches de ejemplo incluidos en el IDE de Arduino.
Página 7
DIGIRAL (PWM) POWER ANALOG IN Conexión para realizar la salida por el PIN 10. DIGIRAL (PWM) POWER ANALOG IN...
Página 8
Programa * Intermitente * Ejemplo básico con Arduino. Encendido y apagado de un LED * con una cadencia de 1 s usando el PIN 13 como salida * no es necesario usar una resistencia para el LED * la salida 13 de Arduino la lleva incorporada. * http://www.arduino.cc/en/Tutorial/Blink int ledPin = 13;...
2. Alarma Cuando presiona el pulsador (entrada 5 a “0”), la salida 13 se enciende y se apaga de forma intermitente. Funcionamiento: Cuando la E5 = 1 Entonces S13 = 0 Cuando la E5 = 0 Entonces S13 = 0-1 (Intermitente 200,200 ms) 10 K...
Página 10
Programa int ledPin= 13; // elija el PIN para el LED int inPin= 5; // choose the input pin (for a pushbutton) (elija el PIN de entrada (para un botón) int val= 0; // variable for reading the pin status (variable para lectura de estatus del PIN) void setup() { pinMode(ledPin, OUTPUT);...
3. Secuencia Básica de 3 LEDs Trata de encender y apagar 3 LEDs colocados en las salidas 6, 7 y 8 (PIN 6, PIN 7 y PIN 8) con una cadencia de 200 ms. Las variables asignadas a cada LED son ledPin1, ledPin2 y ledPin3.
Página 12
Programa // Encendido y apagado de 3 LEDs int ledPin1 = 6; // Defi ne las salidas de los LEDs int ledPin2 = 7; int ledPin3 = 8; void setup() { // Confi gura las SALIDAS pinMode(ledPin1, OUTPUT); // declarar LEDs como SALIDAS pinMode(ledPin2, OUTPUT);...
Página 13
4. Contador Se trata de contar las veces que se pulsa un botón conectado en la entrada 7 de Arduino al mismo tiempo que cada vez que contamos encendemos el LED conectado en la salida 13. El valor de la variable que almacena el número de impulsos generados se envía a la PC para que se visualice en la pantalla.
Página 14
Programa Contador /* Detecta si el botón conectado a la entrada 7 ha sido presionado y enciende el LED * Envía al PC el valor de la variable de cuenta “Contador” vía puerto serie. * Christian Nold & Erica Calogero int LED = 13;...
Página 15
contador++; Serial.print(contador); Serial.write(10); Serial.write(13); estadoanteriorboton = valor; Podríamos prescindir de la resistencia colocada con el pulsador si se habilita la resistencia interna Pull-up de la entrada PIN7, en ese caso el circuito quedaría como el siguiente:...
Página 16
El programa en este caso sería muy parecido al anterior. Obsérvese que ahora al pulsar el botón introducimos un “=” en el PIN7, por lo tanto, si quiero que se encienda la salida PIN13 debo escribir en ella el valor leído del pulsador negado, es decir “!valor”.
valor = digitalRead(Boton); // lee el valor de la entrada digital pin 7 digitalWrite(LED, !valor); // Escribimos en la salida el valor leído negado if(valor != estadoanteriorboton){ if(valor == 1){ contador++; Serial.print(contador); Serial.write(10); Serial.write(13); estadoanteriorboton = valor; 5. Entrada Analógica Se trata de confi...
Programa /* Entrada Analógica */ int potPin = 5; // selecciona el pin de entrada para colocar el potenciómetro int val = 0; // variable para almacenar el valor leído por la entrada analógica void setup() { Serial.begin(9600); void loop() { val = analogRead(potPin);...
Página 19
Tenga en cuenta que el motor debe ser de bajo consumo por dos motivos: primero porque si alimentamos en las pruebas desde el conector USB no debemos sacar demasiada corriente de la computadora y segundo, porque el transistor es de una corriente limitada. El diodo 1N4001 se coloca como protección para evitar que las corrientes inversas creadas en el bobinado del motor puedan dañar el transistor.
Página 20
La tensión que sacaremos a la salida 10 (analógica tipo PWM) variará en forma de rampa ascendente y descendente de manera cíclica, tal como vemos en la fi gura. Este efecto lo conseguimos con una estructura del tipo for: for(valor = 0 ; valor <= 255; valor +=5) (ascendente) for(valor = 255;...
Página 21
Programa int valor = 0; // variable que contiene el valor a sacar por el terminal analógico int motor = 10; // motor conectado al PIN 10 void setup() { } // No es necesario void loop() { for(valor = 0 ; valor <= 255; valor +=5) { // se genera una rampa de subida de tensión de 0 a 255, es decir, de 0 a 5v analogWrite(motor, valor);...
Página 22
Programa int valor = 0; // variable que contiene el valor a sacar por el terminal analógico int motor = 10; // motor conectado al PIN 10 int potenciometro=0; // Se defi ne la entrada analógica void setup() { } // No es necesario void loop() { valor = analogRead(potenciometro);...
7. Control de un motor de cc con el driver L293D Con esta aplicación vamos a mover un motor de cc usando un CI de potencia, específi co para estas aplicaciones. El circuito podrá mover hasta dos motores, nosotros sólo lo haremos con uno. Como ventana en este montaje podremos mover el motor en los dos sentidos de giro, cosa que con el anterior montaje no podíamos.
Página 24
Cuando el tiempo que el pulso está activo es la mitad del periodo de la señal o el parámetro duty cycle está al 50%, el voltaje efectivo es la mitad del voltaje total de entrada. Voltaje efectivo Tiempo Cuando el tiempo que el pulso está activo es la mitad del periodo de la señal o el parámetro duty cycle está...
Página 25
La otra forma es generando señales PWM utilizando la capacidad del microprocesador a través de la función digitalWrite(). Si queremos controlar simultáneamente la velocidad y dirección de un motor, necesitamos utilizar un circuito integrado o chip, llamado de forma general “puentes H”, por ejemplo como el L293D.
Página 26
Los pines “enable” (1, 9) admiten como entrada una señal PWM y se utiliza para controlar la velocidad de los motores con la técnica de modulación de ancho de pulso. Los motores van conectados entre uno de los pines 3, 6, 11, o 14. La tensión Vss es la que alimentará...
Página 27
Esquema 8. Control de un motor: velocidad variable y sentido de giro variable...
Página 28
Programa // Control de Motor con driver L293D int valor = 0; // variable que contiene el valor int motorAvance = 10; // Avance motor --> PIN 10 int motorRetroceso = 11; // Retroceso motor --> PIN 11 void setup() { } // No es necesario void loop() { analogWrite(motorRetroceso, 0);...
9. Utilizar un relevador para encender dispositivos de 120 V Este ejemplo enseña cómo encender una bombilla de 120 V de corriente alterna (AC) mediante un circuito de 5 V de corriente continua (DC) gobernado por Arduino. Se puede utilizar con cualquier otro circuito de 120 V con un máximo de 10 A (con el relé...
Página 30
Programa Enciende y apaga una bombilla de 220 V, cada 2 segundos, mediante un relé conectado al PIN 8 de Arduino int relayPin = 8; // PIN al que va conectado el relé void setup(){ pinMode(relayPin, OUTPUT); void loop() { digitalWrite(relayPin, HIGH);...
ESPECIFICACIONES Micro controlador: MEGA32U4 Alimentación: 5-12 V - - - Frecuencia de operación: 16 MHz Puertos de entrada análoga: 12 Puertos de entrada/salida digital: 20 (incluyendo puertos PWM) Capacidad de memoria fl ash: 32 kB SRAM: 2,5 kB EEPROM: 1 kB Boot loader: Leonardo Salida PWM: Sí...
Página 32
1.- Para hacer efectiva la garantía, presente esta póliza y el producto, en donde fue adquirido o en Electrónica Steren S.A. de C.V. 2.- Electrónica Steren S.A de C.V. se compromete a reparar el producto en caso de estar defectuoso sin ningún cargo al consumidor. Los gastos de transportación serán cubiertos por el proveedor.
Página 34
Steren, visit our website: www.steren.com The instructions of this manual are for reference about the product. There may be differences due to updates. Please check our website (www.steren.com) to obtain the latest version of the instruction manual.
Página 35
IMPORTANT • Keep device out of the reach of children. • Do not expose to extreme temperatures. • Do not use or store the equipment near wet places. • Avoid dropping the unit as this may cause damage. • Do not place the device or accessories on surfaces that are tilted, unstable or subject to vibration.
Página 36
GETTING STARTED WITH ARDUINO This manual will help you understand what it is and how Arduino works to begin to build your own electronic projects. What is Arduino? Arduino is an electronic open platform for prototype creation based on fl exible and easy to use software and hardware.
Página 37
USB cable for programming it and if you want to be able to run your project when you are not near your computer, you will need an adapter current AC-DC or battery and cable. You will fi nd these components on Steren. Shields A shield is an additional circuit to your Arduino board.
Página 38
Finally, you are ready to write programs (the Arduino editor refers to them as “sketches”) for your project. You’ll need some familiarity with C++programming, variables, functions, “if” statements and loops, but the Arduino sketches tend to be simpler. SKETCHES The best way to learn programming Arduino is through the example sketches included in the Arduino IDE.
Página 39
DIGIRAL (PWM) POWER ANALOG IN The connection to be carried out in this case is to 10 PIN output. DIGIRAL (PWM) POWER ANALOG IN...
Página 40
Program * Intermittent * Basic example with Arduino. Switching on and off of a LED * with a cadence of 1 s using the 13 PIN as output * is not necessary to use a resistor for LED * exit 13 Arduino has it built-in. * http://www.arduino.cc/en/Tutorial/Blink int ledPin = 13;...
Página 41
2. Alarm When you press the button (input 5 to ‘0’), output 13 turns on and shuts off intermittently. How it works: When the I5 = 1 then O13 = 0 When the I5 = 0 then O13 = 0-1 (intermittent 200,200 ms) 10 K...
Página 42
Program int ledPin = 13; // choose the PIN for LED int Nifne = 5; // choose the input pin (for a pushbutton) int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inPin, INPUT);...
Página 43
3. Basic 3 LEDs sequence It turns on and off 3 LEDs placed in the 6, 7 and 8 outputs (PIN 6 PIN 7 and PIN 8) with a cadence of 200 ms. Assigned to each LED are ledPin1, ledPin2 and ledPin3 variables.
Página 44
Program Switching on and off of 3 LEDs int ledPin1 = 6; // Defi nes the LEDs outputs int ledPin2 = 7; int ledPin3 = 8; void setup() { // set the outputs pinMode(ledPin1, OUTPUT); // declare LEDs as outputs pinMode(ledPin2, OUTPUT);...
Página 45
4. Counter It counts the times a button connected to Arduino input 7 is pressed whenever we have we light the LED connected at output 13. The value of the variable that stores the number of pulses generated is sent to the PC so that it is displayed on the screen.
Página 46
Program counter / * Detects if connected to the input jack 7 button has been pressed and LED lights up * Send the value of the variable ‘Counter’ account via serial port to the PC. int LED = 13; int Button = 7; int value = 0;...
Página 47
Serial.print(counter); Serial.write(10); Serial.write(13); int buttonlaststate = value; We could avoid the resistance placed at the button if the internal resistance of PIN7 is enabled, in this case the circuit would be as follows:...
Página 48
The program in this case would be very similar to the previous. Note that now when the button is pressed we introduce an “=” at PIN7, therefore, if you want to start the PIN13 output, you should write in it the value read from the denied button, i.e.
valor = digitalRead(Button); // Reads the digital input pin 7 value digitalWrite(LED, !value); // (Write in the output the read denied value if(value != int buttonlaststate){ if(value == 1){ counter++; Serial.print(counter); Serial.write(10); Serial.write(13); int buttonlaststate = value; 5. Analog input It set up the pin 5 as analog input and sends the read value to your PC to view it.
Página 50
Program / * Analog input * / int potPin = 5; // Selects the input PIN to put the potentiometer int val = 0; // variable to store the value read from the analog input void setup() { Serial.begin(9600); void loop() { val = analogRead(potPin);...
Página 51
Please note that the motor must be low power for two reasons: fi rst because if we feed testing from USB connector must not pull too much current from the computer and second, because the transistor is current limited. 1N4001 diode is positioned as protection to prevent that the reverse currents created in the motor winding could damage the transistor.
Página 52
Analog-value The tension that we are going to pull from outputt 10 (analog type PWM) will vary on way to ramp up and down cyclically. We get this effect with a structure for type: for(value = 0; value <= 255; value +=5) (ascending) for(value = 255;...
Página 53
Program int value = 0; // a variable that contains the value to get analog input terminal int motor = 10; // motor connected to PIN 10 void setup(){ // Not necessary void loop(){ for(value = 0; value <= 255; value +=5){ //generates a ramp of voltage from 0 to 255, i.e.
Página 54
Program int value = 0; // a variable that contains the value to get analog input read int motor = 10; // motor connected to PIN 10 int potentiometer = 0 ; // Set the analogue input void setup(){ // Not necessary void loop(){ value = analogRead (potentiometer);...
Página 55
7. DC motor control using a L293D driver With this application we will move a DC motor using a power IC, specifi c for these applications. The circuit you can move up to two motors, we’ll only do it with one. In this Assembly, we can move the motor in both rotation directions, which we couldn’t with the previous assembly.
Página 56
When the pulse is active is half of the period of the signal or duty cycle parameter is 50%, the effective voltage is half of the total input voltage. When the duty cycle is reduced to 25%, the effective voltage is a quarter of the total input voltage.
Página 57
The other way is generating PWM signals using the microprocessor capability through the function digitalWrite (). If you want to simultaneously control the speed and direction of a motor, we need to use an integrated circuit or chip, called in general, as “ H bridge “, for example the L293D.
Página 58
The “enable” (1, 9) pins support as input a PWM signal and it are used to control the speed of the motors using pulse width modulation technique. The motors are connected between pins 3, 6, 11 or 14. The Vss voltage is to feed or give power to the motor.
Página 59
8. Motor control: variable speed and variable rotation...
Página 60
Program Motor control with L293D driver int value = 0; // a variable that contains the value int motorFowards = 10; // Motor forward - > PIN 10 int motorBackwards = 11; // Motor recoil - > PIN 11 void setup() {} // Not necessary void loop() { analogWrite(motorBackwards, 0);...
Página 61
9. Use a relay to turn on 120 V devices This example shows how to power a 120-Volt alternating current (AC) light bulb through a circuit of 5 V DC (DC) ruled by the Arduino. It can be used with any other circuit of 120 V, with a maximum of 10 A (with the relay of the example).
Página 62
Program It turns on and off a 220 V light bulb every 2 seconds, using, a relay connected to the Arduino PIN 8 int relayPin = 8; // PIN to which the relay is connected void setup() { pinMode (relayPin, OUTPUT); void loop() { digitalWrite(relayPin, HIGH);...
Página 64
Part number: ARD-020 Brand: Steren WARRANTY This Steren product is warranted under normal usage against defects in workmanship and materials to the original purchaser for one year from the date of purchase. CONDITIONS 1. This warranty card with all the required information, invoice, product box or package, and product, must be presented when warranty service is required.