Añadir Bluetooth 4.0 para su proyecto de Arduino [Internet] - controlada por Smartphone (3 / 8 paso)

Paso 3: SPI, REQ, RDY y pasadores de primera (opcional)

Si no tienes el Arduino UNO como en el esquema, preste especial atención al número de pin del Arduino que conecte los cables. Los 3 primeros brotes, etiquetados SCK MISO y MOSI, deben ir a los pines 13, 12 y 11 respectivamente. Esto debe ser el mismo para todos ATMega328P Arduinos (Uno/Duemilanove). Si tienes otro Arduino, debe saber que pines son SPI y conectar a quienes en su lugar.

---------SPI-----------

Estos tres pines son importantes porque constituyen una unidad de hardware especial en el Arduino denominado la interfaz periférica Serial SPI. Pin 13 de Arduino es SCK (reloj Serial), MISO 12 (maestro de esclavos hacia fuera) y 11 MOSI (Master a Slave en). El SPI Arduino está conectado a un pin 3 equivalente unidad SPI en el nRF8001. El Arduino se comporta como el maestro y la nRF como el esclavo, aunque los roles pueden invertirse en teoría. El concepto de SPI es muy sencillo. Los clicks de pin SCK hacia arriba y hacia abajo en una plaza regularmente espaciado de la onda (onda cuadrada lo que significa tiene dos valores, altos o bajos). Por cada clic del pin SCK, el esclavo mira en MOSI y figuras hacia fuera si la tensión es alta o baja. El maestro hace lo mismo en el MISO. Si se lee un alto voltaje, es un '1'. Si se lee un bajo voltaje, es un '0'. De esta manera, una secuencia de 1s y 0s es transmitida y traducida a letras, números y comandos, que el software puede entonces actuar sobre. En el caso de los nRF8001, estos traducción Letras y números son transmitidos a través de la conexión Bluetooth con su teléfono. Las letras y números que el nRF8001 envía a tu Arduino son lo recibió desde el teléfono por Bluetooth.

SPI es un estándar de comunicación útil ya que sólo requiere 3 pines. Técnicamente SPI es sólo un protocolo y no tiene nada que ver con el hardware. Puede implementar una interfaz SPI en cualquier lugar siempre y cuando tienen 3 pines gratis y les puede encender y apagar. Muchos microcontroladores tienen hoy módulos SPI de hardware donde la aplicación se realiza en el circuito en vez de en el software. Esto permite la comunicación sobre SPI para hacerse mucho más rápido y con mayor precisión que sea posible si se hace en el código. El único inconveniente es que debe usar los pines SPI hardware dedicado, en contraposición a las patas de IO de propósito General.

-----------REQ--------------

Estrictamente hablando, sólo 3 pines están obligados a transmitir datos sobre una interfaz SPI. Sin embargo, pueden utilizarse clavijas adicionales para controlar el flujo de información. Estos pernos no necesitan ser parte de los circuitos del hardware de un SPI module y puede ser implementado en software, ya que no están implicados en los datos de alta velocidad de transferencia se. Un pin 4 es estándar, llamado el pin esclavo seleccione o Chip. En el nRF8001, el pin REQ toma el papel del perno seleccionar esclavo (SS). El pin SS permite múltiples dispositivos de esclavo SPI para conectarse a los mismos 3 pernos de hardware en el maestro (SCK, MOSI, MISO). Es decir, puede conectar 1 dispositivo SPI master 2, 3 o más esclavos y transmitir datos a cualquiera de ellos. Obviamente no es probable que todos los esclavos necesitan la misma información enviada a ellos por MOSI al mismo tiempo. Es donde entra el pin SS. Un esclavo sólo Lea las instrucciones que viene sobre su línea MOSI si ha sido seleccionado como el esclavo activo por tener su línea esclavo seleccione celebrada bajo. El maestro por lo tanto necesita un pin SS dedicado a cada esclavo conectado a las líneas SPI. Cuando quiere hablar con un esclavo particular, tiene el pin SS correspondiente a ese esclavo bajo, manteniendo todos los otros pines de SS alto. Sólo el esclavo elegido se comunicará hasta su SS pin se encuentra alta. El nRF8001 utiliza la línea REQ para saber cuándo se está permitiendo comunicar con el maestro Arduino. Si usted necesita comunicarse con otros dispositivos SPI (por ejemplo, un sensor o pantalla LCD), simplemente es necesario conectar otro gratis IO a pin SS pin del dispositivo y puede conectar clavijas SPI del dispositivo a los pines de Arduino SPI 3 mismo.

