pearleesque
pearleesque
Arduino fácil para principiantes
3 posts
Proyectos con Arduino
Don't wanna be here? Send us removal request.
pearleesque · 5 years ago
Text
Tutorial de Arduino
Bienvenido al Taller Arduino, donde vas a poder continuar nuestro curso guiado que cubre todo lo que es necesario para ti entender para hacer tus proyectos Arduino y transformarte en un constructor de escenarios. Mi nombre es Sam y aparte de ser un desarrollador mismo, además disfruto enseñando a otros cómo utilizar distintas tecnologías y hacer proyectos pasmantes. Adjuntado con los vídeos del curso en sí, puede hallar todo el material del curso relacionado, como ejemplos de código, diagramas de circuitos, imágenes y otros elementos.
Estamos haciendo un trabajo con Arduino por lo cual precisará una placa Arduino para continuar este curso. Vamos a ingresar varios conceptos distintas, introduciendo el trabajo con numerosos géneros de hardware, como sensores, pantallas y elementos electrónicos en general, y el kit que nos encontramos usando para todo lo mencionado es el kit de inventores Sparkfun. Si no está en Australia, puede agarrar de Sparkfun de manera directa y poseerlo enviado a en algún lugar de este mundo.
En este curso curso:
Entender qué es un Arduino y cómo trabaja
Aprende a usar un Arduino seguramente
Programa tu Arduino con el código que has escrito en el IDE de Arduino (Ámbito de Avance Que viene dentro)
Aprende conceptos de programación con C y C++ adjuntado con la programación concreta de Arduino
Comprender los conceptos de superiores prácticas para la programación y la creación de prototipos
Utilice una extensa diversidad de hardware y elementos y prototipo sus proyectos usando una placa de pan
Crea su emprendimiento revolucionario con Arduino
En el momento en que estés listo, ¡empecemos el Taller Arduino!
Si tiene algún inconveniente durante este taller, póngase en contacto con en nuestro foro de discusión. Somos desarrolladores de tiempo terminado y nos encontramos aquí para asistir.
Capítulo 1: Introducción a Arduino
1.0 Resumen del capítulo
En este capítulo vas a aprender sobre:
Qué es Arduino
Diversos tipos de placas Arduino
Cómo trabaja la placa Arduino Uno y por qué razón es tan habitual
Qué es un microcontrolador
Cómo usar el IDE de Arduino (Ámbito de avance que viene dentro)
Powering y conectar tu Arduino a tu PC
Programas de carga a su placa Arduino
Por el desenlace de este capítulo, va a haber cargado su primer programa a su placa Arduino para vigilar un LED.
1.1 ¿Qué es Arduino?
En esta sección, nos fijamos en lo que es Arduino, lo que es bueno para los desarrolladores, y varios de los diversos tipos de placas Arduino accesibles.
Archanas de la sección:
Ejemplos de varios Arduino Nanos
Tumblr media
1.2 ¿Qué es un microcontrolador?
En esta sección, observaremos qué es un microcontrolador (el chip en el corazón de algún placa Arduino), una visión general de cómo trabajan y cómo se integra con el ámbito Arduino.
1.3 El Arduino Uno
En esta sección, va a aprender sobre las peculiaridades y habilidades de la placa Arduino Uno, cómo el diseño de la placa puede perjudicar a su emprendimiento y por qué razón Uno es un enorme todoterreno.
1.4 Arduino IDE y el lenguaje
En esta sección, tiraremos una mirada al IDE de Arduino, que es donde redacta el código para su Arduino, lo carga y se comunica con su placa. Además cubriremos el lenguaje de programación que usa Arduino IDE y dónde descargarlo.
Archanas de la sección:
1.5 Encendido y conexión de su Arduino
En esta sección, vas a aprender sobre las distintas formas de dar de comer tu Arduino y cómo conectarlo a tu PC para cargar tus programas y comunicarte con el PC por medio de el puerto serie.
Archanas de la sección:
Y también predisposición de energía de Arduino
Tumblr media
1.6 Hola Ejemplo Mundial
En la sección final de este capítulo, vamos a hablar sobre la utilización del IDE de Arduino para cargar su primer programa en su placa Arduino.
Archanas de la sección:
Código de origen para \'Hello World\'
void setup() á pinMode(13, SALIDA); //setup pin 13 as an output-void loop() ?digitalWrite(13, HIGH); // prenda el LED (HIGH outputs 5V)delay(500); // espere 500 millisecondsdigitalWrite(13, LOW); // apague el LED (salidas LOW 0V)delay(500); // wait for 500 milliseconds.
Capítulo 2: Empleo de entradas y salidas
2.0 Descripción general del capítulo
En este capítulo vas a aprender sobre:
Cómo estructurar de manera correcta el código
Utiloferiendo cambiantes para redactar programas más capaces
Córconocimientos de construcción con una placa de pan
Leer entradas y vigilar salidas por medio de los pines digitales y analógicos
Comunicación a través del puerto serie
Por el desenlace del capítulo, va a haber desarrollado una plataforma de trabajo de entrada para su Arduino, usando el Monitor serie para exhibir los datos.
2.1 Composición del programa
En esta sección, vamos a aprender cómo estructurar de manera correcta el código por medio de sangrías, escenarios anidados y punto y coma.
Archanas de la sección:
Emplo del programa del Example
Tumblr media
2.2 Empleo de cambiantes
En esta sección, exploraremos la utilización de cambiantes, lo que le dejará redactar código más exclusivo.
Archanas de la sección:
Géneros de datos de referencia de arduino:
Si está entusiasmado en conseguir más información sobre los diferentes géneros de datos que acepta Arduino, consulte la página de referencia.
2.3 Crear su primer circuito con una tabla de pan
En esta sección, observaremos la utilización de distintas elementos como LEDs, botones, cables de puente, resistencias y una placa de pan para crear un circuito.
Archanas de la sección:
Trate más leída
Si quiere entender más sobre cómo trabajan los elementos electrónicos, consulte los manuales de Analogue Electronics Crash Course y All About LEDs para conseguir información más descriptiva.
Desarbar
Tumblr media
2.4 Empleo de Pines Digitales
En esta sección, vamos a aprender a utilizar los pines digitales para leer entradas y vigilar salidas.
Archanas de la sección:
Código de origen para \'Botón LED\'
int buttonPin á 2;int ledPin á 3;void setup() á// setup pin modespinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); void loop() á// leer el estado de buttonPin y almacenarlo como el buttonState variableint buttonState ? digitalRead(buttonPin);// redactar el valor de buttonState a ledPindigitalWrite(ledPin, buttonState);-
Desarclar
para \'Digital Pins\'
Tumblr media
2.5 Empleo de pines analógicos
En esta sección, vamos a aprender a utilizar los pines analógicos para leer entradas y vigilar salidas.
Archanas de la sección:
Código de origen para \'Blink Rate Control\'
int ledPin á 3;int potPin á A0;void setup() á// setup pin modespinMode(ledPin, OUTPUT); pinMode(potPin, INPUT); void loop() á// leer el valor de la cazuela y almacenarlo como potValueint potValue á analogRead(potPin);// encender led y aguardar el tiempo igual a potValuedigitalWrite(ledPin, HIGH);delay(potValue);// releer el valor del pozo y almacenarlo como potValuepotValue á analogRead(potPin);// turn led off and wait for the time equal to potValuedigitalWrite(ledPin, LOW);delay(potValue);-
Código de origen para el
de control de brillo LED
int ledPin á 3;int potPin á A0;void setup() á// setup pin modespinMode(ledPin, OUTPUT); pinMode(potPin, INPUT); void loop() á// leer el valor de la cazuela, dividirlo por 4, y almacenarlo como potValueint potValue á analogRead(potPin) / 4; // turn led on with the value of potValueanalogWrite(ledPin, potValue); ?
Desarclar
Tumblr media
2.6 Visualización de información por medio de el puerto serie
En esta sección, observaremos la utilización del puerto serie en el Arduino para estar comunicados con un PC mediante USB.
Sección Elementos:
Código de origen para la
de supervisión en serie
int ledPin á 3;int buttonPin á 2;int potPin á A0;void setup() á// pin de configuración modespinMode(ledPin, OUTPUT);pinMode(buttonPin, INPUT_PULLUP); pinMode(potPin, INPUT);// inicializar el puerto serie con una agilidad en baudios de 9600Serial.begin(9600); void loop() á// leer el estado de buttonPin y almacenarlo como buttonState (0 o bien 1)int buttonState á digitalRead(buttonPin);// leer el valor de la cazuela, dividirlo por 4, y almacenarlo como potValueint potValue á analogRead(potPin);int filteredPotValue á potValue / 4;// turn led on with the value of potValueanalogWrite(ledPin,filteredPotValue);// print the value of the buttonSerial.print("Button: "); Serial.print(buttonState); Serial.print(" ");// imprimir el valor de potSerial.print("Pot: "); Serial.print(potValue); Serial.print(" ");// imprimir el valor de la cazuela / 4 con un retorno de línea en el endSerial.print("Pot/4: "); Serial.println(filteredPotValue
);
Desarbar
Tumblr media
Capítulo 3: Toma de elecciones y empleo de la lógica
3.0 Resumen del capítulo
En este capítulo vas a aprender sobre:
Utilo de las normas \'If\'
Utiloar bucles \'while
Utiles de bucles \'for\'
Utilo de los
Utiles de matemáticas en Arduino
Creación de funcionalidades
Hacer código exclusivo
Por el desenlace de este capítulo, va a haber desarrollado su calculadora usando distintas funcionalidades, bucles y funcionalidades seriales.
3.1 Afirmaciones "If"
En esta sección, observaremos la utilización de las afirmaciones \'If\', que son la columna vertebral de la toma de elecciones para los microcontroladores.
Archanas de la sección:
Código de origen para \'Cambiar switch\'
// pin definitionsint ledPin á 3;int buttonPin á 2;// cambiantes globalesint toggleState;int lastButtonState á 1;long unsigned int lastPress;int debounceTime á 20;void setup() á // setup pin modes pin pin(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); void loop() á int buttonState á digitalRead(buttonPin); //read the state of buttonPin y guárdelo como buttonState (0 o bien 1) if((millis() - lastPress) > debounceTime) //si el tiempo entre el último botónCamambión es más grande que el botón debounceTime á lastPress á millis(); //update lastPress if(buttonState ? 0 && lastButtonState ? 1) //if botón se presiona y se liberó el último cambio . toggleState; //cambiar el estado de LED digitalWrite(ledPin, toggleState); lastButtonState á 0; //record the lastButtonState á if(buttonState ? 1 && lastButtonState ? 0) //if button is not pressed, y se presionó el último cambio - lastButtonState ? 1; //record the lastButtonState
?
Desarclar
para \'Digital Pins\'
Tumblr media
3.2 Bucles \'While\'
En esta sección, va a aprender a utilizar los bucles \'while y cómo utilizarlos para mudar la composición del código.
Archanas de la sección:
Código de origen para la
de \'VELOCIDAD de flash LED\'
// pin definitionsint ledPin á 3;int buttonPin á 2;// cambiantes globalesint toggleState;int buttonState ?1;void setup() á// setup pin modespinMode(ledPin, OUTPUT);pinMode(buttonPin, INPUT_PULLUP); void loop() á buttonState á digitalRead(buttonPin);while(buttonState ?0)-toggleState -! toggleState;digitalWrite(ledPin, toggleState);delay(50);buttonState ? digitalRead(buttonPin);? toggleState ! toggleState;digitalWrite(ledPin, toggleState);delay(200);-
Desarbar
Tumblr media
3.3 Bucles \'For\'
En esta sección, verá los bucles \'for\' que puede utilizar para vigilar el fluído de su programa.
Archanas de la sección:
Código de origen para \'LED Pulse\'
// pin definitionsint ledPin á 3;// cambiantes globales rampTime á 2;void setup() á // métodos de pin de configuración pinMode(ledPin, OUTPUT); //initialise serial port Serial.begin(9600);- void loop() á // rampa LED brillo hasta max for(int i á 0; i<256; i++) á analogWrite(ledPin, i); delay(rampTime); Serial.println(i); • // incremento del brillo del LED hasta 0 for(int i á 255; i>0; i--) á analogWrite(ledPin, i); delay(rampTime); Serial.println(i); }}
Desarbar
Tumblr media
3.4 Empleo de estuches \'Switch\'
En esta sección, profundizaremos en la utilización de casos de \'switch\' para llevar a cabo listas comparativas y desenlaces.
Archanas de la sección:
Código de origen para \'Caja de interruptores de potenciómetro\'
// pin definitionsint potPin á A0;// declare global variablesint lastPotValue;void setup() á// equipo pin modespinMode(potPin, INPUT);//initialise Serial portSerial.begin(9600);- void loop() á// leer potPin y dividir por 255 para ofrecer 5 lecturas probables potValue á analogRead(potPin) / 255;// si algo cambió desde el último valueif(potValue !- lastPotValue)// entrar switch caseswitch(potValue)-case 0:Serial.println ("Muy bajo");break;case 1:Serial.println("Low");break;case 2:Serial.println("Moderate");break;case 3:Serial.println("High");break;case 4:Serial.println("Extreme");break;default:Serial.println("error!"); romper; lastPotValue á potValue;-
Desarbar
Tumblr media
3.5 Empleo de matemáticas
En esta sección, observaremos cómo usar distintas funcionalidades y métodos matemáticos en Arduino.
Archanas de la sección:
Ejemplo para \'Funcionalidades matemáticas\'
x a y + 3;x a y - 7;x a y * 6;x a y / 4;
3.6 Creación de funcionalidades
En esta sección, vamos a aprender a utilizar y hacer sus funcionalidades para redactar código modular y reutilizable.
Archanas de la sección:
Consigo de origen para \'Hypotenuse Calculator\'
*Actualización 8/1/18: I he actualizado el boceto para el ambicioso de hipotenusa que se refleja en el código siguiente. Brinda rechazo para valores no enteros y determinados retroalimentación.
void setup() á //initialise Serial.begin(9600); void loop() á int a; int b; float result; //print instructions, y espere hasta el momento en que haya algo en el búfer serie Serial.print("Entrar a side value: "); while(! Serial.available()); a - readSerial(); if(a -0) - return; Serial.print("Introduzca el otro valor del lado: "); while(! Serial.available()); b - readSerial(); if(b- 0) - return; - findSide(a,b); Serial.println(); readSerial toma el pr��ximo entero en el búfer Serial, borra el búfer y, ahora, devuelve itint readSerial()- int i - Serial.parseInt(); //checks si el valor recibido es un entero válido if(i < 1 ? (i%1 !-0)) • Serial.println("Ese no es un entero válido"); devuelve 0; Serial.println(i); Serial.parseInt(); devolver i; void findSide(int x, int y)- //calcular C al cuadrado por A al cuadrado + B al cuadrado float hypotenuse á sqrt(x*x + y*y); //print out the result Serial.print("Hypotenuse ? "); Serial.println(hypotenuse
);
Capítulo 4: Manipulación de datos y EEPROM
4.0 Resumen del capítulo
En este capítulo vas a aprender sobre:
Utiloar cambiantes en matrices
Herramienta de operadores aritméticos, relacionales, lógicos y de asignación
Manículo de datos por medio de lógica y operadores bit-wise
Sochar información de programación entre restablecimientos por medio de EEPROM
Por el desenlace de este capítulo, va a haber desarrollado un display de secuenciación LED por medio de matrices, operadores y alojamiento EEPROM.
4.1 Arreglos
En esta sección, observaremos la utilización de matrices para guardar datos, lo que facilita una manipulación de cambiantes más fuerte.
Archanas de la sección:
Código de origen para \'SECUENCIAdor LED\'
int ledArray[] á 2,3,4,5,6,7,8,9o;int delayTime á 50;void setup() á //initialise ledArray como salidas for(int i á 0; i<10; i++) á pinMode(led[i], OUTPUT); void loop() á //turn LEDs on from 0-7 for(int i á 0; i <-7; i++) á digitalWrite(ledArray[i], HIGH); delay(delayTime); á //turn LEDs off from 7-0 for(int i á 7; i > i > i--) á digitalWrite(ledArray[i], LOW); delay(delayTime*5
);
Desarbar
Tumblr media
4.2 Operadores
En esta sección, veremos la utilización de operadores aritméticos, relacionales, lógicos y de asignación. Todos se usan para contrastar y considerar data.
Archanas de la sección:
Referencia de operadores de relación
x á 4y á 6 (x á y) false(x !o bien y) true(x > y) false(x < y) true(x >-y) false(x <-y) true
Operses
x á 0y á 1(x && y) false(x á y) true x á !x en este momento es igual a 1 (no 0)
Omisarios de asignación
i +- 2 igual que i a i+2i -2 igual que i-2i *-2 que i-i*2i /2 igual que i a i/2
4.3 Matemáticas de bits
En esta sección, va a aprender sobre el control de bits particulares en bytes por medio de operadores bit-wise y logic.
Archanas de la sección:
Ejemplos de operador
bitwise
//AND x á 0011 0100 y a 0101 1101x & y a 0001 0100//OR x á 0011 0100 y a 0101 1101x á y a 0111 1101//XOR x á 0011 0101 y á 0101 1101x á y á 0110 1001//NO x á 0011 0100 x á 1100 1011 y a 0101 1101-y a 1010 0010//SHIFT IZQUIERDA x á 0011 0100x << 2 x 1101 0000 y a 0101 1101y << 2 a 0111 0100//SHIFT DERECHO x a 0011 0100x >> 2 a 0000 1101 y a 0101 1101y >> 2 a 0001 0111
Cuestos enserio
Tumblr media
Código de origen para \'AND, OR, XOR Calculator\'
const int dataPin á 6;const int clockPin á 7;const int latchPin á 8;byte ledMap á 0b1111111;int delayTime ? 3000;void setup() á // poner el código de configuración aquí, para ejecutarlo una vez: pinMode(dataPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(latchPin, OUTPUT); Serial.begin(9600); shiftWrite(0x00); Serial.println("Ingrese un número entre 0-255"); void loop() á if(Serial.available()) á int inputVal á Serial.parseInt(); if(inputVal > 255) ? Serial.println("Uh oh, int try again"); Serial.println("Introduzca un número entre 0-255"); retorno; • Serial.print("DECIMAL: "); Serial.println(inputVal); Serial.print("BINARY: "); Serial.println(inputVal, BIN); Serial.println(); Serial.print("Y resultado: "); Serial.println(ledMap & inputVal, BIN); shiftWrite(ledMap & inputVal); delay(delayTime); Serial.print("O bien resultado: "); Serial.println(ledMap - inputVal, BIN); shiftWrite(ledMap - inputVal); delay(delayTime); Serial.print("Resultado XOR: "); Serial.println(ledMap - inputVal, BIN); shiftWrite(ledMap - inputVal); delay(delayTime); Serial.println(); Serial.println("Introduzca un número entre 0-255"); • .void shiftWrite(byte value)- digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, value); digitalWrite(latchPin, HIGH);-
Desarbar
4.4 EEPROM
En esta sección, vamos a aprender sobre el alojamiento de datos en la memoria no volátil popular como EEPROM. Esto facilita que los datos se preserven en el momento en que se desconecta y se ingresa a la nutrición más adelante.
Archanas de la sección:
Consigo de origen para el \'contador EEPROM\'
#include // pin definitionsint ledPin á 13;int buttonPin á 2;// cambiantes globales lastButtonState á 1;long unsigned int lastPress;int debounceTime á 20;int counter;void setup() á // setup pin modes pin pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); //initialise Serial.begin(9600); //assign counter el valor de la dirección 0 counter - EEPROM.leer(0); redactar un 0 para la dirección 0. Esto facilita que los reinicios sucesivos reajuste el contador EEPROM.write(0,0); void loop() á int buttonState á digitalRead(buttonPin); //read the state of buttonPin y guárdelo como buttonState (0 o bien 1) if((millis() - lastPress) > debounceTime) //si el tiempo entre el último botónCamambión es más grande que el botón debounceTime á lastPress á millis(); //update lastPress if(buttonState ? 0 && lastButtonState ? 1) //if botón se presiona y se liberó el último cambio - counter++; EEPROM.write(0, contador); contador de escritura para emprender 0 digitalWrite(ledPin, HIGH); LED momentáneo lastButtonState - 0; registrar el lastButtonState //imprimir los desenlaces Serial.print("Contador: "); Serial.println(contador); • el botón if(buttonState ?1 && lastButtonState ? 0) //if no está pulsado, y se ha pulsado el último cambio de la última opción de la marca de la última opción de la marca de la última opción de la letra de la última opción de la letra de la última
Desarma de
Tumblr media
Capítulo 5: Bibliotecas, datos serie y hardware
5.0 Resumen del capítulo
En este capítulo vas a aprender sobre:
Utilesar y también integrar bibliotecas en sus proyectos
Utilesar el diseño SPI para expedir/recibir datos serie
Utilo de el diseño I2C para expedir/recibir datos serie
Expandar su emprendimiento con el formato de hardware Arduino llamado \'Shields\'
5.1 Empleo y también inclusión de bibliotecas
En esta sección, observaremos la utilización de módulos de código llamados \'bibliotecas\' que se tienen la posibilidad de usar para simplificar apps complicadas.
Archanas de la sección:
Te página de referencia de la biblioteca dearduino
Aquí, puede hallar la página de información de Arduino sobre bibliotecas que cubren varios de los cambios para integrar y añadir bibliotecas con distintas revisiones de Arduino IDE.
5.2 Empleo de SPI
En esta sección, va a aprender a utilizar el diseño SPI para expedir y recibir datos serie para jugar con sensores y otros gadgets.
Archanas de la sección:
Arla SPI de arduino
Tumblr media
Código de origen para \'SPI LED Shift Register\'
#include int slaveSelect á 2;int delayTime á 50;void setup() á pinMode(slaveSelect, OUTPUT); SPI.begin(); SPI.setBitOrder(LSBFIRST); •void loop() á para (int i; i < 256; i++) //For loop para entablar los datos a 0 ahora, acrecentarlo en uno para cada iteración del bucle, en el momento en que el contador llegue a la condición (256) se restablecerá - digitalWrite(slaveSelect, LOW); //Write nuestro ciervo escoja low para dejar que el registro SHift empieze a oír los datos SPI.transfer(i); //Transfer el valor de 8 bits de los datos para mudar el registro, recordando que el bit menos importante va primero digitalWrite(slaveSelect, HIGH); //Una vez completada la transferencia, constituya el pestillo otra vez en prominente para parar el registro de turnos que escucha el delay de datos (delayTime); //Delay
.
Desarbar
Tumblr media
5.3 Empleo de I2C
En esta sección, verá la utilización de el diseño I2C para expedir y recibir datos serie para jugar con sensores y otros gadgets.
Archanas de la sección:
Y también composición de packs I2C
Tumblr media
Arduino I2C
Tumblr media
Código de origen para \'Master Reader Arduino Demo (de Arduino)\'
#include <Wire.h>void setup() á Wire.begin(); // join i2c colectivo (dirección opcional para master) Serial.begin(9600); // start serial for output-void loop() ? Wire.requestFrom(8, 6); // pedir 6 bytes desde el gadget ciervo #8 en tanto que (Wire.available()) á // ciervo puede expedir menos de la char necesitada c - Wire.read(); // recibir un byte como carácter Serial.println(c); // imprimir el carácter á delay(500);-
Código de origen para \'Slave Sender Arduino Demo (de Arduino)\'
#include <Wire.h>void setup() á Wire.begin(8); // join i2c autobús con la dirección #8 Wire.onRequest(requestEvent); // register event-void loop() á delay(100); función que se ejecuta siempre que master// esta función pide datos como un acontecimiento, consulte setup()void requestEvent() - Wire.write("hello "); contestar con un mensaje de 6 bytes // según lo que se espera por el profesor-
Teca RTC de La fruta
Puede bajar la biblioteca RTC de Adafruit desarrollada particularmente para el chip DS3231 que vamos a usar, aquí.
Desarque de
para la demostración de Arduino \'I2C-I2C\'
Tumblr media
Código de origen para \'Módulo RTC (desde Adafruit)\'
// Funcionalidades de fecha y hora por medio de un DS3231 RTC conectado por medio de I2C y Wire lib-include <Wire.h>#include "RTClib.h"RTC_DS3231 rtc;char daysOfTheWeek[7][12] á"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado";configuración de vacío () #ifndef ESP8266 mientras que (! Serie); para Leonardo/Micro/Zero-endif Serial.begin(9600); retardo(3000); aguardar a que la consola se abra si (! rtc.begin()) á Serial.println("No se ha podido hallar RTC"); mientras que (1); - if (rtc.lostPower()) - Serial.println("RTC perdió energía, facilita detallar la hora!"); // la próxima línea establece el RTC en la fecha y hora en que se compiló este boceto rtc .adjust(DateTime(F(__DATE__), F(__TIME__))); // Esta línea establece el RTC con una fecha y hora explícitas, entre otras cosas para detallar // January 21, 2014 a las 3am que llamaría: //.rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); void loop () - DateTime en este momento - rtc.now(); Serial.print(now.year(), DEC); Serial.print(\'/\'); Serial.print(now.month(), DEC); Serial.print(\'/\'); Serial.print(now.day(), DEC); Serial.print(" ("); Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour(), DEC); Serial.print(\':\'); Serial.print(now.minute(), DEC); Serial.print(\':\'); Serial.print(now.second(), DEC); Serial.println(); Serial.print(" desde la medianoche 1/1/1970 "); Serial.print(now.unixtime()); Serial.print("s á "); Serial.print(now.unixtime() / 86400L); Serial.println("d"); calcular una fecha que es 7 días y 30 segundos más adelante DateTime futuro (en este momento + TimeSpan(7,12,30,6)); Serial.print(" en este momento + 7d + 30s: "); Serial.print(future.year(), DEC); Serial.print(\'/\'); Serial.print(future.month(), DEC); Serial.print(\'/\'); Serial.print(future.day(), DEC); Serial.print(\' \'); Serial.print(future.hour(), DEC); Serial.print(\':\'); Serial.print(future.minute(), DEC); Serial.print(\':\'); Serial.print(future.second(), DEC); Serial.println(); Serial.println(); delay(3000);-
Desarbar
5.4 Interrupciones
En esta sección, observaremos cómo utilizar las interrupciones. Posiblemente haya oído charlar de antes, y son una enorme forma de incrementar la eficacia de su programa tratándose de entradas de hardware.
Archanas de la sección:
Consigo de origen para \'Interrumpir Debouncing\'
Tumblr media
// pin definitionsint ledPin á 3;int buttonPin á 2;// cambiantes globalesint toggleState;int lastButtonState á 1;long unsigned int lastPress;volatile int buttonFlag;int debounceTime á 20;void setup() á // setup pin modes pin (ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(2), ISR_button, CHANGE); void loop() á if((millis() - lastPress) > debounceTime && buttonFlag) á lastPress á millis(); //update lastPress if(digitalRead(buttonPin) á 0 && lastButtonState á 1) //if botón se presiona y se ha anunciado el último cambio . toggleState; //cambiar el estado de LED digitalWrite(ledPin, toggleState); lastButtonState á 0; //record the lastButtonState - else if(digitalRead(buttonPin) ? 1 && lastButtonState ? 0) //if button is not pressed, y se ha presionado el último cambio - lastButtonState ? 1; //record the lastButtonState ? buttonFlag ? void ISR_button()botónFlag - 1;-
Desarma de ancho para \'Interrumpir debouncing\'
5.5 Escudos Arduino
En esta sección, tiraremos una mirada al empleo de módulos de complementos de hardware populares como \'escudos\'. Son una increíble forma de agrandar fácilmente las habilidades de su emprendimiento.
Capítulo 6: Ingresar en el reino de IoT
6.0 Resumen del capítulo
En este capítulo vas a aprender sobre:
Los conceptos básicos de un marco MQTT
Afruto
Dashboards y piensos
Scribir y divulgar en Adafruit IO
Ebardes de IoT
6.1 MQTT y Adafruit IO
En esta sección, el transporte de telemetría de Message Queue Server (MQTT) se introducirá adjuntado con Adafruit IO.
6.2 Tableros y feeds
En esta sección, construiremos una cuenta de Adafruit para conseguir ingreso a Adafruit IO. Además construiremos un panel de control y determinados feeds para supervisar y vigilar nuestro primer emprendimiento Arduino IoT.
6.3 Elaborar su Arduino Internet
En esta sección, descargaremos las bibliotecas importantes y el código ejemplo para conseguir nuestro Escudo WiFi Arduino y WINC1500 listo para Internet.
6.4 Su primera conexión IoT
En esta sección, exploraremos el código de ejemplo para poder ver cómo trabaja antes de realizar nuestro primer emprendimiento Arduino IoT!
Capítulo 7: ¿A dónde ir desde aquí?
7.0 Elementos complementarios
Es el instante de finalizar el Taller Arduino, de este modo que voy a sugerir unos cuantos mis elementos preferidos para proyectos y cuestiones.
7.1 Placas compatibles Arduino recomendadas
0 notes
pearleesque · 5 years ago
Photo
Tumblr media
Encontrarás artículos sobre las diferencias entre un Arduino Uno y un Arduino Nano y cuando usar cada placa o tutoriales sobre cómo escribir programas de Arduino, llamados Sketches. Por supuesto, todo en español (aunque hay una traducción automática al inglés).
1 note · View note
pearleesque · 5 years ago
Text
Tutorial Arduino
¡¡Bienvenidos todos!! Siento estar un tanto ocupado en este momento un día con mis exámenes y proyectos, aquí comenzamos Arduino Obstacle evadiendo el robot. La robótica es tan vasta, que llega a distintos extremos en las raíces de nuestra lógica. Tenemos la posibilidad de emular todas y cada una de las cosas que podemos consultar y tocar mediante la robótica. Más el inconveniente es con la lógica. De cualquier manera los elementos de hardware están  accesibles para algún emprendimiento que desees llevar a cabo. El mes pasado comencé un emprendimiento con Arduino, que es una interfaz de prototipos electrónicos de código abierto con un kit de iniciación de Arduino. Hay numerosas variedades de Arduino están accesibles del mismo modo que el pastel de frambuesa, etc, tenemos la posibilidad de usar estos PROMS para vigilar los elementos electrónicos como Servos, LED, Pantallas, Ethernet, Bluetooth, y prácticamente todos los sensores accesibles.
 A simple vista puede ser muy incómodo crear un código de programa y compilarlo, el inconveniente es que debemos redactar un código y subirlo a la placa Arduino allí tras ejecutarlo, el software puede ser sintácticamente acertado a fin de que no muestre ningún error al compilarlo con el IDE, más el código puede contener numerosos fallos lógicos y exhibe un accionar diferente. No hago que pierdas tu interés en Arduino, más solo sucede a lo largo de tu periodo de inicio. Es requisito que poseas unos entendimientos básicos de Programación y Electrónica para lograr jugar con, no es obligación. Si estás entusiasmado entonces puedes iniciar a llevar a cabo máquinas.
