Émission de données (RTC)/Réception, adressage et affichage des données sur plusieurs shields : Différence entre versions

De Wiki L.A.B
Aller à : navigation, rechercher
(Page créée avec « == Etape 1 : tester l’écran LCD avec la carte Arduino == On souhaite réaliser un code pour afficher un texte sur notre écran LCD branché à notre carte Arduino UNO... »)
 
(Etape 1 : tester l’écran LCD avec la carte Arduino)
Ligne 1 : Ligne 1 :
== Etape 1 : tester l’écran LCD avec la carte Arduino ==
+
== Etape 1 : Communication entre 3 CAN Bus Shields : 1 émetteur et 2 récepteurs ==
  
On souhaite réaliser un code pour afficher un texte sur notre écran LCD branché à notre carte Arduino UNO afin de tester l’écran.  
+
Nous allons faire communiquer 3 CAN Bus Shields
 +
Un CAN Bus Shield jouera le rôle de l’émetteur. Il sera muni d’un RTC avec module i2c et pourra donc transmettre les données (dates et heures) aux autres Shields.
 +
Les deux autres CAN Bus Shields joueront le rôle de récepteur et recevront donc les données envoyées par le premier. Ils pourront afficher ses données, dates et heures, sur leur moniteur série (Ctrl – Maj – M).
 +
Nous allons définir un récepteur comme le récepteur 0 et le second comme le récepteur 1. Chacun recevra et affichera des données bien précises venant de l’émetteur. Les deux récepteurs ne recevront donc pas les mêmes données, nous pouvons adresser un message à tel ou tel récepteur selon notre choix.
  
[[Fichier:Arduino_LCD.PNG]]
 
  
On a donc besoin de 4 fils :  
+
Pour réaliser cette manipulation, nous disposons de :  
*GND LCD => GND Arduino
+
*3 cartes Arduino UNO
*VCC LCD => 5V Arduino
+
*3 Can Bus Shields v.1.2
*SDA LCD => pin analogique A4 Arduino
+
*une horloge RTC avec module i2c
*SCL LCD => pin analogique A5 Arduino
+
*des fils de liaisons
 +
*3 câbles d’alimentation USB
 +
 
 +
[[Fichier:3_CAN_Bus_Shields.PNG]]
  
 
Une fois le montage réalisé, sur le programme Arduino nous pouvons donc ajouter ce code:
 
Une fois le montage réalisé, sur le programme Arduino nous pouvons donc ajouter ce code:

Version du 3 août 2017 à 09:15

Etape 1 : Communication entre 3 CAN Bus Shields : 1 émetteur et 2 récepteurs

Nous allons faire communiquer 3 CAN Bus Shields Un CAN Bus Shield jouera le rôle de l’émetteur. Il sera muni d’un RTC avec module i2c et pourra donc transmettre les données (dates et heures) aux autres Shields. Les deux autres CAN Bus Shields joueront le rôle de récepteur et recevront donc les données envoyées par le premier. Ils pourront afficher ses données, dates et heures, sur leur moniteur série (Ctrl – Maj – M). Nous allons définir un récepteur comme le récepteur 0 et le second comme le récepteur 1. Chacun recevra et affichera des données bien précises venant de l’émetteur. Les deux récepteurs ne recevront donc pas les mêmes données, nous pouvons adresser un message à tel ou tel récepteur selon notre choix.


Pour réaliser cette manipulation, nous disposons de :

  • 3 cartes Arduino UNO
  • 3 Can Bus Shields v.1.2
  • une horloge RTC avec module i2c
  • des fils de liaisons
  • 3 câbles d’alimentation USB

3 CAN Bus Shields.PNG

Une fois le montage réalisé, sur le programme Arduino nous pouvons donc ajouter ce code:

#include <Wire.h>
#include <LiquidCrystal_I2C.h> // pour télécharger la librairie: croquis - include library - manage libraries - LiquidCrystal_I2C.h de Frank de Brabander
LiquidCrystal_I2C lcd(0x27,16,2); //écran LCD 0x27 avec 16 colonnes et 2 lignes (ligne 0 et ligne 1)

void setup()
{
lcd.init(); //initialisation de l'écran LCD
lcd.cursor_on();
lcd.blink_on();
lcd.backlight();
lcd.setCursor(5,0); // écriture du texte sur la ligne 1 colonne 5 (centré)
lcd.print("Hello!"); // texte "hello" sur ligne 1 colonne 5
lcd.setCursor(7,1); // écriture du texte sur la ligne 2 colonne 7 (centré)
lcd.print("ok"); // texte "ok" sur ligne 2 colonne 7
delay(1000);
lcd.cursor_off();
lcd.blink_off();
}

void loop()
{
}

Une fois la compilation et le téléversement du code réalisé vers la carte arduino, les textes s’affichent sur l’écran LCD. Pour notre exemple, on obtient :

Arduino LCD1.PNG

Le texte affiché sur l’écran peut être modifié et les effets également comme le défilement du texte par exemple. Ne pas hésiter à regarder les exemples proposés par la librairie LiquidCristal_I2C pour faire évoluer le code. Notre écran LCD avec un module i2c fonctionne donc correctement. Nous pouvons tester maintenant notre second appareil : l’horloge RTC avec module i2c.