Programación de placas de microcontroladores arduino.

Se considera la programación de placas de microcontroladores Arduino/Genuino/Freeduino. Se describe la estructura y funcionamiento de los microcontroladores, el entorno de programación Arduino, las herramientas y componentes necesarios para la realización de experimentos. Se analizan en detalle los conceptos básicos de la programación de placas Arduino: estructura del programa, comandos, operadores y funciones, entrada/salida de datos analógicos y digitales. La presentación del material va acompañada de más de 80 ejemplos sobre el desarrollo de diversos dispositivos: un relé de temperatura, un reloj escolar, un voltímetro digital, una alarma con sensor de movimiento, un interruptor de alumbrado público, etc. Para cada proyecto, un Se proporciona una lista de componentes necesarios, un diagrama de cableado y listados de programas. El sitio web del editor contiene códigos fuente de ejemplos del libro, descripciones técnicas, datos de referencia, entorno de desarrollo, utilidades y controladores.
La segunda edición cubre la versión en ruso del IDE de Arduino, agrega información sobre las peculiaridades del uso de caracteres cirílicos y también corrige errores tipográficos en el código del programa.

Editorial: BHV-Petersburgo.
Tapa blanda, 256 págs.
ISBN 978-5-9775-3680-6

Prefacio................................................. ....................................................... ............. ................ once
Introducción................................................. ....................................................... ............. ........................ 13
Preparación para experimentos................................................ ......... ........................................ ................. ....... 13
Licencia GPL ................................................. .................................................... ........................................ 14
Requisitos del sistema................................................ ................... ................................. ........................ ................... 14
Actualizaciones y soporte................................................. .... ................................................. ............ 14
Materiales adicionales que acompañan al libro................................................ ...... ................. 14
Capítulo 1. Información general sobre microcontroladores. .................................................... 15
1.1. Estructura y principio de funcionamiento del controlador.................................... .......... ............................. dieciséis
1.1.1. UPC................................................ . ................................................. ..... . dieciséis
1.1.2. RAM y memoria de programa................................................ ................... ........................... dieciséis
1.2. Dispositivos externos................................................ ........................................................ ............ ............ 18
1.3. Comparación de tecnologías CISC y RISC ................................................ ........................................................ 18
1.3.1. Tecnología CISC................................................ .... ................................................. ............ 18
1.3.2. Tecnología RISC................................................ .... ................................................. .......... ............ 20
1.3.3. Conclusiones................................................. ................................................. ........................................ 20
Capítulo 2. Programación de microcontroladores ................................................. 21
2.1. ¿Cuál es el programa? ................................................. ............................................................ ............ ........ 21
2.2. Programación en C................................................. ................................. ................................. ........................ 21
Capítulo 3. Breve descripción general de la familia de microcontroladores Arduino ....................... 23
Capítulo 4. Placas de expansión Arduino ........................................................................ 31
4.1. Placa de expansión Arduino ProtoShield................................................ ........................................ 31
4.2. Placa de expansión Ardumoto ................................................ ................ .................................. ........................ 32
4.3. Placa de expansión TellyMate ................................................ ..... ................................................. .......... 33
4.4. Placa de expansión ArduPilot ................................................ ..... ................................................. ................. .34
4.5. Módulos XBeeZNet ................................................ .................................................... ......... ................. 34
4.6. Tarjeta de expansión Ethernet ................................................. ............................................................ ............. 35
Capítulo 5. Accesorios ............................................................................. 37
5.1. Lista de componentes principales................................................ ........................................................... .... 37
5.2. Lista de piezas para experimentos adicionales................................... ....... ............ 38
5.3. Placa experimental Freeduino ................................................ ..... ................................... 38
5.3.1. Conexión de la placa Freeduino ................................................ ..... .......................................... 38
5.3.2. Fuente de alimentación................................................ ........................................................ ............ ............ 39
5.3.3. Botón de reinicio ................................................ .... ................................................. ......................... 41
5.3.4. Conexión ISP................................................ ........................................................ ............ ............ 41
5.4. Notas de seguridad................................................ ................... ................................. ...... 41
Capítulo 6. Componentes electrónicos y sus propiedades. ................................................. 43
6.1. LED................................................. ....................................................... ............. .......................... 43
6.2. Resistencias................................................ ....................................................... ............. .......................... 44
6.3. Condensadores................................................ ....................................................... ............. .......................... 45
6.4. Transistores................................................ ....................................................... ............. .......................... 46
6.5. Diodos................................................. ....................................................... ............. ................................... 46
6.6. Transductor piezoeléctrico acústico (“squeaker”) ........................................ .......................... 46
6.7. Cable de instalación................................................ .................................................... ........................ 47
6.8. Botón................................................. ................................................. ........................................ 47
6.9. Potenciómetro................................................. ................................................. ........................................ 47
6.10. Fotorresistor................................................. ....................................................... ............. ................... 48
6.11. Placa de pruebas con tomas de contacto................................................ ........................................ 48
Capítulo 7. Preparación preliminar ..................................................................... 51
7.1. Instalación del software Arduino en Windows ................................................ ................. 52
7.2. Instalación del software Arduino en Linux................................................ ....... .... 53
7.3. Instalación del software Arduino en Mac OS X ................................. ......... .... 54
Capítulo 8. Entorno de desarrollo Arduino ........................................................................... 57
8.1. Configuración inicial del IDE de Arduino ................................. ........................................................ 59
8.2. Nuestro primer programa: ES_Blinkt ................................................. .................................................... 61
8.3. ¿Qué hemos hecho? ................................................. ............................................................ ............ ................. 63
Capítulo 9. Conceptos básicos de la programación Arduino y primeros experimentos. ........... 65
9.1. Bits y bytes................................................. ......... ........................................ ............... ........................... sesenta y cinco
9.2. Estructura básica del programa................................................. ............................ ................................ ........................ 66
9.2.1. Ejecución secuencial del programa................................................ ................................. 66
9.2.2. Interrumpir la ejecución del programa................................................ ................................................. 66
9.3. Estructura del programa Arduino ................................................. ..... .......................................... 67
9.4. Primer programa para Arduino ................................................ ............................................................ ....... 68
9.5. Comandos de Arduino y sus aplicaciones................................................ ....................................................... .... 69
9.5.1. Comentarios en el texto fuente................................................ ........................................................ 69
9.5.2. Llaves ( ) ................................................ ............................................................ ............ ......... 70
9.5.3. Punto y coma; ................................................. ............................................................ ............................ 70
9.5.4. Tipos de datos y variables................................................ ..... ................................................. .. 70
9.5.5. Nombre de la variable................................................ ........................................................ ............ ............ 70
9.5.6. Variables locales y globales................................................ .................................................. 71
9.5.7. Varios tipos de datos................................................. ......... ........................................ ................. .. 71
Variable de tipo booleano ................................................ ..... ................................................. ........... ... 71
Variable de tipo Byte ................................................ ..... ................................................. ......... ......... 71
Variable de tipo Char ................................................ ..... ................................................. ........... .......... 72
Variable de tipo Unsigned Char ................................................. ....................................................... 72
Variable de tipo Int (Entero) ................................................. ......... ........................................ ................. 72
Variable de tipo Unsigned int ................................................. ....................................................... .... 72
Variable de tipo largo ................................................. .... ................................................. ...................... 72
Variable de tipo Unsigned Long ................................................. ....................................................... 72
Variable de tipo Flotante ................................................ ..... ................................................. ........... ....... 72
Variable de tipo Cadena ................................................ ..... ................................................. ........... ...... 73
Matrices ................................................. .................................................... ......... ................... 73
9.5.8. Operadores................................................ ....................................................... ............. ........................ 75
Operadores aritméticos................................................ ......... ........................................ ...... 75
Operadores de comparación................................................ ......... ........................................ ............... .......... 75
Aritmética bit a bit................................................ .................................................... ......... ...... 75
Aritmética booleana................................................ .................................................... ......... ............ 75
Valor creciente y decreciente................................................ ..... ................................... 75
Constantes................................................ ....................................................... ............. .......................... 76
9.5.9. #definir directiva ................................................. .... ................................................. .......... ............ 76
9.5.10. Estructuras de Control................................................ ........................................................ 76
La sentencia if ................................................. .... ................................................. .......................................... 76
Declaración si... más ................................................ ....................................................... ............. ................... 77
Diseño de la caja del interruptor .................................. ..... ................................................. ........... ..... 80
9.5.11. Ciclos................................................ ....................................................... ............. .......................... 81
El bucle for ................................................. ..... ................................................. ........................................... 82
Bucles while y do while ................................................ ....................................................... ............. ......... 83
9.5.12. Funciones y procedimientos................................................. .................... ................................ ........................ ...85
Subrutina................................................ ....................................................... ............. ................... 85
Función................................................. ................................................. ........................................ 86
Continuar comando................................................ .... ................................................. .......................... 87
9.5.13. Funciones de conversión de tipos.................................. .................... ................................ ....... 88
9.5.14. Funciones matemáticas................................................ .................................................... 88
Función mín(x, y) ................................. .... ................................................. ......................... 88
Función máx(x, y) ................................................ .... ................................................. .......................... 89
Función abs(x) ................................................ ............................................................ ............ ........................ 89
Restricción de función (x, a, b) ........................................ ............................................................ ............ ......... 90
Mapa de funciones (x, desdeBajo, desdeAlto, hastaBajo, hastaAlto) ................................. ................... 91
Función pow(base, exponente) ................................. .... ................................................. .......... 91
Función cuadrado(x) ................................................ ............................................................ ............ ........................ 92
Función raíz cuadrada(x) ................................................ .... ................................................. ...................................... 93
Función pecado(rad) ................................................ ............................................................ ............................ 93
Función cos(rad) ................................................ ............................................................ ............................ 94
Función tan(rad) ................................................ ............................................................ ............................ 94
9.5.15. E/S serie................................................ ................... ................................. ......... 95
Función Serial.begin(Velocidad en baudios) ................................. .................................................... 96
Función serial.end() ................................................ ....................................................... ............. ................ 97
Función Serial.read() ................................................ ....................................................... ............. ............. 97
Función Serial.available() ................................................ ....................................................... ............. ..... 97
Función serial.flush() ................................................ ....................................................... ............. ............ 98
Función Serial.print() ................................................ ....................................................... ............. ............ 98
Función Serial.println() ................................................ ..... ................................................. ....... ....... 100
Función Serial.write() ................................................ ....................................................... ............. .......... 101
Problemas con la salida del alfabeto cirílico al puerto serie IDE de Arduino ......................... 102
9.5.16. Funcionamiento de la interfaz serie................................................ ........................ .. 102
Lectura de una cadena de caracteres a través de la interfaz serie................................. 103
Salida de datos en serie con cálculo................................................ ....... ................ 104
9.5.17. Emulación de software UART ................................................ ..... .................................... 105
9.5.18. Configuración de E/S e instalación de puertos................................. ......... ............. 107
Función pinMode(pin, modo) ................................. .... ................................................. .......... 107
Función DigitalRead(pin) ................................................ ....................................................... ............. .... 107
Función escritura digital(pin,valor) ................................. .... ................................................. 107
Lectura del estado del botón................................................ ................................. ................................. ................ 108
Pulsador con resistencia terminal................................................ ........................................ 110
Botón con resistencia pull-up externa................................................. ......... ................. 111
9.5.19. Entrada de datos analógicos y ADC................................................ .................... ................................ ..... 112
función lectura analógica(pin) ................................................ .... ................................................. .......... ... 113
9.5.20. Salidas analógicas PWM................................................ .................... ................................ ............. 115
Comando analogWrite(pin, valor) ................................. .... ................................................. 116
9.6. Algunas funciones especiales................................................. ......... ........................................ 119
9.6.1. Establecer una pausa................................................. .... ................................................. ...................... 119
Usando el comando delay() ................................................ ....................................................... ........ 119
Usando el comando micros() ................................................ ....................................................... .... 119
9.6.2. Funciones de números aleatorios.................................. .................... ................................ ................. 120
Función semilla aleatoria(semilla) ................................................. ....................................................... ............. .120
Función aleatoria(mín, máx) ................................. .... ................................................. .......... ... 120
9.6.3. ¿Cuanto tiempo ha pasado? ................................................. ........................................................ 122
Función Millis() ................................................ ........................................................... ................. ................. 123
Función micros()................................................ ................................................. ...... ................. 123
Capítulo 10. Continuamos experimentos con Arduino. .................................................. 125
10.1. Control del nivel de brillo del LED con transistor................................... ........ ....... 125
10.2. Parpadeo suave................................................. .................................................... ......... ................. 127
10.3. Supresión del rebote de los contactos de los botones.................................... ........................................ 130
10.4. Retardo de encendido................................................ ......................................... ................ ......... 135
10.5. Retardo de apagado................................................ ................ .................................. ........................ ...... 136
10.6. Arduino y LED................................................ .... ................................................. ......... 137
10.7. Conexión de grandes cargas................................................. .................... ................................ .......... 140
10.8. DAC basado en puerto PWM................................................ ............................................................ ............ 142
10.9. Es más divertido con música… ................................................ ................. ................................ ........................ .......... 146
10.10. Velada romántica con un microcontrolador a la luz de las velas.................................... ......... .. 148
10.11. Control de personal en el puesto de control................................................. ............................................ 150
10.12. Reloj en tiempo real............................................... ......... ........................................ ................. .152
10.13. Programa de horario escolar................................................. ......... ........................................ .. 154
10.14. Control del ventilador................................................ ........................................................ ..... 157
10.15. Alumbrado público automático................................................. ......... ........................................ .. 160
10.16. Señalización................................................. ................................................. ...... ................. 162
10.17. Bloqueo de código................................................ .................................................... ......... ................. 164
10.18. Medidor de capacitancia de rango automático................................... ................. 168
10.19. Lectura profesional de la resistencia del potenciómetro................................. 171
10.20. Sensor tactil................................................ ........................................................ ................................ 172
21.10. Máquina finita................................................ ........................................................ ................................ 174
10.22. Voltímetro de seis canales basado en Arduino ................................................ ......... ................. 177
10.23. Programación del registrador de tensión................................................ ................... .................... 180
24.10. Osciloscopio con memoria basado en Arduino ................................................. ........................................ 182
10.25. StampPlot es un registrador de datos profesional gratuito....... 184
26.10. Controlando el microcontrolador desde el programa VB.NET Puertos ................................. 188
27.10. Relé de temperatura................................................ ........................................................ ................................ 190
Capítulo 11. Autobús I2C ..................................................................................................... 193
11.1. Transmisión de bits................................................ ......... ........................................ ................. ................... 194
11.2. Estado de INICIO................................................ .................................................... ......... ............. 194
11.3. Estado DETENER................................................ .................................................... ......... ................. 194
11.4. Transferencia de bytes................................................ .................................................... ......... ................. 194
11.5. Confirmación................................................. ................................................. ...... ................. 195
11.6. Direccionamiento................................................. ................................................. ........................................ 195
11.7. Direccionamiento de 7 bits................................................ ..... ................................................. ........... .......... 195
Capítulo 12. Sensor de temperatura Arduino y LM75 en el bus I2C ....................... 197
Capítulo 13. Chip PCF8574: expansor de puerto I2C ............................... 201
Capítulo 14: Alcance ultrasónico ....... 205
14.1. Sensor ultrasónico SRF02 ................................................ ..... .......................................... 205
14.2. Lectura de datos................................................ ........................................................ ................................ 206
Capítulo 15. Conexión de la placa Arduino con un dispositivo GPS ................................. 209
15.1. ¿Cuántos satélites se necesitan? ................................................. ........................................................ 210
15.2. ¿Cómo conectar el receptor GPS a Arduino? ................................................. ........................ 210
15.3. Protocolo GPS................................................ ........................................................ ................ ................... 212
Capítulo 16: Conexión del servo a la placa Arduino ...................................... 217
16.1. ¿Cómo funciona un servoaccionamiento? ................................................. ........................................................ 217
16.2. Conexión del variador a Arduino ................................................ ....................................................... 218
Capítulo 17. Pantallas de cristal líquido ........................................................... 221
17.1. Polarización de pantallas................................................. .... ................................................. ...... 222
17.2. Control estático y modo multiplex................................................. ....... .......... 222
17.3. Ángulo de visión................................................ .................................................... ......... ........................ 223
17.4. LCD reflectantes, transmisivos y translúcidos................................... ...... 223
17.5. Ajuste del contraste de la pantalla................................................ ................................. ................................. ....... 223
17.6. Conjunto de caracteres mostrados................................................ ................................. ................................. ................ 225
17.7. Ubicación de los pines de las pantallas LCD comunes................... ....... ................ 227
17.8. Controlar la pantalla desde un microcontrolador................................................. ......................... 228
17.9. Inicializando pantallas................................................ .................................................... ......... .228
17.10. Conexión de la pantalla a Arduino ................................................ ........................................................ 230
17.11. Primer experimento con LCD................................................ ........................................................... .... 232
17.12. ¿Cómo funciona todo? ................................................. ............................................................ ....... 234
APLICACIONES .......................................................................................................... 237
Apéndice 1. Correspondencia de los pines de la placa Arduino
y controlador ATmega ................................................. .... ................................................. ..... 239
Apéndice 2. Secuencias de escape................................................ ....... ................ 241
Apéndice 3. Tabla ASCII ................................................. ................................................... 243
Anexo 4. Descripción del archivo electrónico................................................ ......... ........ 249
Índice de materias................................................ ................................................ 251

