Y3. Arduino

https://www.tinkercad.com/learn/circuits

https://epalsite.com/Arduino-Starter-Kit/

User Name: User_MV01

Passward: sz12346688


Link a conversion de resistencias

https://www.digikey.com/es/resources/conversion-calculators/conversion-calculator-resistor-color-code-5-band

El primer paso es comprar el arduino http://www.crcibernetica.com

El segundo es descargar el software http://arduino.cc/en/Main/Software

Notas

Centrifuga, http://www.instructables.com/id/Centrifuge/

A continuación los pasos para iniciar el uso del Arduino

1. Primero hay que conectar el Arduino.

Es necesario seleccionar el tipo de Arduino que tengamos, como el nano o el uno.

Para ellos se selecciona del Menú, Tools, Board

Tools Menu < Board

Y se seleccionar el tipo de Arduino.

En el caso del Nano, se requiere instalar unos drivers adicionales

2. El código

  • Arduino se programa en sketches, o bloques y se programa en lenguaje C++

  • Arduino tiene dos bloques, uno que corre una sola vez con la función setup()

  • El segundo bloque se repite constantemente mediante la función loop ()

  • void type functions, setup() and loop().

El sketch o programa más sencillo es:

1

2

3

4

5

6

7

8

9

void setup()

{

}

void loop()

{

}

3. Los Pines y sitios donde se conectan las partes o piezas

Un Ardunio tiene dos grandes rectángulos con múltiples cuadrados pequeños.

Cada cuadro pequeño es un pin y es donde se conectan las partes al Arduino.

Cada pin está numerado para encontrarlos fácilmente con color blanco.

Para conectar el Led, la electricidad correrá desde el pin 13 y para cerrar el circuito se conecta a tierra (GND).

Se usa una resistencia para que no se queme el Led. Se puede hacer en una protoboard o directamente en el Arduino.

4. Programemos el Arduino para conectar un LED.

Conectaremos el LED en el pin 13

Para ello le indicaremos a Arduino que el pin estará ahí, con la función int ledPin=13;

(lo que le estamos indicando es que integre "int" que lo que nosotros llamamos "ledPin" estará en el lugar "13")

Recuerde que cada bloque se separa por { } y que cada línea requiere cerrarse con punto y coma ;

2

3

4

5

6

7

8

9

10

11

int ledPin = 13;

void setup()

{

}

void loop()

{

}

En el primer bloque llamado setup () le indicaremos al Arduino si le conectaremos un sensor (INPUT) o una salida (OUTPUT) con la función pinMode (nombre, INPUT) o bien pinMode (nombre, OUTPUT). En este caso como es un Led que se "enciende" es una salida pues le enviamos la señal para que se encienda. Si fuese un sensor de luz, temperatura, ph, etc sería una entrada dado que recibiríamos la señal de afuera.

Como le indicamos al Arduino que nuestro led se llama ledPin, se debe usar el mismo nombre acá para indicarle que además es un dispositivo de salida.

1

2

3

4

5

6

7

8

9

10

11

int ledPin = 13;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop()

{

}

Ahora programaremos el segundo que se repite una y otra vez, por eso se llama loop(). Y como queremos que esté encendido, le diremos al Arduino con la función digitalWrite() que nuestro "ledPin" estará HIGH si está encendido o LOW si está apagado

1

2

3

4

5

6

7

8

9

10

11

int ledPin = 13;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop()

{

digitalWrite(ledPin, HIGH);

}

Nota, En este caso el Arduino envía o escribe (write) una señal digital (1 o 0).

En un sensor de luz donde la señal el de entrada y es análoga (con más números) se le indica y conecta en los análogos y se le indica al arduino por ejemplo que es una analogRead / analogWrite

5. Enviemos la programación al Arduino (Compilemos)

Hay que verificar que el Arduino esté conectado al un puerto USB correcto

Para ello se conecta el Arduino y se verifica en el Menú de Tools, Serial Port

Por lo general aparecerá COM y un número que corresponde al puerto.

Una vez conectado de da click a la flecha derecha que está al lado del CHECK

Se puede hacer también que se apague cambiando de HIGH a LOW

Arduino Software with button highlighted

6. Hagamos que la señal cambie o se detenga

Como la señal se envía de manera muy veloz, una manera de indicarle al Arduino que deseamos frenar o detener la señal es mediante la función delay por cierto cantidad de mili segundos, 1 segundo son 1000 mili segundos, por lo que le indicamos delay(2000) la señal para que se detenga por 2 segundos. Además podemos verlo en operación, si le indicamos que se encienda HIGH y se apague LOW.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

int ledPin = 13;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop()

{

digitalWrite(ledPin, HIGH);

delay(2000);

digitalWrite(ledPin, LOW);

delay(2000);

}

Se puede usar el led interno

