was successfully added to your cart.
All Posts By

Thomas Aubret

Illustration de l'article "Raspberry Pi Zero W"

Sortie du Raspberry Pi 0 W

By | Non classé | One Comment

Ca y est, nous l’attendions tous !
La Raspberry Pi 0 enfin porté dans sa version Wireless se voit attribuer un nom des plus séduisant: Raspberry Pi Zero W. Ce nouveau Raspberry, pas plus grand qu’une carte bancaire intègre dès maintenant le BLE (Bluetooth Low Energy) et la même puce Wifi que son frère cadet le Raspberry Pi 3. La fondation ajoute ainsi à sa plus petite carte les demandes des utilisateurs en matière de connexion Internet. Il faut bien rappeler que, jusqu’à présent, relier le Raspberry Pi Zero « classique » au réseau constituait un réel problème pour un non-initié, vous aurez d’ailleurs l’occasion de le découvrir dans un prochain article… Avec ce Raspberry Pi équipé de sa puce wifi/bluetooth CYW43438 par Cypress (ex-Broadcom) qui équipe aussi le modèle 3 de la firme, on pourra désormais connecter notre Pi Zero aussi aisément que son grand frère.

 

Raspberry Pi 0 w

Raspberry Pi 0 w

 

Vendu à 10$ outre-Atlantique (11€ chez nous), c’est à dire deux fois plus chère que sa version « wired », c’est à dire sans wifi et bluetooth, son avenir est immense ! Le Raspberry Pi 3 a du soucis à se faire, celui-ci, beaucoup plus petit risque d’être préféré pour la robotique et la miniaturisation des projets.

 

Nos futurs Raspberry Pi Zero W étant déjà en route vers nous, nous reviendrons beaucoup plus en détail lorsque nous les aurons reçu.

Restez connecté, nous vous dirons tout sur la façon dont l’utiliser.

 

Thomas A – Fabien A – Grégoire A

Image de une voeux 2017

SimpleDuino vous souhaite une bonne année 2017

By | Non classé | No Comments

Voilà que 2017 s’annonce, une année pleine de promesses une fois de plus pour SimpleDuino. En effet, depuis début janvier, nous avons effectué une reconfiguration des systèmes SimpleDuino, ce que vous ne voyez pas finalement et ce pour deux raisons. La première, c’est que nous souhaitons un site plus rapide. La seconde c’est que nous devons nous forcer à rester à jour. Notre « corps de métier » c’est de transmettre des connaissances sur des produits / technologies qui n’ont rarement plus de deux ans d’existence (on parle souvent des produits dès leurs sorties). Il est alors dans la logique de garder tout notre site, toute notre infrastructure, entièrement à jour.

Concernant nos projets, nous n’avons rien arrêté et travaillons encore sur l’automatisation complète de notre drone mais surtout sur notre projet SimpleDomo. D’autres projets sont venus se créer, plus petit parfois, nous aurons l’occasion d’y revenir tout au long de cette année fabuleuse que sera sans nul doutes 2017.Voilà que 2017 s’annonce, une année pleine de promesses une fois de plus pour SimpleDuino. En effet, depuis début janvier, nous avons effectué une reconfiguration des systèmes SimpleDuino, ce que vous ne voyez pas finalement et ce pour deux raisons. La première, c’est que nous souhaitons un site plus rapide. La seconde c’est que nous devons nous forcer à rester à jour. Notre « corps de métier » c’est de transmettre des connaissances sur des produits / technologies qui n’ont rarement plus de deux ans d’existence (on parle souvent des produits dès leurs sorties). Il est alors dans la logique de garder tout notre site, toute notre infrastructure, entièrement à jour.

Mais il y a une chose importante que vous pouvez nous reprocher sur cette fin d’année 2016, le nombre plus faible de tutoriels mis en ligne. C’est là que nous devons aborder un sujet important avec vous. SimpleDuino fut à l’origine fondé pour partager nos connaissances sur l’électronique. Nous étions alors presque tous lycéens dans l’équipe et nous avions alors beaucoup de temps pour écrire et mettre en ligne des tutoriels. Ces dernières années, nous avons tous intégrés l’enseignement supérieur, tous vers des carrières d’ingénieurs et cela représente un certain temps à passer au travail. Si nous ne pouvons plus (pour l’instant, cela est bien entendu provisoire) être aussi actif qu’avant sur le site, nous nous efforçons (et toujours avec le sourire) de répondre aux questions posées sur le forum. Si nous prenons la peine d’expliciter ces absences ici, c’est que certaines personnes ont pu nous le reprocher d’une manière parfois involontaire mais on a aussi pu entendre dire que nous accordions trop de temps à nos études. Paradoxe lorsque l’on sait que certaines des connaissances que nous avons la chance d’acquérir pendant ces quelques années, nous les partagerons avec vous d’une manière simplifiée.

SimpleDomo ensuite, le système n’a pas connu de grands changements depuis quelques mois. Il nous reste à développer un « serveur » pour relier notre centrale à nos modules. Si ce travail semble bien dérisoire, il nécessite de nombreuses heures d’implications et vous comprendrez maintenant que nous ne pouvons pas nous permettre cela actuellement, nous serons certainement à plein temps sur le projet pendant les mois de juillet / août. Cependant, d’ici quelques semaines, nous devrions lancer un nouveau site au design épuré qui présentera les grandes lignes du projet. Vous pourrez alors voir quelques rendus (toujours provisoires) de ce grand travail, nous n’en dirons pas plus pour l’instant (surprise et patience donc).

Malgré tout, SimpleDuino reste là pour vous, nous sommes avant tout une équipe de passionnés, nous continuons à maintenir et à assumer le coût de nos infrastructures. Si vous souhaitez nous aider, le plus simple c’est de parler de nous autour de vous. Si vous vous sentez près à partager vos connaissances à travers des tutoriels, n’hésitez pas à nous contacter pour intégrer l’équipe et mettre en ligne vos tutoriels.