La plataforma Arduino mejora constantemente y las actualizaciones se pueden descargar de forma gratuita desde el sitio web www.arduino.cc

Se puede descargar un archivo electrónico con materiales adicionales que acompañan al libro desde el enlace ftp://ftp.bhv.ru/978597736806.zip. El enlace también está disponible en la página del libro en el sitio web www.bhv.ru.
El archivo contiene el software necesario, herramientas de programación, hojas de datos técnicos y diagramas esquemáticos de dispositivos y componentes, así como códigos de programa para los ejemplos discutidos en el libro.

El otro día me convertí en propietario de un libro publicado recientemente en ruso, “Programación de placas de microcontroladores Arduino/Freeduino”. Como uno de los primeros compradores, me apresuro a contarle a la comunidad lo que vi en él.

Producción

Título original: Arduino: Mikrocontroller-Programming mit Arduino/Freeduino, 978-3-6456-5064-9, 2010
Autor: Ulli Sommer
Traductor: Viktor Bukirev
Editorial: BHV-Petersburgo
ISBN 978-5-9775-0727-1; 2012 (?!)

La primera mitad del libro está dedicada a los conceptos básicos del trabajo con Arduino. Me centraré específicamente en los siguientes capítulos:
Capítulo 3. Se ofrece una descripción general de la familia Arduino. Por desgracia, ya tiene dos años de antigüedad. Los Duemilanove y Mega que se muestran en el libro ya no están en producción. El nuevo Uno no se menciona, porque... al momento de escribir este artículo, aún no se ha publicado.
Capítulo 4. Tableros de expansión populares. Desafortunadamente, se describen 6 tableros de manera muy breve y aburrida. Además, hay muchos más foros interesantes. De todos modos, estos tableros no se utilizan en los bocetos siguientes.
Capítulo 6. Componentes electrónicos y sus propiedades. Muy superficial y breve. Es imposible estudiar por qué se necesita tal o cual elemento en este capítulo.
Capítulo 9. Conceptos básicos de programación. Las explicaciones aquí son bastante claras y detalladas. Aunque, por supuesto, no se describen todas las características del idioma, será ideal para principiantes.

