ARDUINO.pptx

30
ARDUINO Introducción a n C. Bella Citlali Martínez Seis

Transcript of ARDUINO.pptx

Page 1: ARDUINO.pptx

ARDUINO

Introducción a

M. En C. Bella Citlali Martínez Seis

Page 2: ARDUINO.pptx

¿Qué es Arduino?Es una plataforma de trabajo

◦Basado en el microcontrolados (AVR) y puertos de E/S

◦Entorno de desarrolloTiene su lenguaje: ProcessingEs Hw Open Source

Page 3: ARDUINO.pptx

¿Para qué sirve Arduino?Sensar el medio ambiente a

través de variedad de sensoresControlar luces, motores y

diversos actuadores

Page 4: ARDUINO.pptx

ATMEGA328 bootloaderSi se modifican

instrucciones afecta el programa de usuario

Se autoprogramaComo si hubieran

2 micros:◦ Uno que programa◦ Uno que es

programado

Page 5: ARDUINO.pptx

CaracterísticasMicrocontrolador: ATmega328Voltaje de operación: 5VEntrada V (recomendado): 7-12VEntrada V (limits): 6-20VPin digital: 14 (6 PWM output)Pin analógicos: 6Memoria flash: 32 KbSRAM: 2k

Page 6: ARDUINO.pptx

Características (2)

𝐼 2𝐶

Page 7: ARDUINO.pptx

Entorno de desarrollo Verificar (compilar) Parar Upload (cargar al Arduino) Monitor Serial

Page 8: ARDUINO.pptx

Código en processingsetup

◦Ese método (función) solo se ejecuta una vez al iniciar

loop◦Este método es un ciclo infinito

Page 9: ARDUINO.pptx

Salida DigitalEn setup

◦Inicializar el pin como de salida pinMode(numDePin, OUTPUT);

En loop◦Encender el LED

digitalWrite(numDePin, HIGH);

◦Apagar el LED digitalWrite(numDePin, LOW);

Page 10: ARDUINO.pptx

Blink

Page 11: ARDUINO.pptx
Page 12: ARDUINO.pptx
Page 13: ARDUINO.pptx

Encender 8 pins

Page 14: ARDUINO.pptx

Salida AnalógicaEn setup

◦Inicializar el pin como de salida pinMode(numDePin, OUTPUT);

En loop analogWrite(numDePin, valor);

Valor: valores ente 0 y 255

Page 15: ARDUINO.pptx

Ejemplo

Page 16: ARDUINO.pptx
Page 17: ARDUINO.pptx
Page 18: ARDUINO.pptx

Salida al SerialPara mandar datos del Arduino al

SerialEn setup

◦Serial.begin(9600);En loop

◦Serial.print(valor);

Page 19: ARDUINO.pptx

Entrada AnalógicaEn setupEn loop

valor=analogRead(pin);//valor es ente 0 y 255

Page 20: ARDUINO.pptx

Salida a serial con entrada analógica

Page 21: ARDUINO.pptx

Ejemplos de Salida Serial Serial.print(78) imprime "78" Serial.print(1.23456) imprime "1.23" Serial.print(byte(78)) imprime "N" (cuyo código

ASCII es 78) Serial.print('N') imprime "N" Serial.print("Hello world.") imprime "Hello world." Serial.print(78, BYTE) imprime "N" Serial.print(78, BIN) imprime "1001110" Serial.print(78, OCT) imprime "116" Serial.print(78, DEC) imprime "78" Serial.print(78, HEX) imprime "4E" Serial.println(1.23456, 0) imprime "1" Serial.println(1.23456, 2) imprime "1.23"

Page 22: ARDUINO.pptx

Entrada desde SerialPara recibir datos desde el serial

al ArduinoEn setup

◦Serial.begin(9600);En loop

◦Serial.write(valor); Valor:

un valor para enviar como un solo byte una cadena 'string' para enviar como una serie

de bytes

Page 23: ARDUINO.pptx

PUERTO SERIE EN C

Page 24: ARDUINO.pptx

SerialUn puerto serie, puerto serial o puerto de

comunicación COM (también llamados RS-232) es una interfaz de comunicaciones de datos digitales donde la información es transmitida bit a bit enviando un solo bit a la vez, en contraste con el puerto paralelo que envía varios bits simultáneamente. Se denomina “serial” porque el puerto serie “serializa” los datos. Esto quiere decir que toma un byte de datos y transmite los 8 bits del byte de uno en uno.

Page 25: ARDUINO.pptx

Serial (2)El símbolo del puerto es: 

El puerto serie puede ser un conector de 25 o de 9 pines.

Page 26: ARDUINO.pptx

Serial de 9 PinesNombr

eDescripción Sentido Pin

TXD Transmit Data Salida 3RXD Receive Data Entrada 2RST Request to send(Reconoce al modem

que UART está lista para intercambiar datos)

Salida 7

CTS Clear to Send. (cuando el modem está listo para el intercambio)

Entrada 8

DTR Data Terminal Ready Salida 4DSR Data Ready State (UART establece el

vínculo)Entrada 6

DCD Data Carrier Detected. Se activa en caso de un acarreo

Entrada 1

RI Ring Indicator. Se activa cuando el modem detecta una señal ring del PSTN

Entrada 9

GND   Masa 5

Page 27: ARDUINO.pptx

Definición del puertoSe debe de definir el puerto

pasado en la dirección: 

◦COM1 0x3F8◦COM2 0x2F8◦COM3 0x3E8◦COM4 0x2E8

Page 28: ARDUINO.pptx

Configuración del puertoBioscom Bios serial Significado

0x020x03

_COM_CHR7_COM_CHR8

7 data bits8 data bits

0x000x04

_COM_STOP1_COM_STOP2

1 stop bit2 stop bits

0x000x080X10

_COM_NOPARITY_COM_ODDPARITY_COM_EVENPARITY

No parityOdd parityEven parity

0x000x200x400x600x800xA00xC00xE0

_COM_110_COM_150_COM_300_COM_600_COM_1200_COM_2400_COM_4800_COM_9600

110 baud150 baud300 baud600 baud1200 baud2400 baud4800 baud9600 baud

Page 29: ARDUINO.pptx

Usando librería… (abrir puerto) HANDLE OpenSerialPort(

char *psPort,DWORD dwBaudRate, BYTE dwByteSize,BYTE bParity,BYTE bStopBits, DWORD Timeout);

HANDLE hPort = OpenSerialPort("COM3",CBR_9600,8,NOPARITY,ONESTOPBIT,5000);

Page 30: ARDUINO.pptx

Usando librería…Cerrar Puerto

◦BOOL CloseSerialPort(HANDLE hPort);

Enviar Datos◦BOOL SerialSendByte(HANDLE hPort,

BYTE byte); Recibir Datos

◦BOOL SerialReceiveByte(HANDLE hPort, BYTE *pbyte, BOOL *PTimeout);