Finalement, toute l’équipe SimpleDuino se joint à cet article pour vous souhaiter une excellente année 2017 faites de beaux projets, de belles découvertes et de grandes innovations. Si nous continuons à nous investir autant pour vous, c’est que nous pensons profondément que les claviers et les écrans peuvent changer la manière dont nous voyons le monde. C’est aussi parce que nous restons persuadés que plus nous commencerons tôt à transmettre cette passion aux enfants, alors plus ces derniers sauront créer plus tard des applications toujours plus complexes et intéressantes. Nous en sommes au balbutiement de l’intelligence artificielle, nous terminerons donc cet article par une citation du Mathématiciens qu’est Cedric Villani :

Plus que jamais, l’école doit s’ouvrir au monde, inviter les jeunes à se frotter à des projets divers, à voyager.


 

SimpleDuino vous souhaite une excellente année 2017


Fabien Aubret – Thomas Aubret – Grégoire Aubret

Se connecter au WiFi avec le raspberry Pi 3

Se connecter au WiFi avec le Raspberry Pi 3

By | Débutant Raspberry Pi | No Comments

Voilà maintenant près d’un an que la marque à la framboise a sorti son dernier né, la carte Raspberry Pi 3. Comme vous le savez cette carte a la particularité de posséder une puce WiFi et Bluetooth. Ce qui permet d’imaginer de nouvelle utilisation en matière de système embarqué. En effet cela permet de libérer deux ports usb.

Cette puce WiFi n’est pas si compliquée à utiliser. Il y a deux manières de configurer la liaison WiFi entre la carte Pi et votre connexion.

  • En utilisant le bureau (à distance ou non)
  • En configurant la connexion en ligne de commande

Avant de commencer à configurer le Raspberry, il faut s’assurer que vous êtes à jour. Pour cela exécutez les commandes suivantes (que vous devez finir par connaître par cœur) :

1
2
sudo apt update
sudo apt upgrade

Une fois l’opération terminée il vous suffit de redémarrer votre carte Raspberry.

I. Se connecter au WiFi à l’aide du bureau

Comme vous le savez, il est possible d’utiliser la carte Raspberry sous la forme d’un bureau (voir même sous la forme d’un bureau à distance, plus d’info ici).

Si vous utilisez votre raspberry sous forme bureautique, n’oubliez pas de débrancher le câble Ethernet. Si vous utilisez la forme d’un bureau à distance, il faut bien entendu laisser brancher le câble Ethernet le temps de la configuration du WiFi.

Comme vous pouvez le voir, une icône réseau est présent en haut à droite de l’écran juste à côté de l’horloge. Cliquez ensuite sur cette même icône. Une liste des différentes box dont vous captez le signal va s’afficher. Trouvez la vôtre et cliquez dessus, par exemple « livebox-A1A1 ».

Remarque : Seul les fréquences de 2,4GHz sont reconnues par le Raspberry Pi 3. Ne soyez donc pas surpris si les fréquences de 5GHz ne fonctionnent pas.

Comme vous le savez une clef est nécessaire pour se connecter au réseau. Ainsi, lorsque vous aurez sélectionné votre box, une fenêtre va s’afficher vous demandant la clef de connexion. Une fois le mot de passe rentré, cliquez sur « OK ». La tentative de connexion va s’opérer. Patientez et le tour est joué ! L’icône va alors afficher la puissance du signal.

II. Se connecter au WiFi à l’aide de ligne de commande

Si vous êtes des puristes de la ligne de commande, cette partie est pour vous ! Et je dois vous dire que je préfère la ligne de commande également !

Pour commencer, assurez-vous d’avoir branché le câble Ethernet. Connectez-vous à votre raspberry. Ensuite il va falloir éditer le fichier « wpa_supplicant.conf » à l’aide de la commande suivante :

1
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Déplacez-vous à la fin de ce fichier et ajoutez les lignes suivantes avec les informations de votre box en suivant ce modèle :

1
2
3
4
5
network={
ssid= “NomDeLaBox“
psk=“ClefDeSecurite“
key_mgmt=WPA-PSK
}

Notez bien que si votre box utilise une clef de type WEP plutôt qu’une de type WPA/WPA2, modifiez la dernière ligne de la manière suivante :

1
key_mgmt=NONE

Enfin, et ce n’est pas trop conseillé, si vous vous connectez à une box ouverte (non protégée par un mot de passe), seul la ligne « ssid » est à renseigner.

N’oubliez pas de sauvegarder le fichier et de le quitter.

Votre raspberry est à présent connecté à internet grâce à sa puce WiFi. Il vous est possible de vérifier cette connexion en utilisant la commande ifconfig :

1
ifconfig wlan0

Vous pouvez à présent vous connecter sur le raspberry avec la console ssh. Il vous faudra récupérer l’adresse IP allouée par votre box puis se connecter comme vous savez le faire.

 

Vous voici à présent apte à commencer ou continuer à programmer ! Si vous rencontrez des soucis pour réaliser cette connexion ou sur vos projets, n’hésitez pas à venir poser vos questions sur le forum dédié.

Image de UNE pour la rentrée de SimpleDuino

SimpleDuino fait sa rentrée 2016

By | Projets | No Comments

La rentrée vient de se terminer pour vous tous, et également pour nous. Il est grand temps de se remettre au travail. Nous allons publier de nouveaux tutoriels cette année pour l’arduino et raspberry ainsi que de nombreux projets. Nous avons aussi l’ambition de participer à de nombreux salons pour développer la communauté et montrer le potentiel de la programmation liant électronique et mécanique.

Durant les congés d’été nous sommes restés présents et actifs sur le forum, nous avons continué la réalisation des projets en cours et nous nous sommes aussi lancés dans de nouveaux projets.