7. Sensor de LUZ

En el curso conectamos un sensor de luz en el Pin 2

int sensor1=2; // Le estamos indicando que nuestro sensor está en pin 2

int led= 13; // Le estamos activando el led interno

void setup() {

// put your setup code here, to run once:

Serial.begin(9600); // Nuestro sensor de luz está en este rango

Serial.print("iniciando lectura"); // Podemos indicar que imprima algo, solo para saber que empezó

pinMode(led,OUTPUT); // Es importante declarar si la señal es INPUT o OUTPUT

}

void loop() {

// put your main code here, to run repeatedly:

int luz=analogRead (sensor1); // El sensor de Luz genera muchos datos por eso es Analog

delay(5); // El delay es para darle tiempo de que podamos ver nosotros la señal

Serial.println(luz); // Como le indicamos que Luz es la lectura del sensor, ahora podemos

// invocar a Luz y como se imprime, sabemos que valor tiene.

if(luz<10){ // Ahora podemos programar cuando se enciende o apaga

digitalWrite(led,HIGH);

} else {

digitalWrite(led,LOW);

}

}

8. Sensor de Movimiento

const int ledPin= 13;

const int inputPin= 2;

void setup(){

pinMode(ledPin, OUTPUT);

pinMode(inputPin, INPUT);

}

void loop(){

int value= digitalRead(inputPin);

if (value == HIGH)

{

digitalWrite(ledPin, HIGH);

delay(60000);

digitalWrite(ledPin, LOW);

}

else

{

digitalWrite(ledPin, LOW);

}

}

9. Sensor de temperatura

int sensor=0;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

Serial.print("iniciando lectura");

}

void loop() {

// put your main code here, to run repeatedly:

float valor=analogRead(sensor); // FLOAT ES PARA DATOS CON DECIMALES

delay (500);

valor= valor*0.004882814;//CERO CERO CUATRO OCHO OCHO DOS OCHO UNO CUATRO

float grados= (valor -0.5)*100.0;

Serial.println(grados);

}

10.Pantalla LCD

http://www.crcibernetica.com/basic-8x2-character-lcd-black-on-yellow-green-5v/

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Le indica al Arduino que estamos usando una pantalla en esos pines

void setup() {

lcd.begin(8, 2); // Es 8,2 porque la pantalla que compramos es de 8x2

lcd.print("hello, world!"); // Print es para palabras, si se quiere poner algún dato seria "lcd.write()"

}

void loop() {

}

Ver el detalle de la programación en http://www.circuitbasics.com/how-to-set-up-an-lcd-display-on-an-arduino/

LiquidCrystal()

The LiquidCrystal() function sets the pins the Arduino uses to connect to the LCD. You can use any of the Arduino’s digital pins to control the LCD. Just put the Arduino pin numbers inside the parentheses in this order: LiquidCrystal(RS, E, D4, D5, D6, D7). RS, E, D4, D5, D6, D7 are the LCD pins.

For example, say you want LCD pin D7 to connect to Arduino pin 12. Just put “12” in place of D7 in the function like this: LiquidCrystal(RS, E, D4, D5, D6, 12). This function needs to be placed before the void setup() section of the program.

lcd.begin()

This function sets the dimensions of the LCD. It needs to be placed before any other LiquidCrystal function in the void setup() section of the program. The number of rows and columns are specified as lcd.begin(columns, rows). For a 16×2 LCD, you would use lcd.begin(16, 2), and for a 20×4 LCD you would use lcd.begin(20, 4).

lcd.clear()

This function clears any text or data already displayed on the LCD. If you use lcd.clear() with lcd.print() and the delay() function in the void loop() section, you can make a simple blinking text program:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

lcd.begin(16, 2);

}

void loop() {

lcd.print("hello, world!");

delay(500);

lcd.clear();

delay(500);

}

11. Hagamos un controlador de un aparato más grande (relay)

Relay

Notas.

Para controlar cualquier aparato electrónico

http://www.circuitbasics.com/build-an-arduino-controlled-power-outlet/

Programación gráfica https://mydevices.com/cayenne/landing/jumpstart-arduino-projects-cayenne/

int puerto_numero_13=13;

void setup() {

// put your setup code here, to run once:

pinMode(puerto_numero_13,OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(puerto_numero_13, HIGH );

delay(1000);

digitalWrite(puerto_numero_13,LOW);

delay(1000);

}

Otro ejercicio

const int led1 = 13;

const int led2 = 11;

void setup() {

// put your setup code here, to run once:

pinMode(led1, OUTPUT);

pinMode(led2, OUTPUT);

}

void loop() {

// COMENTARIOS

// PROFE PONGAME 100

digitalWrite(led1, HIGH);

delay(1000);

digitalWrite(led1, LOW);

Touch Screen