Si necesitas un tutorial básico para empezar con Arduino, te recomiendo que mires en esta web.
Para llevar a cabo un pequeño robot, debemos ser clarísimos con sus funciones. Hay que ser claro con 
"Lo que debemos llevar a cabo" y no "Cómo lo vamos a hacer". Con un concepto clara puedes iniciar a llevar a cabo un prototipo de tu robot. Existen varios websites que te van a dar códigos fuente de numerosas funciones, no te invito a que copies exactamente el mismo y lo coloques en práctica, porque si se genera algún error lógico, no será fácil de arreglar. De este modo que, haz tu lógica y ponla en práctica. 
Programación    
El código fuente de Arduino es muy semejante al de C y C++ . No es obligación integrar todas y cada una de las bibliotecas antes de empezar el emprendimiento, debería requerir utilizar las bibliotecas solo en determinados sitios si lo quiere. Del mismo modo que al girar un servo motor etc, aquí mostraré como parpadear un LED utilizando Arduino UNO.
Para llevar a cabo parpadear un LED ,
1. Declare qué alfiler está utilizando para su LED
2. Configure el pin que ha conectado como SALIDA en su Arduino
3. En la función de bucle, exhibe que el pin debe ir en ALTO
Eso es todo para un tutorial básico de LED para arduino :P
CÓDIGO DE FUENTE:
int ledpin=5; // Declarando el pin 5 como led
void setup() // esta función es para modificar los pines conectados 
void loop() // esta función es obligatoria en todos y cada uno de los códigos de Arduino
El circuito que he hecho con la conexión previo se expone ahora!!
Tras conceder estas conexiones,
Conecta tu Arduino al computador y sube el código utilizando el IDE de Arduino. ¡Entonces el LED se va a encender!!
SALIDA:
Este es solo un programa muy básico con Arduino, Arduino aguanta métodos establecidos por el usuario, y numerosos otros funcionalistas como java y C + +. 
2 notes · View notes