La segunda mitad del libro contiene ejemplos de trabajo ya preparados. Los capítulos separados cubren el trabajo con I 2 C, GPS, servos y LCD.
No se deje engañar por los "Más de 80 proyectos prácticos" de la portada. Hay 30 de ellos en el libro. El número 80 probablemente significa el número de listados.
Yo diría que la mayoría de los ejemplos son bastante aburridos, demasiado simples y alejados de la vida. Por ejemplo, "10.12 Real Time Clock" en realidad solo usa el temporizador interno de Arduino. Y la "farola automática", dependiendo de la iluminación, enciende o apaga el LED en el pin 13. No sé qué puede iluminar esto :) La interfaz con una computadora también está muy mal descrita.
El trabajo con la pantalla LCD es más o menos normal. Pero en el apartado del GPS ni siquiera explica qué hace este programa.

Por otra parte, me gustaría señalar el ritmo "desigual" de la presentación. Algunas cosas se describen en detalle, otras de pasada, a veces simplemente se proporciona el código del programa; descúbralo usted mismo.

Perdido en la traducción

El gran inconveniente del libro (para mí) es que las inscripciones del alemán en las capturas de pantalla y algunos diagramas no fueron traducidas. Solo se han traducido algunos comentarios del código y todas las variables y mensajes de salida permanecen en el idioma original.
No veo nada malo en esto cuando el libro es una traducción del inglés, algo que todos los programadores conocen. Pero es muy difícil digerir los nombres de las variables en alemán cuando en alemán sólo conoces “Hyunde Hoch” y “Ich Liebe Kompitterspielen und Programiren” :)
¿Por qué el editor eligió un libro alemán cuando ya se han publicado varios en inglés?

