[Tuto] la boite v2

Le but de ce montage est de faire évoluer le montage de la boite v1 pour lui enlever le câblage par fil. Pour cela nous allons donc utiliser un shied créé pour l’occasion.

Le schéma de ce shield reprend les éléments de la boite v1 et lui ajoute 3 ports pour de futurs capteurs, chaque port comporte une entrée analogique et une alimentation (5V et GND).

shield_schéma

Pour la fabrication de ce PCB, je suis passé par http://etronics.free.fr/boutique/boutique.htm situé en France, parfait pour le prototypage rapide. La carte m’a été livrée sous une semaine.

Pour les composants à câbler, je suis parti sur un connecteur DIN16 pour faire le lien avec la matrice de LED et des pins males classiques (http://letmeknow.fr/shop/fr/connecteur/20-embase-male-16-voies.html) pour se connecter sur le Arduino.

Pour tout besoin de composants pour réaliser ce montage n’hésitez pas à regarder notre site:

IMG_1788
IMG_1789

Une fois soudé, cela nous donne:

IMG_1791
IMG_1792

Et assemblé:

IMG_1795
IMG_1794
IMG_1796
IMG_1793

Prochaine étape ajouter un boitier à tout ça…

IMG_1800
IMG_1799
IMG_1798
IMG_1797

[Tuto] La boite v1

Cet article est le premier d’une série consacrée à laboite. Laboite est un afficheur intelligent et connecté, open source créé par Baptiste Gaultier (http://laboite.cc/help).

Ce premier article est consacré à la réalisation de la boite, la version la plus simple possible, en suivant les instruction du site http://laboite.cc. Pour réaliser ce montage nous utiliserons un Arduino Uno, un shield ethernet et une matrice de LED. Pour connecter tout cela, des nappes et fils de connexions seront également utilisés.

IMG_1776
IMG_1777
IMG_1774

Première étape: Assemblage du Arduino Uno et du shield Ethernet. C’est l’étape la plus simple, il suffit de plugger le shield sur le Arduino Uno.

IMG_1775

Deuxième étape: Connexion de la carte matrice de LED. Il va falloir connecter le port BR1 au Arduino en respectant bien le schéma de http://laboite.cc/help.

IMG_1778
IMG_1779

On connecte le +5V sur le 5V du shield Ethernet et le GND sur le GND du shield.

IMG_1780

On connecte le CLK de la matrice de LED au Digital 4 du shield, le CS de la matrice de LED au Digital 5 du shield, le WR de la matrice de LED au Digital 6 du shield et le DATA  de la matrice de LED au Digital 7 du shield.

IMG_1781

Pour vous simplifier les étapes 3 et 4, je vous propose de télécharger directement un package ici (Attention, il peut ne pas être à jour).

Laboite

Troisième étape: Nous allons maintenant télécharger le programme du Arduino sur https://github.com/bgaultier/laboite.

Quatrième étape: Après avoir ouvert le programme « laboite.ino » dans l’IDE Arduino, direction les lignes 47 à 55, vous verrez ici les librairies nécessaires au fonctionnement du programme. Il vous faudra donc les librairies suivantes:

Pour ajouter les librairies, il vous faut soit les copier dans le repertoire Documents / Arduino / Librairies, soit les ajouter depuis l’IDE Arduino dans « Croquis / Importer librairies / Add Librairies »

Une fois les librairies ajoutées, pensez à relancer votre IDE Arduino si celui-ci est ouvert pour qu’elle soit prise en compte.

Cinquième étape: Après avoir ouvert le programme « laboite.ino » dans l’IDE Arduino, direction la ligne 71 pour paramétrer votre numéro de API.

Pour avoir ce numéro d’API, il faut partir s’inscrire sur le site http://laboite.cc/, une fois inscrit il vous suffit de créer une boite et les informations nécessaires s’affichent directement.

Info la boite masuqé

Il faut maintenant copier ce code dans le programme Arduino.

Sixième étape: Ajouter le second fichier de programmation à votre projet. Pour ceci allez dans « Croquis / Ajouter un fichier » et sélectionnez « laboiteLib.ino »

Vous pouvez maintenant connecter votre Arduino à votre ordinateur et transférer votre programme.

Votre boite est maintenant prête.

Septième étape: Choisir vos données à afficher. Pour cela direction le site http://laboite.cc, connectez-vous et choisissez vos apps en cliquant sur « Configure »

Parametrage la boite

Maintenant il faut paramétrer les applications, pour cela cliquez sur « Apps » (en haut à gauche). Vous arrivez sur un nouvel écran ou vous pouvez régler chaque application (attention l’application météo peut poser problème pour trouver votre ville).

parametrage apps

Pour vérifier que vos paramétrages fonctionnent bien aller sur http://api.laboite.cc/<votre API key>.xml

Vous devriez avoir quelque chose comme ça:

<?xml version="1.0" encoding="utf-8"?>
<response>
	<version>0.1</version>
	<time>18:18</time>
	<nextbus>5</nextbus>
	<weather>
		<today>
		  <icon>0</icon>
		  <temperature>25</temperature>
		</today>
		<tomorrow>
		  <icon>1</icon>
		  <low>15</low>
		  <high>28</high>
		</tomorrow>
	</weather>
</response>

Une fois terminée cela vous donne donc:

IMG_1782


Vidéo du montage en fonctionnement
http://www.youtube.com/watch?v=-Jkxp8-67gUCet

Remarque: Pensez bien à connecter l’ethernet pour réaliser votre test.

Pour tout besoin de composants pour réaliser ce montage n’hésitez pas à regarder notre site:

[Tuto] Réaliser une liaison Wifi

Réaliser une liaison Wifi

Le but de ce montage est de communiquer entre l’ordinateur et le Arduino par la liaison Wifi. Cette liaison Wifi nécessite l’usage d’un shield (=carte d’extension) adapté.

Le kit Wifi se décompose en 4 composants :

  • Un module USB-TTL (Uniquement utilisé durant le paramétrage pour connecter le module Wifi à l’ordinateur au travers d’une liaison série)

  • Une nappe de connexion 4 points (Uniquement utilisé durant le paramétrage pour relier le module USB-TTL et le module Wifi)

  • Un shield de connexion (Assure la connexion entre le Arduino et le module Wifi)

  • Un module Wifi (comporte un convertisseur série ↔ Wifi)

Composants nécessaires :

  • Un Arduino

  • Un câble USB

  • Un kit Wifi

Il faut aussi charger l’ensemble de softwares et fichiers nécessaires.

 
Composants

La première étape consiste à paramétrer le module Wifi pour qu’il connaisse le nom du réseau ainsi que les informations nécessaires à la connexion au réseau Wifi. Pour cela, il faut connecter le module Wifi avec le module USB-TTL en utilisant la nappe de 4 fils prévu à cet effet.Paramétrage du module Wifi :

Avant de brancher à l’ordinateur, il faut vérifier plusieurs choses :

  • L’antenne est-elle bien connectée au module Wifi ?

Antenne
  • Le jumper (Plastique noir entre 2 bornes) du module USB-TTL est-il bien sur 3,3V (connexion entre la broche du centre et la 3,3V) ?

Jumper Alim
  • La nappe est-elle bien sur la rangée extérieur du module Wifi ?

Nappe module

Une fois tout ces points vérifiés, vous pouvez le connecter au PC.

Lancer le logiciel « UART-WIFI » compris dans le package.

Config wifi

Dans le logiciel, vérifiez que le « Port Connect » est sur le bon port COM. Cliquer ensuite sur « Search » et sélectionner votre module, s’il n’apparaît pas attendez et réessayer ou changer de port COM.

Allez ensuite dans votre interface de routeur Wifi (Freebox, Bbox ou autre) pour prendre les informations sur votre réseau Wifi. Pour y accéder bien souvent il faut taper 192 .168.1.1. Ou alors reprendre les informations inscrites sur l’autocollant présent sur votre box.

Dans la case SSID, entrez le nom de votre réseau (dans le cas d’une Bbox « Bbox-XXXXXX »), « Encry mode » entrez le type de sécurité utilisé (dans le cas d’une Bbox « WPA2-PSK(TKIP) »), ajoutez ensuite la clé réseau (=mot de passe) dans la case « Key », choisir « Static IP » et entrer les paramètres suivants :

  • Fied IP Addr : 192.168.1.119
  • Subnet Mask : 255.255.255.0
  • Gateway Addr : 192.168.1.1
  • DNS Addr : 192.168.1.1
Config wifi 2

Nous allons paramétrer le module en IP fixe pour simplifier notre montage. Pour cela, dans la section « Network setting » cliquer sur « NetType »

Cliquer ensuite sur « Modify ». Le module Wifi va redémarrer, il faudra ensuite se reconnecter dessus. Tout vos paramètres seront rechargés.

Ensuite testons la connexion en allant dans « Functionnal test » puis « connect ». Si la connexion est réussi, vous aurez un message du type :

Connect/create network.

Connect/create network complete.

NetMode Encry BSSID Channel SSID

Infra Yes XXXXXXXXXXXX 11 Bbox-XXXXXX

Le module réseau est connecté à votre réseau Wifi. Dans votre navigateur internet (Mozilla, Internet Explorer, Safari ou autre), tapez l’adresse IP saisie plus tôt (192.168.1.119) dans la barre d’adresse.

Le module Wifi est prêt à être utilisé.

Programmation du montage :

Nous allons programmer un serveur tout simple qui affiche un message sur une page Web.

void setup()// Fonction d'initialisation

{

Serial.begin(115200);// Création d'une liaison Wifi

}

void loop()// Fonction principale qui tourne en boucle

{

boolean currentLineIsBlank = true;// Variable pour savoir si l'on retourne à la ligne

while(1){

if(Serial.available()){

char c = Serial.read();// Lecture des données reçues et enregistrement dans une variable

if(c =='n'&& currentLineIsBlank){//Si l'on reçoit une demande extérieur

// Envoyer une page Web

Serial.println("HTTP/1.1 200 OKrnContent-Type: text/htmlrnrn<center><h1>Hello World!! I am WiFi WebServer!!!</h1></center>");

break;

}

if(c =='n'){

// Démarrer une nouvelle ligne

currentLineIsBlank = true;

}

elseif(c !='r'){

// On nous demande autre chose

currentLineIsBlank = false;

}

}

}

}

Il reste à brancher le Arduino pour compiler le programme et le téléverser.

Il faut ensuite assembler l’ensemble.

Réalisation du montage :

Nous allons connecter le shield sur la carte Arduino puis y connecter le module Wifi, comme ceci :

Montage 1
Montage 2
Montage 3
Montage 4

On branche ensuite l’ensemble au PC pour avoir l’alimentation par USB. Le module Wifi va se connecter au réseau. Il faut maintenant l’interroger au travers d’un navigateur internet. Pour cela il faut connaître son adresse IP (l’interface de votre Box ou routeur Wifi vous le permet). Par exemple sur la Bbox, vous pouvez le voir sur la page « Schéma de mon réseau ».

Schema Reseau

Une fois terminé cela nous donne :

ON

Physiquement

Hello world

Dans le navigateur

Pour aller plus loin : Je vous invite à regarder dans le manuel du module Wifi pour y trouver de nouvelles idées de montages, les possibilités sont très grande.

parametrage forcé

Remarque : En cas de mauvaise manipulation, il peut être compliqué de ré-accéder au menu de paramétrage du module Wifi. Il existe un moyen de forcer le module en mode configuration, pour cela il faut relier la broche 2 du module au Vcc(3,3V) comme ceci.


[Tuto] Utiliser un shield LCD

Lire la valeur d’un capteur

Le but de ce montage est de mettre en place un montage rapide avec un shield (= carte d’extension) comprend un écran LCD et des boutons poussoirs. Le programme sera simple, il affichera sur l’écran le nom du bouton pressé.

Ce montage est une adaptation de http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)

Composants nécessaires :

Principe du montage :

Le montage de shield est très simple. Il suffit de poser le shield directement sur le Arduino.

Composants

 

Réalisation du montage :

Pour réaliser le montage poser le shield sur le Arduino (Attention au sens). Guidez vous en fonction des bornes A0 à A5.

Montage 1
Montage 2
Montage 4
Montage 3

Remarque : Le potentiomètre (composant bleu avec une vis) permet le réglage du contraste.

Fonctionnement du shield :

Voici comment est réellement câblé le shield :

Bornes

Fonction

Analog 0

Bouton (select, up, right, down and left)

Digital 4

DB4

Digital 5

DB5

Digital 6

DB6

Digital 7

DB7

Digital 8

RS (données ou sélection du signal)

Digital 9

Activation (Enable)

Digital 10

Contrôle du rétroéclairage

Programmation du montage :

Le programme va nous afficher sur l’écran le nom des boutons appuyés. Pour cela il va utiliser une librairie spécific au LCD, la librairie « LiquidCrystal.h ». Cette librairie comprend de très nombreuses fonctions pour en avoir la liste complète et la description, je vous invite à aller visiter le site officiel http://arduino.cc/en/Reference/LiquidCrystal?from=Tutorial.LCDLibrary

// Charger la librairie LiquidCrystal
#include <LiquidCrystal.h>

// Définir les pins utilisées par le LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Définir les variables globales
int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5

// Fonction lire les boutons
int read_LCD_buttons()
{
adc_key_in = analogRead(0); // Lire les valeurs du capteurs
// Les valeurs renvoyées sont sensés être: 0, 144, 329, 504, 741
// Il y a une erreur possible de 50
if (adc_key_in > 1000) return btnNONE; // Nous découpons les valeurs possibles en zone pour chaque bouton
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 650) return btnLEFT;
if (adc_key_in < 850) return btnSELECT;
return btnNONE; // On renvoie cela si l'on est au dessus de 850
}

