Documente Academic
Documente Profesional
Documente Cultură
ARDUINO
MODULO INTERMEDIO
MEGATRONICA. QUITO, PRINCIPAL: AV. MARISCAL
SUCRE S10-401 Y FCO. SAN MIGUEL
TELF: 022614586 022847101 0999942422 0984127358
ING. DANIEL SALGADO
EL SOFTWARE ARDUINO
ENVIRONMENT ES GRATUITO Y PUEDE
SER DESCARGADO DESDE EL ARDUINO
WEB SITE www.arduino.cc
ARDUINO
1: SELECCIONAMOS LA BOARD
PROYECTO 1
LED INTERMITENTE
PROYECTO 1
LED INTERMITENTE
6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA
void setup()
{
pinMode(2, OUTPUT);
}
void loop()
{
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
PROYECTO 1
LED INTERMITENTE
6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA
PROYECTO 2
PULSADOR - LED
PROYECTO 2
PULSADOR - LED
void setup() {
pinMode(2, OUTPUT);
pinMode(3, INPUT);
}
void loop() {
if (digitalRead(3)==0)
{
digitalWrite(2, HIGH);
}
else
{
digitalWrite(2, LOW);
}
}
PROYECTO 2
PULSADOR - LED
PROYECTO 3
PWM - LED
PROYECTO 3
PWM - LED
int led = 2;
int valor = 0;
int incremento = 1;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
analogWrite(led, valor);
PROYECTO 3
PWM - LED
PROYECTO 4
CONTROL DE VELOCIDAD
DE MOTOR DC - PWM
PROYECTO 4
if (digitalRead(4)==0){
if (valor>1){
valor--;
}}
analogWrite(motor, valor);
delay(100);
PROYECTO 4
PROYECTO 5
ENVIO DE DATOS
ARDUINO - PC
PROYECTO 5
PROYECTO 5
PROYECTO 6
RECEPCION DE DATOS
PC - ARDUINO
PROYECTO 6
void loop() {
while (Serial.available() > 0) {
dato = Serial.read();
if (dato == 'A') {
digitalWrite(13, HIGH);
}
if (dato == 'B') {
digitalWrite(13, LOW);
}
}
}
PROYECTO 6
EL ARDUINO MEGA
TIENE DISPONIBLES 4
TX-RX
PARA ESPECIFICAR QUE PUERTO SERIAL QUIERO
UTILIZAR:
Serial.begin(9600);
Serial1.begin(9600);
Serial2.begin(9600);
Serial3.begin(9600);
Serial2.write(inByte);
Serial2.read();
PROYECTO 7
CONVERSION
ANALOGO DIGITAL
PROYECTO 7
CONVERSION A/D
int Valor = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Valor = analogRead(A0);
delay(1500);
PROYECTO 7
CONVERSION A/D
PROYECTO 7
CONVERSION A/D
SENSOR ANALOGO DE
TEMPERATURA LM35
PROYECTO 8
TERMOMETRO DIGITAL
CON LM35
PROYECTO 8
delay(500);
PROYECTO 8
LDR
PROYECTO 9
LUZ NOCTURNA
AUTOMATICA
PROYECTO 9
PROYECTO 9
PROYECTO 10
CONTROL ON OFF POR
SONIDO
PROYECTO 10
PROYECTO 10
LEDS EN BARRA
PROYECTO 11
VUMETRO
PROYECTO 11
VUMETRO
const int pin = A0;
const int leds = 8;
int x=0;
int ledLevel=0;
int valor=0;
int ledPins[] = {30, 31, 32, 33, 34, 35,36,37 }; // an array of pin numbers to which LEDs are
attached
void setup() {
for (x = 0; x < leds; x++) { //todos los pines son salida
pinMode(ledPins[x], OUTPUT);
}
}
void loop() {
valor = analogRead(pin);
ledLevel = map(valor, 0, 1023, 0, leds);
PROYECTO 11
VUMETRO
PROTOCOLO
1-WIRE
1-Wire es un protocolo de comunicaciones en serie
diseado por Dallas Semiconductor. Est basado en
un bus, un maestro y varios esclavos de una sola
lnea de datos en la que se alimentan. Por supuesto,
necesita una referencia a tierra comn a todos los
dispositivos.
ada dispositivo 1-Wire contiene un cdigo nico de
64 bits 'ROM', que consiste en un cdigo de 8-bit de
la familia, un nmero de serie de 48 bits, y un CRC
de 8 bits. La CRC se utiliza para verificar la
integridad de los datos.
PROTOCOLO
1-WIRE
DS1820
1-WIRE
DS1820
1-WIRE
PROYECTO 12
CONTROL DE TEMP CON
DS18B20
PROYECTO 12
present = ds.reset();
ds.select(addr);
ds.write(0xBE);
// Read Scratchpad MEMORIA
for ( i = 0; i < 9; i++) {
// we need 9 bytes
data[i] = ds.read();
//Serial.print(data[i], HEX);
//Serial.print(" ");
}
LowByte = data[0];
HighByte = data[1];
TReading = (HighByte << 8) + LowByte;
SignBit = TReading & 0x8000; // test most sig bit
PROYECTO 12
Whole = Tc_100 / 100; // separate off the whole and fractional portions
Fract = Tc_100 % 100;
void setup(void) {
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop(void) {
leer();
if (Whole>25)
{
digitalWrite(13,LOW);
}
else
{
digitalWrite(13,HIGH);
}
}
PROYECTO 12
SERVOMOTOR
SERVOMOTOR
PROYECTO 13
CONTROL DE SERVOMOTOR
PROYECTO 13
CONTROL DE SERVOMOTOR
int servo = 30;
int x=0;
void setup()
{
pinMode(servo,OUTPUT); //ENLAZO AL PIN 30
}
void loop()
{
for(x=0;x<15;x++){
digitalWrite(servo,HIGH);
delayMicroseconds(500);
digitalWrite(servo,LOW);
delay(20);
}
delay(2000);
for(x=0;x<15;x++){
digitalWrite(servo,HIGH);
delayMicroseconds(1500);
digitalWrite(servo,LOW);
delay(20);
}
delay(2000);
for(x=0;x<15;x++){
digitalWrite(servo,HIGH);
delayMicroseconds(2500);
digitalWrite(servo,LOW);
delay(20);
}
delay(2000);
}
PROYECTO 13
CONTROL DE SERVOMOTOR
PROYECTO 14
CONTROL DE POSICION CON
POTENCIOMETRO
PROYECTO 14
PROYECTO 14
PulseIn ()
Lee un pulso (alto o bajo) en un pin. Por ejemplo, si el
valor es ALTO , PulseIn () espera a que llegue el pulso
en ALTO y empieza a contar, a continuacin, espera a
que pase a estado BAJO y se detiene el
tiempo. Devuelve la longitud del impulso en
microsegundos. Se da por vencido y devuelve 0 si no
hay pulso en un plazo determinado a cabo.
Funciona en pulsos de 10 microsegundos a 3 minutos
de duracin.
Sintaxis
PulseIn (pin, valor)
PulseIn (pin, valor, tiempo de espera)
HC-SR04
HC-SR04
HC-SR04
APLICACIONES
PROYECTO 15
LECTURA DE DISTANCIA CON
SENSOR HC-SR04
PROYECTO 15
PROYECTO 15
PROYECTO 15
Caracteres alfanumericos
PROYECTO 16
VISUALIZADOR LCD
PROYECTO 16
VISUALIZADOR LCD
#include <LiquidCrystal.h>
// PINES
RS,E,D4,D5,D6,D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2); //INICIALIZA LCD 16X2
}
void loop() {
lcd.setCursor(0, 0);//COLUMNA1,FILA1
lcd.print("MEGATRONICA");
lcd.setCursor(0, 1);//COLUMNA1,FILA 2
lcd.print(millis()/1000);// IMPRIME EL NUMERO DE SEGUNDOS TRANSCURRIDO
delay(500);
lcd.noDisplay(); // APAGA LCD
delay(500);
lcd.display();
delay(500);
}
PROYECTO 16
VISUALIZADOR LCD
PROYECTO 17
VISUALIZACION DE DATOS
SERIALES
PROYECTO 17
PROYECTO 17
PROYECTO 18
DISEANDO CARACTERES
PROYECTO 18
DISEANDO CARACTERES
// include the library code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte feliz[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b10001,
0b01110,
0b00000
};
byte triste[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b00000,
0b01110,
0b10001
};
PROYECTO 18
DISEANDO CARACTERES
void setup() {
lcd.createChar(1, feliz);
lcd.createChar(2, triste);
lcd.begin(16, 2);
lcd.print("MEGATRONICA");
}
void loop() {
lcd.setCursor(4, 1);
lcd.write(1);
delay(2000);
lcd.setCursor(4, 1);
lcd.write(2);
delay(2000);
}
PROYECTO 18
DISEANDO CARACTERES
SENSOR ACELEREMETRO
6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA
MMA7361 (INCLINACION)
Acelermetro de 3 ejes MMA7361L, con sensibilidad
ajustable .Este acelermetro en board esta listo para usar y
se puede conectar directamente a 5V!. Integra a su vez filtro
pasa bajos de un polo en cada una de sus salidas..
PIN SL: Usando para activar o desactivar el acelermetro.
Typical Applications
3D Gaming: Tilt and Motion Sensing, Event Recorder
HDD MP3 Player: Freefall Detection
Laptop PC: Freefall Detection, Anti-Theft
Cell Phone: Image Stability, Text Scroll, Motion Dialing, ECompass
Pedometer: Motion Sensing
PDA: Text Scroll
Navigation and Dead Reckoning: E-Compass Tilt
Compensation
Robotics: Motion Sensing
SENSOR ACELEREMETRO
6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA
MMA7361 (INCLINACION)
PROYECTO 19
SENSOR DE INCLINACION 3
EJES X,Y,Z
PROYECTO 19
PROYECTO 19
MODULO BLUETOOTH
El modulo BlueTooth HC-06 utiliza el protocolo UART RS 232 serial.
Es ideal para aplicaciones inalmbricas, fcil de implementar con
PC, microcontrolador o mdulos Arduinos.
La tarjeta incluye un adaptador con 4 pines de fcil acceso para uso
en protoboard.
Los pines de la board correspondientes son:
VCC
GND
RX
TX
Adems posee un regulador interno que permite su alimentacin de
3.6 a 6V.
Caractersticas
Compatible con el protocolo Bluetooth V2.0.
Voltaje de alimentacin: 3.3VDC 6VDC.
Voltaje de operacin: 3.3VDC.
Baud rate ajustable: 1200, 2400, 4800, 9600, 19200, 38400, 57600,
115200.
Tamao: 1.73 in x 0.63 in x 0.28 in (4.4 cm x 1.6 cm x 0.7 cm)
Corriente de operacin: < 40 mA
Corriente modo sleep: < 1mA
MODULO BLUETOOTH
PROYECTO 20
CONTROL INALAMBRICA POR
BLUETOOTH
PROYECTO 20
PROYECTO 20
PROYECTO 20
PROYECTO 20
PROYECTO 20
PROYECTO 21
LECTURA DE 3 SENSORES AD Y
RECEPCION CON ANDROID
POR BLUETOOTH
PROYECTO 21
BLUETOOTH-ANDROID-3AD
int Valor1 = 0;
int Valor2 = 0;
int Valor3 = 0;
int dato=0;
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop() {
while (Serial.available() > 0) {
dato = Serial.read();
if (dato == 'A') {
digitalWrite(13,HIGH);
}
Valor1 = analogRead(A0);
Valor2 = analogRead(A1);
Valor3 = analogRead(A2);
Serial.print("\n AD1: ");
Serial.print(Valor1);
Serial.print(" AD2: ");
Serial.print(Valor2);
Serial.print(" AD3: ");
Serial.print(Valor3);
}
}
PROYECTO 21
BLUETOOTH-ANDROID-3AD
PROYECTO 21
BLUETOOTH-ANDROID-3AD
GSM SHIELD
GSM SHIELD
Un mdem GSM es un tipo especializado de
mdem, que acepta una tarjeta SIM, y opera a
travs de una suscripcin a un operador de
telefona mvil, como un telfono mvil. Desde
la perspectiva del operador mvil, un mdem
GSM se ve como un telfono mvil.
Cuando un mdem GSM se conecta a un
ordenador, lo que permite que el equipo utilice
el mdem GSM para comunicarse a travs de la
red mvil. Si bien estos mdems GSM se
utilizan con mayor frecuencia para
proporcionar conectividad a Internet mvil,
muchos de ellos tambin se puede utilizar para
enviar y recibir mensajes SMS y MMS.
GSM SHIELD
The GPRS Shield is based on SIM900 module from SIMCOM and
compatible with Arduino and its clones. The GPRS Shield provides you a
way to communicate using the GSM cell phone network. The shield
allows you to achieve SMS, MMS, GPRS and Audio via UART by sending
AT commands (GSM 07.07 ,07.05 and SIMCOM enhanced AT Commands).
The shield also has the 12 GPIOs, 2 PWMs and an ADC of the SIM900
module(They are all 2V8 logic) present onboard.
Features
1.Quad-Band 850 / 900/ 1800 / 1900 MHz - would work on GSM networks
in all countries across the world.
2.GPRS multi-slot class 10/8
3.GPRS mobile station class B
7.Control via AT commands - Standard Commands: GSM 07.07 & 07.05 |
Enhanced Commands: SIMCOM AT Commands.
8.Short Message Service - so that you can send small amounts of data
over the network (ASCII or raw hexadecimal).
9.Embedded TCP/UDP stack - allows you to upload data to a web server.
10.RTC supported.
12.Speaker and Headphone jacks
GSM SHIELD
PROYECTO 22
ENVIO
DE NOTIFICACION GSM
char num[11]="0999942422";
PROYECTO 22
PROYECTO 23
PROYECTO 24
}
delay(500);
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
CONOCIENDO UNA
IP DISPONIBLE
ETHERNET SHIELD
VENTANA DE COMANDOS
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
ETHERNET SHIELD
LENGUAJE HTML
Abre
6: DESCARGAMOS EL SKETCH..<html>...
AL ARDUINO MEGA
Principio de Documento
Cierra
</html>
Encabezado y Ttulo
</title></head>
<body bgcolor="#RRVVAA">
----
Imagen de Fondo
----
Imagen Individual
----
-----
Espacio "libre"
-----
<font color="#RRVVAA">
</font>
<font size="n">
</font>
Punto y a Parte
<br>
-----
<p>
-----
<pre>
</pre>
Lnea Embebida
<hr="n">
-----
Negrita*Cursiva*Subray
Subndice * Superndice
<sub> * <sup>
</sub> * </sup>
Centrado*Izquierda*Derecha
<center>*<left>*<right>
</center>*</left>*</right>
Enlace "lejano"
<a href="http://...">
....</a>
Enlace "ab.html" en tu PC
<a href="ab.html">
....</a>
<a href="#pepe">
....</a>
Localiz.anterior
<a name="pepe">
....</a>
Enlace Correo
...</a>
Arch.de Sonido
-----
Desplazam. Marquesina
<marquee>(texto)
</marquee>
PROYECTO 26
PROYECTO 26
PROYECTO 26
PROYECTO 27
PROYECTO 27
PROYECTO 27
PROYECTO 27
PROYECTO 27
PROYECTO 27
PROYECTO 27