Comme vous le savez maintenant, l’équipe SimpleDuino a réalisé un drone qui a pour but d’être entièrement autonome. C’est-à-dire qu’il puisse gérer sa batterie, se poser seul, maintenir sa position et pouvoir être commandé à distance en lui ordonnant de se déplacer à un endroit précis. Vous avez pu nous rencontrer et discuter de ce projet lors de notre présence à la MakerFaire Paris 2016.

Nous avions également exposé notre projet de domotique SimpleDomo ainsi que la réalisation de notre première imprimante 3D totalement imprimée dont vous pouvez retrouver des informations sur le site et le forum.

Partant de ce dernier projet, nous voulions aller plus loin. Nous avons souhaité concevoir de A à Z une imprimante 3D afin de connaître parfaitement ses caractéristiques et sa façon d’être conçue. De plus nous pourrons modifier cette imprimante dans le futur afin de lui ajouter une fraise et d’en faire une CNC. La seule contrainte que nous nous sommes imposés pour la conception de cette nouvelle imprimante est de pouvoir y installer un plateau chauffant de dimension 328x328mm. Le cahier des charges étant minimaliste, nous avons libre cours à notre imagination pour sa conception.

 

Vous êtes tous créatifs ! Vous avez tous de très bonnes idées mais plus vous pensez comment la réaliser, plus vous avez peur de ne pas y parvenir. N’ayez pas peur de l’échec ! Prenez le temps de bien faire chaque partie. Restez organisé ! C’est en se trompant que nous apprenons le plus. Nous faisons tous des erreurs, l’important est de comprendre pourquoi cela ne peut pas marcher afin de trouver la solution au problème. Et pensez que vous n’êtes jamais seul ! Venez poser vos interrogations sur le forum afin qu’ensemble, nous puissions trouver des solutions.

 

Restez connecté afin de suivre l’évolution de ce nouveau projet.

 

Thomas A.

Image de Une de l'article "Installer un serveur Web"

Installer un serveur Web sur votre Raspberry

By | Débutant Raspberry Pi | 5 Comments

Bonjour à tous !

Introduction

Depuis que j’ai reçu mon Raspberry Pi 3 je ne fais que le bidouiller. J’ai commencé par installer Raspian. Si vous ne l’avez pas encore fait, vous pouvez retrouver toutes les étapes d’installation dans ce tutoriel. Cependant la force du raspberry est de pouvoir l’utiliser en tant que serveur, par exemple en serveur Web. Nous pouvons bien évidemment installer d’autres serveur comme des serveur média, serveur de stockage, serveur domotique, serveur Minecraft… Les utilisations sont presque infinies. Nous verrons dans d’autres tutoriels comment installer plusieurs de ces différents serveurs.

Nous allons voir ensemble comment installer un serveur web sur notre raspberry et ainsi pouvoir développer des sites web en interne pour ensuite le déplacer sur un serveur plus gros pour le rendre accessible aux usagers d’internet.

Installation du serveur Web

1) Installation d’Apache

Tout d’abord il va falloir installer le package « Apache ».

Apache est le serveur web le plus utilisé dans le monde, très documenté visant son installation, son utilisation et sa sécurisation. Apache va nous permettre d’héberger des fichiers au format HTML afin qu’un navigateur web puisse les lire.

Afin d’installer Apache nous devons posséder les droits administrateurs, soit en vous connectant en root (vous pouvez retrouver comment activer cet utilisateur ici), soit par la commande sudo.

Pour commencer, écrivez la commande suivante afin d’installer le serveur Apache.

1
sudo apt-get install apache2

Arrivé ici, faites « Y »

Fenêtre d'installation d'Apache

Fenêtre d’installation d’Apache en ligne de commande

A présent apache est installé. Nous pouvons vérifier qu’Apache fonctionne correctement en vous connectant sur votre navigateur web et en entrant l’adresse IP locale du raspberry (192.168.1.21 pour ma part).

Vérification de fonctionnement d'Apache sur le navigateur web

Vérification de fonctionnement d’Apache sur le navigateur web

Vous devriez arriver sur cette page qui montre bien que le serveur fonctionne correctement.

Si vous souhaitez modifier la configuration d’Apache, rendez-vous dans le répertoire fraîchement créé :

1
cd /etc/apache2

Vous avez ici accès aux différents fichiers de configuration d’Apache.

Comme nous pouvons le voir, les fichiers .html se situent dans le répertoire /var/www/html. Nous pouvons modifier le répertoire où nous devons mettre les fichiers pour qu’ils soient lus. Pour cela, allez dans le répertoire « sites-enabled »:

1
cd /etc/apache2/sites-enabled

Puis il va nous falloir modifier le fichier « 000-default.conf ».

1
sudo nano 000-default.conf
Modification du répertoire pour la lecture des pages Web

Modification du répertoire pour la lecture des pages Web

Il faut modifier la ligne « DocumentRoot /var/www/html » en « DocumentRoot /var/www ». N’oubliez pas de sauvegarder à la fin de cette opération.

Puis redémarrez le service Apache.

1
/etc/init.d/apache2 restart

2) Installation de PHP5

PHP : Hypertext Preprocessor, connu sous le sigle PHP est à la fois un langage de programmation principalement utilisé pour produire des pages web dynamiques via un serveur http et est aussi un interpréteur.

Afin que notre serveur puisse interpréter le langage PHP il va nous falloir l’installer via la commande suivante :

1
2
 cd
 sudo apt-get install php5

Nous allons à présent vérifier le bon fonctionnement de PHP. Commencez par accéder au répertoire suivant :

1
cd /var/www/html

Supprimez le fichier index.html

1
sudo rm index.html

Vous devriez vous trouver dans le répertoire « /var/www ». Si ce n’est pas le cas, faites tout simplement :

1
cd /var/www

Puis créez un fichier « index.php »

1
sudo nano index.php