void setup() // Initialisation
{
lcd.begin(16, 2); // Démarrer la librairie
lcd.setCursor(0,0);
lcd.print("Appuyer"); // Afficher un message simple
}

void loop() // Fonction principale
{
lcd.setCursor(0,1); // Placer le curseur au début de la seconde ligne
lcd_key = read_LCD_buttons(); // Lire les boutons

switch (lcd_key) // Selon le bouton appuyer
{
case btnRIGHT: // Pour le bouton "Right"
{
lcd.print("RIGHT "); // Afficher "Right"
break;
}
case btnLEFT: // Pour le bouton "left"
{
lcd.print("LEFT "); // Afficher "Left"
break;
}
case btnUP: // Pour le bouton "Up"
{
lcd.print("UP "); // Afficher "Up"
break;
}
case btnDOWN: // Pour le bouton "Down"
{
lcd.print("DOWN "); // Afficher "Down"
break;
}
case btnSELECT: // Pour le bouton "Select"
{
lcd.print("SELECT"); // Afficher "Select"
break;
}
case btnNONE: // Sinon
{
lcd.print("NONE "); // Afficher "None"
break;
}
}

}

Il reste à brancher le Arduino pour compiler le programme et le téléverser.

Une fois terminé cela nous donne :

NONE
LEFT
RIGHT

 Pour aller plus loin :

On peut à partir de là afficher tout ce que l’on veut. Les possibilités sont très grande.