conclusiones

Ventajas del libro:
  • precio bajo
  • diseñado para principiantes
  • Buen curso de introducción a la programación.
  • Los ejemplos simples son buenos para principiantes.
  • una de las pocas fuentes de información sobre Arduino en ruso
Defectos:
  • Para los ingenieros experimentados de Arduino, los ejemplos serán francamente poco interesantes.
  • los conceptos básicos de la electrónica en realidad no están cubiertos
  • El código del programa no ha sido traducido del alemán, al igual que algunos de los diagramas y capturas de pantalla.
  • el libro está un poco desactualizado
  • Las placas de expansión se describen superficialmente, no hay ejemplos con ellas.


Se considera la programación de placas microcontroladoras Arduino/Freduino. Se describe la estructura y funcionamiento de los microcontroladores, el entorno de programación Arduino, las herramientas y componentes necesarios para la realización de experimentos. Se analizan en detalle los conceptos básicos de la programación de placas Arduino: estructura del programa, comandos, operadores y funciones, entrada/salida de datos analógicos y digitales. La presentación del material va acompañada de más de 80 ejemplos sobre el desarrollo de diversos dispositivos: un relé de temperatura, un reloj escolar, un voltímetro digital, una alarma con sensor de movimiento, un interruptor de alumbrado público, etc. Para cada proyecto, un Se proporciona una lista de componentes necesarios, un diagrama de cableado y listados de programas.
El servidor FTP del editor contiene códigos fuente de ejemplos del libro, descripciones técnicas, datos de referencia, entorno de desarrollo, utilidades y controladores.