A présent, entrez le code suivant :

1
<?php phpinfo(); ?>

Retournez dans votre navigateur à l’adresse de votre raspberry. Vous devriez avoir une page de ce type :

Vérification de fonctionnement de PHP sur le navigateur web

Vérification de fonctionnement de PHP sur le navigateur web

Cela montre que PHP fonctionne correctement.

 

3) Installation de MySQL

Tout serveur fonctionne avec des bases de données pour stocker les informations de votre site web ou de votre application. Nous allons donc installer un SGBD (Système de Gestion de Bases de Données) qui est MySQL. La SQL n’est pas un langage de programmation mais est bien plus ! C’est un outil incontournable permettant de vous aider considérablement dans le traitement de données.

Nous allons installer « mysql-server » et « php5-mysql » qui permet de faire le lien entre php et mysql.

1
2
cd
sudo apt-get install mysql-server

Lors de l’installation de MySQL il vous sera demandé un mot de passe pour le compte administrateur (root). Pour ma part je n’en mets pas. Puis appuyez sur « entrée ». Veillez à ne pas perdre ce mot de passe !

Demande de mot de passe lors de l'installation de MySQL

Demande de mot de passe lors de l’installation de MySQL

Ensuite installons « php5-mysql »

1
2
cd
sudo apt-get install php5-mysql

A présent nous pouvons vérifier que MySQL fonctionne correctement. Lançons donc mysql

1
mysql –u root –p votrepasswd

Cette fenêtre devrait s’ouvrir. Grâce à cette invite de commande vous pouvez gérer toutes vos bases de données en ligne de commande.

Fenêtre montrant le bon fonctionnement de MySQL

Fenêtre montrant le bon fonctionnement de MySQL

Pour sortir de MySQL écrivez tout simplement :

1
exit

 

4) Installation de PHPMyAdmin

PHPMyAdmin est une application web qui fournit une interface graphique simplifiée pour MySQL. Grâce à cette application vous pouvez lire, modifier, manipuler toutes vos bases de données.

1
 sudo apt-get install phpmyadmin

Une fenêtre vous demandant de faire un choix entre deux serveurs web va s’afficher.

Cocher apache2 en appuyant sur "espace"

Cocher apache2 en appuyant sur « espace »

Il vous faut cocher « apache2 » en appuyant sur la barre espace. Une étoile (*) va s’afficher à côté de votre choix vous montrant qu’il a bien été pris en compte.

Image montrant qu'Apache 2 est coché

Image montrant qu’Apache 2 est coché

Rendez vous ensuite dans le répertoire phpmyadmin :

1
cd /etc/phpmyadmin

Il va falloir modifier le fichier « config.inc.php » de la façon suivante de telle sorte que  « $cfg[‘Servers’][$i][‘AllowNoPassword’] = TRUE; » soit décommentée. Cette ligne se trouve vers la fin du fichier.

1
sudo nano config.inc.php
Image montrant la ligne a décommenter

Image montrant la ligne a décommenter

Vous pouvez vous rendre sur votre navigateur web, et écrire l’adresse suivante XXX.XXX.X.XX/phpmyadmin (où XXX.XXX.X.XX est l’adresse locale de votre raspberry). Vous devriez tomber sur cette page :

Vérification du fonctionnement de PHPMyAdmin

Vérification du fonctionnement de PHPMyAdmin

Entrez « root » comme nom d’utilisateur et le mot de passe que vous avez enregistré lors de l’installation de MySQL.

 

Maintenant votre serveur web avec MySQL et PHPMyAdmin est complétement opérationnel ! Il ne vous reste plus qu’à apprendre les différents langages de programmations tels que le HTML et le PHP ainsi que le CSS et la SQL pour réaliser vos premières pages web afin de pourvoir gérer à distance vos pins GPIO du raspberry par exemple.

Thomas A.

Image de Une de l'article "réaliser un arduino DIY"

Réaliser un Arduino « maison »

By | Intermédiaire Arduino | No Comments

Bonjour à tous !

Qui n’a jamais rêvé de se mettre dans la peau de Massimo Banzi le créateur de notre cher et tant aimé microcontrôleur Arduino ? Vous pensez que cela est trop compliqué ? Et bien pourtant non ! Et cela ne coûte pas plus de 5€ ! Comme je vous l’avais annoncé dans un précédent tutoriel, nous allons voir comment en réaliser un ensemble.

Matériel nécessaire

Tout d’abord il va falloir s’équiper d’un peu de matériel.

  • Une puce AtMega328 bootloadée pour Arduino ou non (préférez en une bootloadée si vous ne possédez pas d’arduino)
  • Une résistance de 10 kOhm
  • Un quartz de 16 MHz
  • Deux condensateurs de 20 pF (céramiques)
  • Un condensateur de 100 nF (pour le reset)
  • Une breadboard (plaque d’essai)
  • Des fils

Pour ma part j’ai ajouté un ZIF socket 28 pins permettant de monter de démonter les puces sans risquer de tordre les pins afin de coder en série mes microcontrôleurs.

Entrons dans le vif du sujet. Voici un schéma expliquant la correspondance entre les broches de la puce et celles de l’Arduino. Nous allons nous en servir tout au long de la réalisation d’une carte.

Correspondance des broches entre AtMega et Arduino

Correspondance des broches entre AtMega et Arduino

 

Pour vous procurer une puce AtMega328 deux choix s’offrent à vous.

  • Acheter une puce bootloadée pour arduino
  • Acheter une puce vierge qu’il faudra gravée pour pouvoir la programmer avec un Arduino

La première option n’a pas d’intérêt à être expliquée. Vous pouvez passez directement à la partie « créer son arduino ».

Je vais vous expliquer commenter graver (bootloader) la puce.

Bootloader la puce AtMega328

Tout d’abord il faut réaliser le schéma de câblage suivant :

