curso de arduino megatronica

143
TUTOR ING. DANIEL SALGADO

Upload: pablo-v-salazar

Post on 01-Oct-2015

37 views

Category:

Documents


1 download

DESCRIPTION

curso

TRANSCRIPT

  • TUTOR

    ING. DANIEL SALGADO

  • ARDUINO MODULO INTERMEDIO

    MEGATRONICA. QUITO, PRINCIPAL: AV. MARISCAL

    SUCRE S10-401 Y FCO. SAN MIGUEL

    TELF: 022614586 022847101 0999942422 0984127358

    ING. DANIEL SALGADO

  • ARDUINO ES UN HARDWARE FLEXIBLE PROGRAMABLE DISEADO PARA

    ARTISTAS, DISEADORES, HOBBISTAS ESTUDIANTES ENTRE OTROS

    BASICAMENTE ESTA BASADO EN UN MICROCONTROLADOR AVR ARDUINO UNO ATMEGA328

    ARDUINO MEGA ATMEGA2560

  • EL SOFTWARE ARDUINO ENVIRONMENT ES GRATUITO Y PUEDE SER DESCARGADO DESDE EL ARDUINO

    WEB SITE www.arduino.cc

  • INICIANDO CON EL SOFTWARE

    EN 6 PASOS

    ARDUINO

  • 1: SELECCIONAMOS LA BOARD

  • 2: SELECCIONAMOS PUERTO SERIE EN EL QUE SE HA CONECTADO EL ARDUINO

  • 3: ABRIMOS UN NUEVO SKETCH (NUEVO PROGRAMA) CLICK EN ARCHIVO - NUEVO

  • 4: ESCRIBIMOS EL PROGRAMA O CONJUNTO DE INSTRUCCIONES EN EL EDITOR

  • 5: VERIFICAMOS (COMPILAMOS EL PROGRAMA)

  • 6: CARGAMOS EL PROGRAMA EN LA TARJETA ARDUINO

  • PARTES PRINCIPALES DEL ARDUINO

  • LEDS SOBRE DEL ARDUINO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 1

    LED INTERMITENTE

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 1

    LED INTERMITENTE void setup()

    {

    pinMode(2, OUTPUT);

    }

    void loop()

    {

    digitalWrite(2, HIGH);

    delay(1000);

    digitalWrite(2, LOW);

    delay(1000);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 1

    LED INTERMITENTE

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 2

    PULSADOR - LED

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA 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);

    }

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 2

    PULSADOR - LED

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 3

    PWM - LED

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 3

    PWM - LED int led = 2;

    int valor = 0;

    int incremento = 1;

    void setup() {

    pinMode(led, OUTPUT);

    }

    void loop() {

    analogWrite(led, valor);

    valor = valor + incremento;

    delay(20);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 3

    PWM - LED

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 4

    CONTROL DE VELOCIDAD DE MOTOR DC - PWM

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int motor = 2;

    int valor = 0;

    void setup() {

    pinMode(motor, OUTPUT);

    pinMode(3, INPUT);

    pinMode(4, INPUT);

    }

    void loop() {

    if (digitalRead(3)==0){

    valor++;

    if(valor>=254){

    valor=254;

    }}

    if (digitalRead(4)==0){

    if (valor>1){

    valor--;

    }}

    analogWrite(motor, valor);

    delay(100);

    }

    PROYECTO 4

    CONTROL DE VELOCIDAD DE MOTOR DC - PWM

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 4

    CONTROL DE VELOCIDAD DE MOTOR DC - PWM

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 5

    ENVIO DE DATOS ARDUINO - PC

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    void setup() {

    Serial.begin(9600);

    }

    void loop() {

    Serial.print("\nPRUEBA DE COMUNICACION SERIAL" );

    Serial.print("\nARDUINO - PC ");

    delay(2000);

    }

    PROYECTO 5

    ENVIO DE DATOS ARDUINO - PC

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 5

    ENVIO DE DATOS ARDUINO - PC

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 6

    RECEPCION DE DATOS PC - ARDUINO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int dato;

    void setup() {

    pinMode(13, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    while (Serial.available() > 0) {

    dato = Serial.read();

    if (dato == 'A') {

    digitalWrite(13, HIGH);

    }

    if (dato == 'B') {

    digitalWrite(13, LOW);

    }

    }

    }

    PROYECTO 6

    RECEPCION DE DATOS PC - ARDUINO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 6

    RECEPCION DE DATOS PC - ARDUINO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    EL ARDUINO MEGA TIENE DISPONIBLES 4 TX-RX

    PARA ESPECIFICAR QUE PUERTO SERIAL QUIERO

    UTILIZAR:

    Serial.begin(9600); // CANAL SERIAL 0 TX0 Y RX0

    Serial1.begin(9600); //CANAL SERIAL 1 TX1 Y RX1

    Serial2.begin(9600); //CANAL SERIAL 2 TX2 Y RX2

    Serial3.begin(9600); //CANAL SERIAL 3 TX3 Y RX3

    Serial2.write(inByte);

    Serial2.read();

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    CONVERSION ANALOGO DIGITAL

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 7

    CONVERSION ANALOGO DIGITAL

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int Valor = 0;

    void setup() {

    Serial.begin(9600);

    }

    void loop() {

    Valor = analogRead(A0);

    Serial.print("\n AD: ");

    Serial.print(Valor);

    delay(1500);

    }

    PROYECTO 7

    CONVERSION A/D

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 7

    CONVERSION A/D

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 7

    CONVERSION A/D

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    SENSOR ANALOGO DE TEMPERATURA LM35

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 8

    TERMOMETRO DIGITAL CON LM35

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int Valor = 0;

    int Temp=0;

    void setup() {

    Serial.begin(9600);

    }

    void loop() {

    Valor = analogRead(A0);

    Temp=Valor/2.05;

    Serial.print("\n AD: ");

    Serial.print(Valor);

    Serial.print("\n TEMP: ");

    Serial.print(Temp);

    delay(500);

    }

    PROYECTO 8

    TERMOMETRO DIGITAL LM35

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 8

    TERMOMETRO DIGITAL LM35

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    Un fotorresistor o resistencia dependiente de

    la luz ( LDR ) o fotoclula es una resistencia

    cuya resistencia disminuye con el aumento de

    intensidad de luz incidente, para su conexin se necesita realizar un divisor de voltaje.

    LDR

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 9

    LUZ NOCTURNA AUTOMATICA

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int Valor = 0;

    int luz=200;

    void setup() {

    pinMode(13, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    Valor = analogRead(A0);

    Serial.print("\n AD: ");

    Serial.print(Valor);

    if (Valor>=500){

    Serial.print("\nLUZ AUXILIAR ENCENDIDA");

    digitalWrite(13,HIGH);

    }else

    {

    digitalWrite(13,LOW);

    }

    delay(500);

    }

    PROYECTO 9

    LUZ NOCTURNA AUTOMATICA

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 9

    LUZ NOCTURNA AUTOMATICA

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    1. AO: sensor analog output;

    2. GND: ground;

    3. VCC: power input, range: 3V-24V.

    4. DO: Digital Output (comparator output)

    SENSOR ANALOGO DE SONIDO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 10

    CONTROL ON OFF POR SONIDO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int Valor = 0;

    int sonido=70;

    int st=0;

    void setup() {

    pinMode(13, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    Valor = analogRead(A0);

    if (Valor>=sonido){

    if (st==0){

    Serial.print("\nLUZ ENCENDIDA");

    digitalWrite(13,HIGH);

    st=1;

    delay(1000);

    } }

    delay(50);

    Valor = analogRead(A0);

    if (Valor>=sonido){

    if (st==1){

    Serial.print("\nLUZ APAGADA");

    digitalWrite(13,LOW);

    st=0;

    delay(1000);

    }}

    Serial.print("\n AD: ");

    Serial.print(Valor);

    delay(50);

    }

    PROYECTO 10

    CONTROL ON OFF POR SONIDO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 10

    CONTROL ON OFF POR SONIDO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    LEDS EN BARRA

    ARRAY DE LEDS 10 SEGMENTOS 25mA CADA LED

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 11

    VUMETRO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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);

    for (x = 0; x < leds; x++) {

    if (x < ledLevel) {

    digitalWrite(ledPins[x], HIGH);

    }

    else {

    digitalWrite(ledPins[x], LOW);

    }

    }

    }

    PROYECTO 11

    VUMETRO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 11

    VUMETRO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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.

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROTOCOLO

    1-WIRE

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA DS1820

    1-WIRE

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA DS1820

    1-WIRE

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 12

    CONTROL DE TEMP CON DS18B20

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    #include // libreria 1 wire

    OneWire ds(10); // conectado pin 10

    int HighByte, LowByte, TReading, SignBit, Tc_100, Whole, Fract;

    void leer(){

    byte i;

    byte present = 0;

    byte data[12];

    byte addr[8];

    if ( !ds.search(addr)) { // busca dispositivos 1wire y almacena la idreccionde 8bytes en el arreglo addr,

    devuelve un true o false

    //Serial.print("No more addresses.\n");

    ds.reset_search();

    return;

    }

    ds.reset();// resetea el bus 1 wire para envio de comandos nuevos

    ds.select(addr);// direccion unica para ds18b20 0x28

    ds.write(0x44,1); // start conversion, with parasite power on at the end

    delay(1000); // maybe 750ms is enough, maybe not

    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

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    if (SignBit) // negative

    {

    TReading = (TReading ^ 0xffff) + 1; // 2's comp

    }

    Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25

    Whole = Tc_100 / 100; // separate off the whole and fractional portions

    Fract = Tc_100 % 100;

    if (SignBit) // If its negative

    {

    Serial.print("-");

    }

    Serial.print(Whole);

    Serial.print(".");

    if (Fract < 10)

    {

    Serial.print("0");

    }

    Serial.print(Fract);

    Serial.print("\n");

    }

    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

    CONTROL DE TEMPERATURA CON DS18B20

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 12

    CONTROL DE TEMPERATURA CON DS18B20

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    SERVOMOTOR

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    SERVOMOTOR

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 13

    CONTROL DE SERVOMOTOR

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    int servo = 30;

    int x=0;

    void setup()

    {

    pinMode(servo,OUTPUT); //ENLAZO AL PIN 30

    }

    void loop()

    {

    for(x=0;x

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 13

    CONTROL DE SERVOMOTOR

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 14

    CONTROL DE POSICION CON POTENCIOMETRO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    #include

    Servo servo;

    int potpin = 0;

    int valor;

    void setup()

    {

    servo.attach(30) //ENLAZO AL PIN 30

    }

    void loop()

    {

    valor = analogRead(potpin);

    valor = map(valor, 0, 1023, 0, 179);

    servo.write(valor);

    delay(20); //ESPERA SERVO SE MUEVA

    }

    PROYECTO 14

    CONTROL DE POSICION CON POTENCIOMETRO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 14

    CONTROL DE POSICION CON POTENCIOMETRO

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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)

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    HC-SR04

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    HC-SR04

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    HC-SR04

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    APLICACIONES

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 15

    LECTURA DE DISTANCIA CON SENSOR HC-SR04

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    #define echoPin 37 // Echo Pin

    #define trigPin 38 // Trigger Pin

    #define LEDPin 13 // Onboard LED

    int maximumRange = 200; // Maximum range needed

    int minimumRange = 0; // Minimum range needed

    long duration, distance; // Duration used to calculate distance

    void setup() {

    Serial.begin (9600);

    pinMode(trigPin, OUTPUT);

    pinMode(echoPin, INPUT);

    pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)

    }

    void loop() {

    /* The following trigPin/echoPin cycle is used to determine the

    distance of the nearest object by bouncing soundwaves off of it. */

    digitalWrite(trigPin, LOW);

    delayMicroseconds(2);

    digitalWrite(trigPin, HIGH);

    delayMicroseconds(10);

    digitalWrite(trigPin, LOW);

    duration = pulseIn(echoPin, HIGH);

    PROYECTO 15

    LECTURA DE DISTANCIA CON SENSOR HC-SR04

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    //Calcula la distancia (in cm) basado en la velocidad del

    sonido.

    distance = duration/58.2;

    if (distance >= maximumRange || distance

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 15

    LECTURA DE DISTANCIA CON SENSOR HC-SR04

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA Visualizador LCD 16X2

    Caracteres alfanumericos

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 16

    VISUALIZADOR LCD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 16

    VISUALIZADOR LCD

    #include

    // 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);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 16

    VISUALIZADOR LCD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 17

    VISUALIZACION DE DATOS SERIALES

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 17

    VISUALIZACION DE DATOS SERIALES

    #include

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

    void setup(){

    lcd.begin(16, 2);

    Serial.begin(9600);

    }

    void loop()

    {

    if (Serial.available()) {

    delay(100);

    lcd.clear();

    while (Serial.available() > 0) {

    lcd.write(Serial.read());

    }

    }

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 17

    VISUALIZACION DE DATOS SERIALES

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 18

    DISEANDO CARACTERES

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 18

    DISEANDO CARACTERES

    // include the library code:

    #include

    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

    };

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 18

    DISEANDO CARACTERES

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA SENSOR ACELEREMETRO

    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, E-Compass

    Pedometer: Motion Sensing PDA: Text Scroll Navigation and Dead Reckoning: E-Compass Tilt Compensation

    Robotics: Motion Sensing

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA SENSOR ACELEREMETRO

    MMA7361 (INCLINACION)

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 19

    SENSOR DE INCLINACION 3 EJES X,Y,Z

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 19

    SENSOR DE INCLINACION 3 EJES X,Y,Z

    int Valor1 = 0;

    int Valor2 = 0;

    int Valor3 = 0;

    int dato=0;

    void setup() {

    Serial.begin(9600);

    }

    void loop() {

    while (Serial.available() > 0) {

    dato = Serial.read();

    Valor1 = analogRead(A0);

    Valor2 = analogRead(A1);

    Valor3 = analogRead(A2);

    Serial.print("\n X1: ");

    Serial.print(Valor1);

    Serial.print(" Y: ");

    Serial.print(Valor2);

    Serial.print(" Z: ");

    Serial.print(Valor3);

    }

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 19

    SENSOR DE INCLINACION 3 EJES X,Y,Z

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    MODULO BLUETOOTH

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 20

    CONTROL INALAMBRICA POR BLUETOOTH

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 20

    CONTROL INALAMBRICO POR BLUETOOTH

    int led=13;

    int dato;

    int x=0;

    int servo=30;

    void setup() {

    pinMode(servo,OUTPUT);

    pinMode(led, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    while (Serial.available() > 0) {

    dato = Serial.read();

    if (dato == 'A') {

    digitalWrite(13, HIGH);

    }

    if (dato == 'B') {

    digitalWrite(13, LOW);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 20

    CONTROL INALAMBRICO POR BLUETOOTH

    / if (dato == '1') {

    for(x=0;x

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 20

    CONTROL INALAMBRICO POR BLUETOOTH

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 20

    CONTROL INALAMBRICO POR BLUETOOTH

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 20

    CONTROL INALAMBRICO POR BLUETOOTH

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 21

    LECTURA DE 3 SENSORES AD Y RECEPCION CON ANDROID POR BLUETOOTH

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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);

    }

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 21

    BLUETOOTH-ANDROID-3AD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA PROYECTO 21

    BLUETOOTH-ANDROID-3AD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    GSM SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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.

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    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

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    GSM SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 22

    ENVIO DE NOTIFICACION GSM char num[11]="0999942422";

    char msj[100]="6-ARDUINO - PRUEBA DE ENVIO DE MENSAJE ESCRITO - MEGATRONICA";

    int x=0;

    void enviar_msj(){

    digitalWrite(13,HIGH);

    Serial.print("AT");

    delay(100);

    Serial.write(13);

    Serial.write(10);

    delay(200);

    Serial.print("AT+CMGF=1");

    Serial.write(13);

    Serial.write(10);

    delay(100);

    Serial.print("AT+CMGS=");

    Serial.write(34);

    delay(100);

    Serial.print(num);

    delay(100);

    Serial.write(34);

    delay(100);

    Serial.write(13);

    Serial.write(10);

    delay(100);

    Serial.print(msj);

    delay(100);

    Serial.write(13);

    Serial.write(10);

    delay(100);

    Serial.write(26);

    digitalWrite(13,LOW);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    void setup() {

    Serial.begin(115200);

    pinMode(13,OUTPUT);

    }

    void loop() {

    delay(15000);

    enviar_msj();

    delay(20000);

    }

    PROYECTO 22

    ENVIO DE NOTIFICACION GSM

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 23

    LLAMADA DE EMERGENCIA GSM void llamada_gsm(){

    digitalWrite(13,HIGH);

    Serial.print("AT");

    Serial.write(13);

    Serial.write(10);

    delay(200);

    Serial.print("ATD0998784798;");

    delay(100);

    Serial.write(13);

    Serial.write(10);

    delay(20000);

    Serial.print("ATH");

    Serial.write(13);

    Serial.write(10);

    digitalWrite(13,LOW);

    }

    void setup() {

    Serial.begin(115200);

    pinMode(13,OUTPUT);

    }

    void loop() {

    delay(15000);

    llamada_gsm();

    delay(20000);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA RFID Identificacion por

    radio frecuencia

    RFID (siglas de Radio Frequency IDentification, en

    espaol identificacin por radiofrecuencia) es un

    sistema de almacenamiento y recuperacin de

    datos remoto que usa dispositivos

    denominados etiquetas, tarjetas, transportadores o

    tags RFID. El propsito fundamental de la

    tecnologa RFID es transmitir la identidad de un

    objeto (similar a un nmero de serie nico)

    mediante ondas de radio. Las tecnologas RFID se

    agrupan dentro de las denominadas Auto

    ID (automatic identification, o identificacin

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA RFID Identificacion por

    radio frecuencia

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA RFID Identificacion por

    radio frecuencia

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 24

    LECTURA DE CODIGOS RFID CON RDM4600

    int dato;

    void setup() {

    Serial.begin(9600);

    }

    void loop() {

    while (Serial.available() > 0) {

    dato= Serial.read();

    Serial.print(dato);

    }

    delay(500);

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    La Arduino Ethernet Shield permite conectar

    fcilmente su Arduino a Internet. Esto se

    utiliza para enviar y recibir datos desde

    cualquier lugar del mundo con una conexin a

    Internet. Usted puede usarlo para hacer cosas

    divertidas, como los robots de control de

    forma remota desde un sitio web, o sistemas

    domoticos a distancia.

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    El ETHERNET shield esta basado en el chip

    W51000, que tiene un buffer interno de

    16K. Tiene una velocidad de conexin de

    hasta 10/100Mb.

    Para su utilizacin se requiere la librera

    ethernet.

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    CONOCIENDO UNA

    IP DISPONIBLE

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    VENTANA DE COMANDOS

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    DIGITAMOS IPCONFIG Y PRESIONAMOS ENTER , PARA

    CONOCER LA MASCARA DE SUBRED Y DIRECCIONES IP

    OCUPADAS

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    PODEMOS CONOCER TAMBIEN LA DIRECCION IP DE UNA

    PAGINA WEB EJ: WWW.WIKIHOW.COM

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    HACEMOS PING A UNA DIRECCION IP PARA CONOCER EL

    ESTADO, Y ESPERAMOS SU RESPUESTA. SI RESPONDE,

    ESA IP ESTA CONECTADA SI NO RESPONDE ESA IP ESTA

    DESOCUPADA

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    ETHERNET SHIELD

    PODEMOS CONOCER TAMBIEN LA DIRECCION IP DE UNA

    PAGINA WEB EJ: WWW.WIKIHOW.COM

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    LENGUAJE HTML

    Es usado para describir la estructura y el contenido en

    forma de texto, as como para complementar el texto con

    objetos tales como imgenes. HTML se escribe en forma de

    etiquetas, rodeadas por corchetes angulares (). HTML

    tambin puede describir, hasta un cierto punto, la

    apariencia de un documento, y puede incluir un script (por

    ejemplo JavaScript), el cual puede afectar el

    comportamiento de navegadores web y otros procesadores

    de HTML.

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    Detalle del comando Abre Cierra

    Principio de Documento .....

    Encabezado y Ttulo ....(titulo del archivo)....

    Color de Fondo de Pgina ----

    Imagen de Fondo ----

    Imagen Individual ----

    Imgen (Ancho y Alto) -----

    Espacio "libre" -----

    Color del Texto (parcial)

    Tamao del Texto (parcial)

    Punto y a Parte -----

    Linea (s) en blanco -----

    "As you See"

    Lnea Embebida -----

    Negrita*Cursiva*Subray * * * *

    Subndice * Superndice * *

    Centrado*Izquierda*Derecha ** **

    Enlace "lejano" ....

    Enlace "ab.html" en tu PC ....

    Enlace misma pgina ....

    Localiz.anterior ....

    Enlace Correo ...

    Arch.de Sonido (o .mid) -----

    Desplazam. Marquesina (texto)

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 26

    WEB SERVER ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 26

    WEB SERVER ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 26

    WEB SERVER ETHERNET SHIELD

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS // funciona con la configuracion del router de abrir puerto e ip

    // y se puedan encender y apagar leds (Pines digitales del 2 al 9).

    // Pines 10,11,12 y 13 los usa para comunicarse con la ethernet

    #include

    #include

    #include

    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFF, 0xEE}; // direccion MAC de tu Ethernet

    byte ip[] = {192, 168, 1, 3}; // ip que le pones dentro de tu red como fija y configurada en tu router

    EthernetServer server(80); // 88 puerto por el accedemos al servidor. Normalmente seria la 80

    int dig[ ] = {2,3,4,5,6,7,8,9}; // pines digitales a usar. No uso 0 y 1 que son de transmisin serie

    // Tampoco uso el 10,11,12 y 13 ya que los uso para la ethernet

    int digTotal = 8; // Numero de pines a usar

    int vdig[] = {0,0,0,0,0,0,0,0}; // valores iniciales (Tantos como pines usemos)

    int pin;

    int x=0;

    int nivel;

    String cad = String(100);

    void setup()

    {

    pinMode(5, OUTPUT);

    Ethernet.begin(mac, ip); // inicio la Ethernet

    server.begin(); // inicio el servidor

    for (int i=0; i < digTotal; i++)

    {

    pinMode(dig[i], OUTPUT); // inicializo los pines digitales como salida

    digitalWrite(dig[i],vdig[i]); // los pongo a nivel bajo LOW=0

    }

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS void loop()

    {

    cad = ""; // inicializo la cad donde almaceno los datos recibidos

    EthernetClient cliente = server.available();

    if (cliente)

    {

    while(cliente.connected())

    {

    if(cliente.available())

    {

    char c = cliente.read();

    cad = cad + c;

    //Serial.print(c);

    if(c == '\n')

    {

    if (cad.lastIndexOf("dig") > -1) // si la variable cad contiene 'dig' hacer ...

    {

    pin = pinElegido(cad);// PIN DEL 2 AL 9

    int posicionPin;

    for (int i=0; i

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS // Comienza la PROGRAMACION HTML cliente.println("HTTP/1.1 200 OK");

    cliente.println("Content-Type: text/html");

    cliente.println();

    cliente.println("");

    cliente.println("CONTROL WEB DE LEDS");

    cliente.println("");

    for (int i=0; i < digTotal; i++)

    {

    if (vdig[i]==1)

    {

    cliente.println(" ON ");

    cliente.print("");

    }

    if (vdig[i]==0)

    {

    cliente.println(" OFF ");

    // cliente.println("");

    cliente.print("");

    cliente.print("");

    cliente.print("");

    cliente.print("");

    }

    }

    cliente.stop();

    }

    }

    }

    }

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS

    ////////////// FUNCIONES /////////////////7

    // Funcion: Extrae el pin del array cad (contiene la lectura de lo que el cliente devuelve)

    int pinElegido(String cad)

    {

    int pos_dig = cad.lastIndexOf("dig");

    int pos_igual = cad.lastIndexOf("=");

    char vpin1 = cad.charAt(pos_dig+3);

    char vpin2 = cad.charAt(pos_dig+4);

    if (vpin2 != '=')

    {

    vpin1 += vpin2;

    }

    int pinElegido = vpin1 - 48; //.toInt();

    return pinElegido;

    }

    // Funcion: Extrae en nivel de la cadena cad

    int nivelElegido(String cad)

    {

    int pos_igual = cad.lastIndexOf("=");

    char v = cad.charAt(pos_igual+1) - 48;

    if (v == 0) return 0;

    if (v == 1) return 1;

    }

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS

  • 6: DESCARGAMOS EL SKETCH AL ARDUINO MEGA

    PROYECTO 27

    CONTROL WEB DE 8 LEDS