El pin REQ no tiene que ser pin 10 en el Arduino. Sin embargo, si se cambia se necesita cambiar la línea en el código que dice "#define ADAFRUITBLE_REQ 10" donde debe reemplazarse el número 10 con el pasador de conexión REQ a.

---RDY y RST---

Indica que el pin REQ para la nRF que Arduino quiere comunicarse a través de SPI. Cuando Arduino le pregunta comenzar a comunicarse activando el pin REQ, espera hasta que RDY cambia antes de realmente enviar datos, lo que indican que la nRF está lista para recibir. Asimismo, indica que el pin RDY a Arduino que la nRF quiere comunicar. Y además, después de cambiar el pin de la RDY, la nRF espera hasta que el Arduino cambia el pin REQ antes de realmente empezar a enviar datos.

El pin RDY es especial. Como los pines SPI, simplemente puede volver a asignar cualquier pin del Arduino. Se debe volver a asignar el otro perno capacidad de interrupción. Un pin de interrupción es uno que es monitoreada por el Arduino a nivel de hardware. Si una señal entra en el pin de interrupción, el Arduino detiene todo lo está haciendo y entra en una sección especial del código sobre el pin de interrupción. Esto es grande porque el Arduino no tiene que sentarse alrededor de comprobar si la nRF quiere hablar con él cada pocos milisegundos. Arduino puede hacer lo suyo y si entra los datos, se notificará inmediatamente. Esto ahorra energía de la batería, permite el enfoque de Arduino en otras tareas (incluido dormir) el 99.9% del tiempo que no hay datos está llegando por Bluetooth y hace que el Arduino es muy sensible cuando los datos llegan finalmente. Desde la perspectiva del código de usuario, no necesita lidiar con cualquier información comunicarse con el dispositivo Bluetooth en todo. Cuando se dispone de información "mágicamente" consigue poner en un lugar particular en la memoria (por el código de la interrupción detrás de las escenas) y sólo tenemos que leerlo.

El pin RST es sencillo. Básicamente "vuelve" el nRF8001 cuando se enciende. Esto se realiza por el código automáticamente cuando se restablece el Arduino sí mismo. Como el pin REQ, puede asignarse a cualquier pin de Arduino no utilizado, mientras el pin RST "#define ADAFRUITBLE_RST 9" en el inicio del código se modifica adecuadamente.

Artículos Relacionados

Añadir bluetooth A2DP interno para Ipod Mini (2G)

Añadir bluetooth A2DP interno para Ipod Mini (2G)

después de leer el proceso documentado de agregar bluetooth interno para el 4G y el iPod de 5G por Fstedie iba averiguar cómo hacer que funcione para el 2 G Mini. El resultado final es un Mini aspecto totalmente inalterado que tiene bluetooth estéreo
Construir un Cable de alimentación USB versátil para sus proyectos de Arduino

Construir un Cable de alimentación USB versátil para sus proyectos de Arduino

Prácticamente todos los proyectos pequeños de electrónica móvil necesitan energía. A menudo alimentación de 5 voltios funciona bien para micro controladores y sensores. Mi fuente favorita de energía 5V móvil son los bancos de potencia. Vienen en much
Controlada por SmartPhone Bluetooth Kit de Rover

Controlada por SmartPhone Bluetooth Kit de Rover

Hicimos un Smartphone controlado Rover Kit para nuestra campaña Kickstarterhttp://kck.st/1R3PIWE le mostraremos cómo hacer uno tú mismo. Los componentes pueden comprarse individualmente o visitan nuestra campaña para el Kit. Si quieres hacer uno uste
Arduino coche controlada por Bluetooth

Arduino coche controlada por Bluetooth