Schéma de câblage pour bootloader une puce AtMega328

Schéma de câblage pour bootloader une puce AtMega328

Maintenant que le câblage est effectué, nous pouvons passer à la partie programmation.

Il va falloir télécharger le bootloader sur le microcontrôleur. Pour cela, lancer l’IDE Arduino puis charger le fichier se trouvant dans « Fichier/Exemples/ArduinoISP« .

Sketch "ArduinoISP" pour télécharger le bootloader

Sketch « ArduinoISP » pour télécharger le bootloader

Dans le menu « Outils/type de carte » sélectionnez « Arduino UNO« . Sélectionnez le port COM de votre arduino puis au niveau « Programmateur » sélectionnez « Arduino as ISP« .

Chargez le programme sur l’arduino.

Dans le menu « Outils« , cliquez sur « Graver la séquence d’initialisation« . Cela peut prendre un peu de temps, puis une message sur l’IDE indiquant que la gravure de la séquence d’initialisation est terminée va s’afficher.

Voila ! Le bootloader est installé sur le microcontrôleur !

Créer son arduino

Voici le câblage de l’arduino DIY que nous allons réaliser.

Schéma de câblage d'un Arduino DIY

Schéma de câblage d’un Arduino DIY

 

Afin de téléverser un Sketch sur cet arduino il vous faudra utiliser un convertisseur USB/Série. Et nous pouvons éviter d’en acheter un condition de posséder un Arduino UNO.

Il va falloir enlever délicatement le microcontrôleur de l’arduino en veillant à ne pas tordre (pour ne pas casser) les pattes. Ensuite brancher les câbles du montage (TX, RX, reset, 5v et gnd) sur les pins de l’Arduino de même nom. Puis faites comme vous en avez l’habitude !

J’ai opté pour une autre option. J’ai acheté une nouvelle carte Arduino UNO, dessoudé le DIP du microcontrôleur et j’ai soudé un ZIF 28 pins. Ce composant me permet d’insérer les AtMega en série pour imaginer faire de la production.

Arduino Uno avec support ZIF 28

Arduino Uno avec support ZIF 28 pour programmer les puces

A présent si vous vous souvenez de la correspondance des broches sur l’AtMega (au tout début de l’article) il est facile de savoir à quel numéro de pin correspond telle broche.

Il ne vous reste plus qu’à souder le tout sur une plaque d’essai ou sur un PCB afin de faire fonctionner votre système.

Je vous conseille de ne pas souder directement l’AtMega sur le PCB mais d’utiliser un DIP28 comme celui-ci afin de ne pas imposer des contraintes thermiques dues au fer à souder qui pourraient endommager la puce. De plus cela permet de récupérer la puce.

Support microcontrôleur AtMega328

Support microcontrôleur AtMega328

 

Thomas A.

Photo de une du tutoriel "Installer Raspian et VNC"

Installer Raspian et VNC sur un raspberry

By | Débutant Raspberry Pi | No Comments

Bonjour à tous !

Eh oui ! Ca y est, la deuxième carte Pi 3 vient d’arriver ! Il est temps de la configurer. Dans un premier temps nous allons simplement installer Raspian afin de pouvoir l’utiliser.

 

Installation de Raspian

Il va vous falloir un peu de matériel :

  • Un raspberry Pi 3 (dans mon cas)
  • Une carte SD de 16 GB mini (32 GB pour moi)
  • Un adaptateur secteur/micro-USB

Dans un premier temps il va falloir préparer la carte SD et de graver Raspian dessus.

Afin de préparer cette carte SD il nous faut télécharger la dernière version de Raspian http://downloads.raspberrypi.org/raspbian_latest. Il s’agit de cette version que nous allons installer sur notre carte.

Il va aussi nous falloir télécharger le logiciel Win32DiskManager que nous pouvons retrouver ici https://sourceforge.net/projects/win32diskimager/files/latest/download. Je vous laisse l’installer.

Bien entendu il nous faut un port SD sur notre ordinateur pour pouvoir écrire dessus.

  • Décompressez l’archive de Raspian afin d’obtenir un « .img ».
  • Cliquez ensuite sur l’icône représentant un dossier bleu à droite de « Image File ».
  • Sélectionnez l’image de Raspian que vous venez de décompresser.
  • Dans l’onglet « Device » sélectionnez bien l’emplacement de votre carte SD. Faites bien attention à ne pas vous tromper !
Logiciel Win32DiskImager

Logiciel Win32DiskImager

  • Appuyez sur « Write » pour lancer l’écriture.
Ecriture de Raspian sur une carte SD

Ecriture de Raspian sur une carte SD

Une fois terminé, la fenêtre affiche « Write Successful ». Ejectez la carte. La voilà prête pour le raspberry !

N’ayant pas d’écran auxiliaire j’opte pour une installation sans !

Dans un premier temps insérez la carte SD dans le Raspberry puis connectez le à la box internet via un câble RJ45. Branchez ensuite l’alimentation du Raspberry.

Rendez-vous sur l’interface de la box internet http://192.168.1.254 (selon votre box).

Information connexion dur la box du raspberry

Information connexion sur la box du raspberry

L’adresse IP de mon Raspberry est 192.168.1.21.

A présent, lancez le logiciel Putty téléchargeable ici.

Fenêtre de connextion SSH via Putty

Fenêtre de connextion SSH via Putty

Entrez l’adresse IP de votre Raspberry et faites « Open ».

Une console va s’ouvrir.

Console de connexion de Putty

Console de connexion de Putty

Le login par défaut est « pi »et le mot de passe par défaut est « raspberry ». Utilisons-les pour nous connecter dessus.

Voici notre première connexion SSH sur notre Raspberry !

Première connexion en SSH sur le raspberry en profil Pi

Première connexion en SSH sur le raspberry en profil Pi

Continuons la configuration !

Ecrivez la ligne de commande

