Voir la source de XBee shield Arduino
De Wiki Arobose
Aller à :
Navigation
,
rechercher
La [http://www.dfrobot.com/wiki/index.php/Xbee_Shield_For_Arduino_%28no_Xbee%29_%28SKU:DFR0015%29 shield Arduino Xbee] de DRFobot permet d'accueillir le [http://www.digi.com/fr/products/wireless/point-multipoint/xbee-series1-module module Xbee] de digi qui convertit les signaux Xbee en commande série. == Shield XBee == Cette shield est une solution simple pour communiquer sans fil (ondes radio) en utilisant la liaison série de la Arduino. Elle est équipée de 2 interrupteurs : - RUN/PROG : La programmation de la Arduino via le cable USB utilise la liaison série. Pour éviter d'avoir à enlever la shield pour programmer la Arduino, il faut positionner l'interrupteur sur PROG. La liaison série entre la Arduino et la shield sera coupée et la shield ne perturbera pas la programmation. Quand la programmation de la Arduino est terminée, l'interrupteur devra être positionné sur RUN pour utiliser la communication Xbee du programme de la Arduino. - XBEE/USB : En position XBEE, c'est la communication série via Xbee qui est activée. En position USB, c'est la communication série via USB qui est activée. == Exemple == Nous utilisons une Arduino UNO (ATMEGA328P) avec la shield et un module Xbee S1. Nous envoyons des caractères au PC en utilisant un adaptateur Xbee/USB et un module Xbee S1. Ces caractères sont lus dans un terminal série. === Langage C === Dans un premier temps, nous allons configurer la liaison série. Le message envoyé contient 8 bits de données et 1 bit de stop sans contrôle de parité. La vitesse de transmission est de 9600 bauds. La fonction usart_0_transmit() permet d'envoyer un octet (caractère). La fonction principale envoie les 14 caractères « Hello World ! » en boucle toutes les 2 secondes. <syntaxhighlight lang="c"> /* setup USART0 * speed : 9600 Baud * 8-bits, no parity, 1-stop-bit */ void usart_0_setup(void) { //#if F_CPU == 16000000UL UBRR0 = 103; /* 9600 Baud at 16MHz */ // elsif F_CPU == 20000000UL // UBRR1 = 129 /*9600 Baud at 20 MHz */ UCSR0A = 0; UCSR0B = 0; /* 8-bits, no parity, 1-stop-bit */ UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); DDRD |= (1 << PD1); /* initialize pin PD1 (TX) as output pin */ UCSR0B |= (1 << TXEN0); /* enable transmitter */ } // transmit a char void usart_0_transmit(uint8_t data) { // wait for empty transmit buffer while (!(UCSR0A & (1 << UDRE0))) ; // put data info buffer, sends the data UDR0 = data; } int main(void) { uint8_t c[14] = { "Hello world !\n" }; usart_0_setup(); while (1) { for (uint8_t i = 0; i < 14; i++) { usart_0_transmit(c[i]); } _delay_ms(2000); } return 1; } </syntaxhighlight> [[Category:Produits]]
Revenir à la page
XBee shield Arduino
.
Affichages
Page
Discussion
Voir le texte source
Historique
Outils personnels
Connexion
Navigation
Accueil
Communauté
Actualités
Modifications récentes
Page au hasard
Aide
Rechercher
Boîte à outils
Pages liées
Suivi des pages liées
Pages spéciales
Catégories
[
×
]
Produits
[
×
]
Tutoriels