Placas Arduino con capacidades de host USB

Algunas placas Arduino tienen capacidades de host USB, lo que le permite conectarles dispositivos USB tradicionales (teclados, ratones, teléfonos Android). Naturalmente, se necesitarán controladores adicionales para admitir estos dispositivos. Por ejemplo, no puedes simplemente conectar una cámara web al Arduino Due e inmediatamente esperar recibir fotos. Arduino Due admite la clase USB Host, que le permite conectar un teclado o mouse a un puerto USB. El Arduino Mega ADK es compatible con el protocolo de accesorios abiertos de Android (AOA), lo que facilita la comunicación entre Arduino y un dispositivo Android. En primer lugar, es necesario controlar las E/S de Arduino desde una aplicación que se ejecuta en dispositivos Android.

Sondeando Arduino desde la computadora

La función principal que proporciona la interfaz serie es enviar datos desde el Arduino al terminal de la computadora. Esto ya se ha mencionado en capítulos anteriores. Entraremos en más detalles en esta sección y luego veremos ejemplos de aplicaciones que responden a los datos que usted envía en lugar de simplemente imprimirlos en el terminal. Este proceso es el mismo para todas las placas Arduino.

A diferencia de otros programas de terminal, el puerto serie Arduino IDE monitorea cuando se presiona una tecla o el botón Enviar envía la línea de comando completa. Otros terminales serie, como Putty, envían caracteres inmediatamente después de introducirlos.