Todos que sabemos que Arduino es una plataforma excelente de prototipos, principalmente porque utiliza un lenguaje de programación amigable y hay un montón de componentes extra increíbles que nos proporcionan grandes experiencias.Podemos integrar el
Hacer su proyecto de Arduino wireless en minutos, con el escudo de inventores sin hilos

Hacer su proyecto de Arduino wireless en minutos, con el escudo de inventores sin hilos

el escudo de inventores utiliza un tubo sin hilos, que es un especial módulo de RF inalámbrico que le permite fácilmente y confiablemente, enviar y recibir datos inalámbrica libre de errores entre dos o más placas de Arduino.Es de largo alcance – dis
Adaptador para batería de Arduino taladro

Adaptador para batería de Arduino taladro

Este Instructable sirve un par de funciones. Primera y más sirve como una guía aproximada de una batería de litio Dewalt 12 voltios y para convertir con un Arduino y un punto de entrada en el concurso del láser de amplio espectro. En esta compilación
Mini protector de Motor para la prueba de arduino protoboard

Mini protector de Motor para la prueba de arduino protoboard

Escudo del motor pequeño, básico para probar proyecto con arduino.Su basado en transistor, pero si tiene mosfet smd, que mejor.Paso 1: Parte lista, circuito, pcb Lista de piezas:-BCX56 transistor (si no Mosfet)-un diodo (protección de arduino)-1K res
Añadir Bluetooth interno para un Acer Travelmate 4400/Aspire 5020 portátil.

Añadir Bluetooth interno para un Acer Travelmate 4400/Aspire 5020 portátil.

Instrcutable esta se hizo para mostrar cómo instalar un módulo interno Bluetooth USB en casi cualquier ordenador portátil. Digo casi todas porque el proceso debe ser similar, pero no tengo experiencia con cualquier laptop que no sea el mío (Acer Trav
Añadir Bluetooth Simple a Arduino

Añadir Bluetooth Simple a Arduino

A veces, cuando está empezando un nuevo proyecto, hay un montón de depuración continua en, y con una plataforma Arduino, utilizando el puerto serie que para escupir datos puede ser una herramienta muy útil. ¿Bueno lo que si no hay espacio para enchuf
Añadir Bluetooth a tu vieja-alta fidelidad del coche

Añadir Bluetooth a tu vieja-alta fidelidad del coche

Hola todo el mundo!En este rápido ible te mostraré otra forma de actualizar tu viejo coche con solo 5$ y menos de 30 minutos de trabajo. Si quieres ver la última actualización simple que hice en mi coche, tienes que ver mi ible "Termómetro – actualiz
Mapas para sus proyectos de 101

Mapas para sus proyectos de 101

¿Ha encontrado un proyecto o producto que utiliza mapas y pensamiento Oh, así que voy a hacer esto! pero al intentar hacerlo eventualmente tienes frustrado porque no podía encontrar un mapa con?No miedo más! Con sólo 9 pagos fáciles de 99$ cada usted
Crear Custom títulos en iMovie 09--agregar Logos e imágenes transparentes para tus proyectos de Video!

Crear Custom títulos en iMovie 09--agregar Logos e imágenes transparentes para tus proyectos de Video!

¿Desea Agregar títulos personalizados y las capas de la imagen transparente para tus proyectos de vídeo iMovie? Este tutorial te enseña cómo añadir archivos de imagen transparente png a imovie y superposición sobre el vídeo. Esto puede usarse para añ
Alive de WowWee de Elvis para el proyecto de Elivinator

Alive de WowWee de Elvis para el proyecto de Elivinator

Hola a todos, me gustaria presentarle un proyecto que he comenzado desde el primero del año. Todo sucedió cuando vi busto de Elvis vivo de WowWee. He estado trabajando en una cabeza animada y hasta me visto. Esto era justo lo que estaba buscando, una
Cómo hacer un dispensador de pasta de soldadura para los proyectos de SMD...

Cómo hacer un dispensador de pasta de soldadura para los proyectos de SMD...

Recientemente construí un horno de reflujo SMD usando un horno tostador y un kit de controlador. Esto ha hecho muy fácil para la soldadura de SMD PCB (placas de circuito impreso del dispositivo de montaje superficial). Simplemente ponga gotas de past