1
sudo raspi–config

Voici l’écran que vous devriez voir.

Fenêtre de configuration de Raspian

Fenêtre de configuration de Raspian

Faites « entrée » sur « Expand Filesystem » pour étendre la capacité de l’OS à toute la carte SD.

Nous pouvons améliorer la sécurité du profil « pi » du Raspberry en modifiant son mot de passe.

Pour cela, il vous suffit d’aller dans « Change User Password ». Une nouvelle fenêtre va s’ouvrir vous indiquant que vous allez modifier le mot de passe pour « pi ». Appuyez sur « entrée » puis entrez votre nouveau mot de passe. (Aucun caractère ne s’affichera ! Attention de ne pas vous tromper !). Faites « entrée ». Le menu se rouvrira vous indiquant que la modification s’est parfaitement déroulée.

 

Activation du profil « root »

Nous allons à présent activer le profil « root » qui correspond au super-utilisateur du Raspberry.

Commençons tout d’abord par nous connecter avec le profil « pi ».

Tapez :

1
cat /etc/ssh/sshd_config

Vous devriez avoir à l’écran ceci :

Modification à apporter pour autoriser le profil root

Modification à apporter pour autoriser le profil root

Nous pouvons voir la ligne

« PermitRootLogin without-password ». Nous devons la modifier en « PermitRootLogin yes ».
Afin de modifier le fichier nous devons taper

1
sudo nano /etc/ssh/sshd_config

Retrouvez la ligne à modifier puis effectuez le changement. Ensuite faites « ctrl+x » puis « y » puis « enter ».

1
sudo /etc/init.d/ssh restart

Maintenant reconnectez-vous avec le profil « pi ». Entrez cette commande :

1
sudo passwd root

et inscrivez le mot de passe du super utilisateur deux fois.

Faites un reboot, puis connectez-vous cette fois-ci avec le profil « root » et le mot de passe inscrit. A présent vous voilà super administrateur.

 

Installation de VNC

VNC (Virtual Network Connection) est un outil permettant de contrôler de façon graphique son raspberry sans écran annexe, mais en utilisant celui de votre ordinateur.

Dans un premier temps il vous faut installer VNC sur le raspberry grâce à la commande suivante :

1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install tightvncserver

Une fois installé il vous faudra effectuer la commande :

1
vncserver :1 

Cette commande permet de lancer le serveur VNC. La première fois que vous le lancerez, vous devrez entrer un mot de passe. Il vous faudra entrer un mot de passe de 8 caractères. Si vous avez gardé votre mot de passe par défaut « raspberry » il faudra donc écrire « raspberr ».

Côté client il nous faut installer VNC client sur notre ordinateur. Nous pouvons nous le procurer ici http://www.realvnc.com/download/vnc/.

Une fois installé vous devriez voir ceci :

Fenêtre d’authentification côté client de VNC

Fenêtre d’authentification côté client de VNC, insertion de l’adresse IP

Dans le champ « VNC Server », entrez l’adresse de votre raspberry suivi de « :1 ». Ensuite cliquez sur « Connect ».

La fenêtre suivante doit s’ouvrir :

Fenêtre d’authentification côté client de VNC

Fenêtre d’authentification côté client de VNC

Entrez le mot de passe par défaut qui sera « raspberr » puis faites « OK ».

Si un message d’avertissement apparaît, faites « continuer ».

Le bureau de votre raspberry apparaît ici. Vous pouvez à présent contrôler votre raspberry grâce à votre souris et votre clavier à distance.

Interface graphique de Raspian avec VNC

Interface graphique de Raspian avec VNC

Il peut s’avérer utile de lancer le serveur VNC à chaque reboot automatique du raspberry. Pour réaliser cette séquence automatique, il faut écrire séparément et dans l’ordre les commandes suivantes :

1
2
3
4
5
cd /home/pi
cd .config
mkdir autostart
cd autostart
sudo nano tightvnc.desktop

Un fichier vide va s’ouvrir. Il suffit de copier-coller les lignes suivantes :

1
2
3
4
5
6
#!/bin/sh
[Desktop Entry]
Type=Application
Name=tightVNC
Exec=vncserver :1
StartupNotify=false

Ensuite sauvegarder en faisant « ctrl+x » puis « y » puis « enter ».

Redémarrez votre raspberry et tout devrait fonctionner.

Pour fermer la connexion il vous suffit d’écrire « exit » dans la console.

Vous savez à présent installer Raspian et utiliser son interface graphique. Vous pouvez retrouver la liste des commandes utiles lors de l’utilisation du raspberry en ligne de commande ici.

A bientôt

Thomas A.

Interruption et Arduino

By | Intermédiaire Arduino | No Comments

Nous allons voir ensemble dans ce tutoriel l’utilisation d’interruption dans un programme arduino. Les interruptions vont nous permettre d’obtenir des systèmes beaucoup plus rapide et réactifs.

Une interruption c’est quoi ?

Une interruption est un déclenchement qui arrête l’exécution d’un programme ou d’un bout de code pour exécuter une autre fonction.
C’est typiquement le cas lorsque l’on programme un chronomètre. Le temps s’écoule jusqu’au moment où on décide de stopper le chronomètre afin de lire la valeur inscrite sur l’écran.
Une interruption permet ainsi de stopper ou d’effectuer un programme puis d’en reprendre l’exécution à partir de l’instant où il a été stoppé.
 tableau des interruptions
Pour déclencher une interruption, il existe plusieurs solutions :
  • LOW : Passage à état bas du pin
  • FALLING : Detection d’un front descendant (passage de l’état haut à l’état bas)
  • RISING : Detection d’un front montant (passage de l’état bas à l’état haut)
  • CHANGE : Changement d’état du pin