Leer información desde una computadora u otro dispositivo serie

Al ejecutar Arduino IDE Serial Monitor, puede enviar comandos manualmente al Arduino. A continuación, veremos cómo enviar secuencias de caracteres y cómo crear una GUI sencilla para enviar comandos.

El puerto serie Arduino tiene un búfer. En otras palabras, puede enviar varios bytes de datos a la vez y Arduino los pondrá en cola y los procesará en el orden previsto por su programa. La velocidad de transferencia de datos no es particularmente crítica, pero enviar demasiados datos puede provocar un desbordamiento del búfer y pérdida de información.

Placa Arduino como traductor de datos.

La forma más sencilla es hacer que la placa Arduino responda a todo lo que se le pasa. Para hacer esto, la placa Arduino debe recordar y luego generar cada carácter recibido. Para hacer esto, necesitará dos nuevas funciones:

Creando una aplicación informática

Con el tiempo, se cansará de “hablar” con la placa Arduino a través del monitor del puerto serie Arduino IDE. Es mucho más conveniente trabajar con una aplicación escrita en un lenguaje de programación que tenga bibliotecas para la comunicación a través de un puerto serie. Puede utilizar su lenguaje de programación favorito para escribir un programa que envíe comandos en serie a la placa Arduino y reciba datos transferidos desde el Arduino a la computadora.