Création d’une interruption

 La fonction à utiliser est la suivante :
  • attachInterrupt(interrupt, function, mode)
    • interrupt : numéro du pin (0 pour le pin 2 et 1 pour le pin 3)
    • function : fonction à appeler
    • mode : type de déclenchement (LOW // FALLING // RISING // CHANGE)

Utilisation

Contexte : Nous voulons que notre chronomètre se stoppe lorsque l’on appui sur un bouton.
Nous allons appeler une fonction « Pause() » lorsque l’utilisateur appuie sur un bouton branché sur le pin 2.
Ainsi, nous aurons la syntaxe suivante :

1
attachInterrupt(0, Pause, FALLING);

Notez l’absence des parenthèse après l’appel de fonction « Pause ». Vous pouvez coder par exemple la fonction « Pause() » un peu plus loin dans le programme.

Lorsque vous utilisez une interruption, tout le programme se met en « pause » et la fonction appelée dans l’interruption prend le relais. Ainsi, les fonctions de temps « delay() », « millis() » seront également stoppée. Veillez à bien faire attention dans vos programmes pour ne pas avoir de mauvaise surprise !

Exemple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int pin = 13;
volatile int state = LOW; //déclaration d'une variable volatile
 
void Setup(){
     pinMode(pin, OUTPUT);
     attachInterrupt(0, blink, CHANGE); //attache l'interruption externe n°0 à la fonction "blink"
}
 
void Loop(){
     digitalWrite(pin, state); //la LED reflète d'état de la variable
}
 
void blink(){
     state = !state; //inverse l'état de la variable
}

Grégoire A.

Image de Une du tutoriel expliquant Labview pour Arduino

Labview pour Arduino

By | Expert Arduino | One Comment

Bonjour à tous !

Aujourd’hui nous allons découvrir comment utiliser le logiciel LabVIEW avec un Arduino. Nous allons voir comment récupérer les données de différents capteurs, comment par l’appuie sur un bouton nous pouvons allumer une LED, faire tourner un moteur. Les applications sont infinies !

LabVIEW est un logiciel développé par National Instruments permettant de coder à l’aide de diagramme. Vous pouvez grâce à ce logiciel créer des outils de mesure et de contrôle souvent très utilisés dans des projets de recherches.

Nous allons partir du principe où vous connaissez les bases de la programmation sous LabVIEW.

Comment installer les VIs Arduino ?

  • Installer LabVIEW en créant un compte sur leur site : http://france.ni.com/
  • Télécharger et installer la dernière version d’évaluation de LabVIEW : http://www.ni.com/trylabview/
  • Télécharger et installer la dernière version des drivers NI-VISA : http://www.ni.com/download/ni-visa-15.0.1/5693/en/
  • Télécharger et installer le module VIPM (VI Package Manager) permettant d’ajouter de nombreux compléments, dont ceux de l’arduino : http://jki.net/vipm/download
    Icône d'installation d'un VI
  • Rechercher « Labview Interface for Arduino » puis cliquer sur (installer)
  • Enfin, rendez-vous à cette adresse (pour ma part, qui devrait être similaire pour vous) « C:\Program Files\National Instruments\LabVIEW 2014\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base »
    Ouvrez le ficher « LIFA_Base.ino » avec la version 1.0.5 de l’IDE Arduino. (le téléversement ne fonctionnera pas avec une autre version) Vous pouvez trouver la version de l’IDE à cette adresse https://www.arduino.cc/en/Main/OldSoftwareReleases

Comment fonctionne LabVIEW ?

Un programme LabVIEW se compose de deux parties. Une partie appelée « Front_Panel » (partie gauche de la photo) est l’interface sur laquelle l’utilisateur va interagir pour commander son arduino. Puis une partie « Block-Diagram » où le programme sera écrit.

Exemple d'un programme Labview

Exemple d’un programme Labview fonctionnant avec un Arduino

Faisons un rappel de la constitution d’un programme arduino. Chaque programme (sketch) est constitué de deux parties :

  • Void setup()
  • Void loop() qui est une boucle while qui tourne en permanence (while(1))

Lorsque nous allons coder un programme Arduino sous LabVIEW nous mettrons donc en premier lieu une structure de type « while loop »

Création d'une boucle while

Création d’une boucle while permettant d’exécuter le programme indéfiniment

Nous allons ensuite pouvoir créer le corps de notre programme à l’aide des deux palettes d’outils précédemment installées :

Ouverture de la palette outils Arduino du Block_Diagram

Ouverture de la palette outils Arduino du Block_Diagram

 

Ouverture de la palette outils Arduino du Front_Panel

Ouverture de la palette outils Arduino du Front_Panel

Une chose importante à savoir, quel que soit le nombre de capteur ou de pin que nous souhaitons gérer, seule une seule fonction « init » est nécessaire. Néanmoins il nous faudra autant de fonction « close » que de fonction dans votre programme.

Description des élément d'un programme

Description des éléments d’un programme

Une fois nos principales composantes du programme placées, il va falloir configurer les ports, la carte, et le Front_Panel. Pour cela, on survole une fonction, on se place au niveau d’un connecteur puis on clique droit et clique sur « create ».

Explication du survole d'une fonction

Explication du survol d’une fonction sur un connecteur pour créer des contrôleurs

Paramètre fonction

Paramètre fonction

A cet instant nous avons le choix entre :

  • Constant : permet de fixer la donnée sans pouvoir la modifier lors de l’exécution du programme
  • Control : permet de modifier la donnée pendant l’exécution du programme
  • Indicator : permet d’avoir un retour visuel sur le connecteur

Le « Control » est intéressant lorsque l’on définit notre matériel, type de carte, port, baud, pin du capteur, état du capteur…

Choisissons « Control ». On se retrouve maintenant dans cette situation. On peut remarquer l’apparition d’un bouton de contrôle sur le Front_Panel.

Création d'un bouton de contrôle

Création d’un bouton de contrôle

Nous allons procéder de la même façon pour les entrées des capteurs.

Avancement du programme : état presque terminé

Avancement du programme : état presque terminé

Voici à présent ce que ça donne. Tous les paramètres ont été créés. Il ne nous reste plus qu’à créer des indicateurs pour lire la valeur des capteurs de température et de luminosité.

Voilà à quoi ressemble notre programme une fois terminé :

Programme final Labview pour Arduino

Programme final Labview pour Arduino

Il ne nous reste plus qu’à connecter l’arduino sur l’ordinateur, d’ouvrir l’IDE 1.0.5 et d’uploader le fichier LIFA_Base.ino sur votre carte. Ensuite lancer le programme LabVIEW en cliquant sur la flèche  ou en faisant « ctrl+r ».

Icône lancement du programme

Pour arrêter le programme, cliquez sur le bouton stop sur le Front_Panel.

 

A quoi cela peut-il servir ?

Il est possible qu’au cours de vos études, vous soyez menés à jumeler arduino et labview. Cela permet d’avoir un contrôle et un visuel virtuel de vos capteurs et de votre système. De plus, étant donné que le code uploadé sur l’arduino n’est jamais modifié, on peut imaginer utiliser seulement une puce AtMega328 bootloadée et programmée afin de créer un arduino maison. Je vous apprendrai à en créer un dans un nouveau tutoriel !

Thomas A.

Image de une tutoriel photorésistance

Apprenez à utiliser une photorésistance

By | Débutant Arduino | One Comment

Bonjour les arduinistes !

Dans ce nouveau tutoriel, nous allons mettre en application à travers un petit projet vos acquis sur l’utilisation des LEDs, de la photodiode et bien évidemment de l’Arduino.

Matériel nécessaire :

  • Une LED
  • Une photodiode
  • Deux résistances, une de 470 Ohm et une de 10 kOhm
  • Un potentiomètre
  • Un écran LCD
  • Un arduino

Voici le schéma du montage que nous allons réaliser.

Je me suis permis d’ajouter un écran LCD afin de visualiser la valeur relevée pas la photodiode. Vous n’êtes pas obligé d’utiliser cet écran pour le fonctionnement du montage.

Schéma de montage d'une photorésistance

Schéma de montage montrant l’application d’une photorésistance dans un projet Arduino

Si vous souhaitez utiliser un écran LCD, n’oubliez pas de câbler le potentiomètre de réglage du contraste de l’écran.

Commençons par regarder la partie 1 du schéma

Qu’est-ce qu’une photorésistance ?
Une photorésistance est une résistance sensible à la lumière. Cela signifie qu’en fonction de la lumière qu’elle perçoit sa résistance va varier. On va donc utiliser cette caractéristique pour réaliser notre montage.

Sur le schéma j’utilise une résistance de 470 Ohm. Lors de mes tests, j’ai utilisé une résistance de 10kOhm. Plus la valeur de la résistance est élevée, plus la sensibilité à la luminosité du capteur sera grande. Mais pas de panique, ça fonctionne très bien avec des résistances plus faibles.

Regardons la partie 2

Il s’agit ici du montage de l’écran LCD, je ne vous apprends rien. Dans mon cas j’ai suivi la datasheet et câblé en 4 bits.

Regardons pour finir la partie 3

Il s’agit du branchement d’une diode. Rien de plus simple ! N’oubliez quand même pas de mettre une résistance pour protéger votre LED.

Passons maintenant au code !

Dans un premier temps, il nous faut déclarer nos variables

1
2
3
4
#include 
//LiquidCrystal(rs, enable, d4, d5, d6, d7);
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
const int L1 = 12;

Vous pouvez le voir, nous avons besoin d’importer la librairie relative à l’écran LCD.
Ensuite je définis un « LiquidCrystal » que je nomme « lcd » auquel je lui affilie des entrées sur la carte Arduino.

Et enfin je crée une constante pour ma LED.

Une fois les variables définies, nous initialisons notre programme dans le setup.

1
2
3
4
5
6
7
8
9
void setup()
{
//Définition du type d'afficheur
//Ici un 4 lignes de 20 caractères
lcd.begin(20,4);
 
pinMode(A0, INPUT);
pinMode(L1, OUTPUT);
}

La photorésistance est une entrée analogique. Toutes mes entrées étant libre, je décide arbitrairement de me connecter au pin A0.

Et enfin, nous déclarons notre LED comme étant une sortie.

Pour ce qui est du reste du code, ce qui va permettre de gérer la fonction, j’ai créé une fonction afin d’alléger la « loop »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void loop()
{
int val = display_lux_tempsExec();
digitalWrite(L1, HIGH);
if (val < 700)
{
digitalWrite(L1, LOW);
}
}
 
int display_lux_tempsExec()
{
int val = analogRead(A0) ;
lcd.setCursor(1, 0);
lcd.print("Valeur lumiere :");
lcd.setCursor(5, 1);
lcd.print(val);
lcd.print(" lux ");
lcd.setCursor(1, 2);
lcd.print("Temps d'execution :");
lcd.setCursor(5, 3);
lcd.print(millis()/1000);
lcd.print (" sec");
return val ;
}

Concentrons-nous sur la fonction display_lux_temps_Exec().
Cette fonction permet d’afficher en temps réel les variations lumineuses ainsi que le temps d’exécution du programme.

Regardons à présent la fonction loop().
Cette fonction tourne à l’infini.
On exécute donc en boucle la fonction d’affichage sur l’écran LCD.

De plus, nous faisons un test de condition qui permet de gérer l’allumage de la LED si la luminosité descend en dessous de 700 dans mon exemple. Vous pouvez modifier cette valeur en fonction de votre environnement intérieur.

 

Voilà, vous savez dès à présent contrôler votre photorésistance à travers ce petit tutoriel.

Les applications sont infinies ! N’hésitez pas à imaginer de nouvelles applications.

Thomas A.