El lenguaje de programación Processing elegido en este libro se debe a que es muy similar al lenguaje Arduino con el que ya está familiarizado. De hecho, ¡el lenguaje de programación Arduino se basa en Processing! Otros lenguajes de programación populares que tienen bibliotecas extensas para trabajar con el puerto serie son Python, PHP, Visual Basic, C, etc. Primero, descubramos cómo leer los datos seriales transmitidos en Processing y luego aprendamos cómo usarlos para crear una interfaz gráfica de usuario (GUI) simple para enviar comandos a la placa Arduino.

Interfaz de procesamiento

La interfaz de programación de Processing es bastante sencilla y similar a la que ya conoce al programar Arduino. En esta sección, instalará Processing y luego escribirá una GUI simple para mostrar los datos enviados desde la placa Arduino a través del puerto serie. Después de esto, implementas la comunicación en dirección inversa para controlar la placa Arduino desde una aplicación instalada en tu computadora.

San Petersburgo: BHV-Petersburgo, 2012. - 256 p. - (Electrónica). — ISBN978-5-9775-0727-1 Se considera la programación de placas de microcontroladores Arduino/Freduino. Se describe la estructura y funcionamiento de los microcontroladores, el entorno de programación Arduino, las herramientas y componentes necesarios para la realización de experimentos. Se analizan en detalle los conceptos básicos de la programación de placas Arduino: estructura del programa, comandos, operadores y funciones, entrada/salida de datos analógicos y digitales. La presentación del material va acompañada de más de 80 ejemplos sobre el desarrollo de diversos dispositivos: un relé de temperatura, un reloj escolar, un voltímetro digital, una alarma con sensor de movimiento, un interruptor de alumbrado público, etc. Para cada proyecto, un Se proporciona una lista de componentes necesarios, un diagrama de cableado y listados de programas.
El servidor FTP del editor (hay un enlace en el libro) contiene códigos fuente para ejemplos del libro, descripciones técnicas, datos de referencia, entorno de desarrollo, utilidades y controladores. Arduino es una plataforma de código abierto fácil de aprender basada en un. Microcontrolador incorporado y un entorno de desarrollo con interfaz API de software para microcontroladores. Para la interacción entre una persona y un microcontrolador, se pueden conectar varios sensores analógicos y digitales para registrar el estado del medio ambiente y transmitir datos al microcontrolador. El microcontrolador procesa los datos entrantes y el programa produce nuevos datos en forma de valores analógicos o digitales. Como resultado, se abren amplios horizontes para la creatividad.
El desarrollador tiene a su disposición programas y bibliotecas de funciones listas para usar del entorno de programación Arduino. Al combinar hardware y software, puede utilizar este libro para conectar nuestro mundo real con el mundo de un microcontrolador, que se compone de bits y bytes. Información general sobre microcontroladores.
Estructura y principio de funcionamiento del controlador.
Dispositivos externos
Comparación de tecnologías RISC y CISC Programación de microcontroladores
¿Cuál es el programa?
Programación en C Breve descripción general de la familia de microcontroladores Arduino
Mega placa Arduino
Placa Arduino Duemilanove
Mini placa Arduino
placa arduino nano
Mini placa Arduino Pro
placa arduino pro
Tablero LilyPad
adaptador USB placas de expansión arduino
Placa de expansión Arduino ProtoShield
placa de expansión ardumoto
Placa de expansión TellyMate
Placa de expansión ArduPilot
Módulos XBeeZNet
tarjeta de expansión ethernet Componentes
Lista de componentes principales
Lista de piezas para experimentos adicionales.
Placa Experimental Freeduino
Placa experimental del microcontrolador Freeduino
Fuente de alimentación
Botón de reinicio
conexión ISP
Notas de seguridad Componentes electrónicos y sus propiedades.
LED
Resistencias
Condensadores
Transistores
Diodo
Transductor piezoeléctrico acústico ("squeaker")
Cable de montaje
Botón
Potenciómetro
fotorresistor
Placa de montaje con casquillos de contacto Preparación preliminar
Instalación del controlador
Programa auxiliar MProg para FT232RL
Programando el chip FT232R usando MProg
Instalación del software Arduino Entorno de desarrollo Arduino
Configuraciones en Arduino-IDE
Nuestro primer programa "ES_Blinkt"
¿Qué hemos hecho? Conceptos básicos de programación Arduino
bits y bytes
Estructura básica del programa
Estructura del programa Arduino
Primer programa con Arduino
Comandos Arduino y sus aplicaciones
Algunas características especiales Más experimentos con Arduino
Control de brillo LED con transistor
Parpadeo suave
Antirrebote de contacto de botón
Con retraso
Retraso de apagado
LED y Arduino
Conexión de grandes cargas
DAC basado en puerto PWM
Todo es más divertido con música.
Luz romántica de velas mediante un microcontrolador
Control de personal en el puesto de control.
Reloj en tiempo real
programa de horario escolar
Control del ventilador
Alumbrado público automático
Señalización
Bloqueo de código
Medidor de capacitancia de rango automático
Lectura de resistencia del potenciómetro profesional
Sensor tactil
Máquina estatal
Voltímetro de 6 canales basado en Arduino
Programación del registrador de voltaje
Osciloscopio con memoria basado en Arduino
StampPlot - Registrador de datos profesional gratuito
Control a través de VB.NET
Relé de temperatura Autobús I2C
Transmisión de bits
Estado "INICIAR"
Estado "PARADA"
transferencia de bytes
Confirmación
Direccionamiento
direccionamiento de 7 bits
Sensor de temperatura Arduino y LM75 con bus I2C
Expansor de puerto I2C con PCF8574 Sensor de rango ultrasónico
Sensor ultrasónico SRF02
Leyendo datos Emparejamiento de la placa Arduino con GPS
¿Cuántos satélites se necesitan?
¿Cómo conectar GPS a Arduino?
protocolo gps Servo con placa Servo para Arduino
¿Cómo funciona un servoaccionamiento?
Conexión del disco a Arduino Pantallas de cristal liquido
Polarización de la pantalla
Control estático y modo multiplex.
Ángulo de visión
LCD reflectantes, transmisivos y translúcidos
Configurar el contraste de la pantalla
Juego de caracteres de visualización
Disposición de pines de pantallas LCD comunes
Control de pantalla desde un microcontrolador.
Inicializando pantallas
Conexión de la pantalla a Arduino
Primer experimento con LCD
¿Cómo funciona todo? Aplicaciones
Correspondencia entre pines Arduino y ATmega
Secuencias de escape
tabla ASCII
Lista de proveedores de componentes
Descripción del disco
Índice de materias




Arriba