<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://projets-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Omahieux</id>
		<title>Wiki de Projets IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://projets-ima.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Omahieux"/>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Omahieux"/>
		<updated>2026-05-14T06:59:12Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40949</id>
		<title>Fichier:PatternMG.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40949"/>
				<updated>2017-03-29T13:57:24Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : a téléversé une nouvelle version de « Fichier:PatternMG.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40948</id>
		<title>Fichier:PatternMG.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40948"/>
				<updated>2017-03-29T13:55:59Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : a téléversé une nouvelle version de « Fichier:PatternMG.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40947</id>
		<title>Fichier:PatternMG.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40947"/>
				<updated>2017-03-29T13:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : a téléversé une nouvelle version de « Fichier:PatternMG.png »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40946</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40946"/>
				<updated>2017-03-29T13:51:46Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schéma de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, rétrécissement des pistes.&lt;br /&gt;
*Recherche sur le protocole LoRa et prise en main des deux modules Lora &amp;quot;Feather&amp;quot; qui sont préférés à d'autres solutions pour leur modularité (microprocesseur et liaison série intégrés) et leur simplicité de programmation (par arduino IDE).&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
*Premier échange de données entre les deux modules Feather avec un exemple de code réception/transmission de la documentation.&lt;br /&gt;
Modification du code afin de lire sur la liaison série du module Lora embarqué les données provenant de la carte Raspberry. Elles sont ensuite envoyées au module Lora de réception.&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
*Réception des capteurs de pression, lecture de la datasheet pour mise en fonctionnement de la liaison I2C.&lt;br /&gt;
*Problème rencontré lors de la recherche des registres pour la communication I2C : la commande système affiche les registres disponibles et notamment le registre de lecture dont nous avons besoin. Cependant, de nombreux registres sont disponibles mais aucune information n'est présente dans la datasheet pour le choix du bon registre. De plus, à chaque appel de la commande système, les registres changent de manière aléatoire.&lt;br /&gt;
Solutions envisagées : choisir un registre selon une plage (infructueux), trouver l'identifiant du composant et réaliser nos communications avec celui-ci ou alors passer la liaison en liaison SPI. Nous retenons la mise en place d'une liaison SPI plus simple.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40943</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40943"/>
				<updated>2017-03-29T13:50:33Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schéma de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, rétrécissement des pistes.&lt;br /&gt;
*Recherche sur le protocole LoRa et prise en main des deux modules Lora &amp;quot;Feather&amp;quot; qui sont préférés à d'autres solutions pour leur modularité (microprocesseur et liaison série intégrés) et leur simplicité de programmation (par arduino IDE).&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
*Premier échange de données entre les deux modules Feather avec un exemple de code réception/transmission de la documentation.&lt;br /&gt;
Modification du code afin de lire sur la liaison série du module Lora embarqué les données provenant de la carte Raspberry. Elles sont ensuite envoyées au module Lora de réception.&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
*Réception des capteurs de pression, lecture de la datasheet pour mise en fonctionnement de la liaison I2C.&lt;br /&gt;
*Problème rencontré lors de la recherche des registres pour la communication I2C : la commande système affiche les registres disponibles et notamment le registre de lecture dont nous avons besoin. Cependant, de nombreux registres sont disponibles mais aucune information n'est présente dans la datasheet pour le choix du bon registre. De plus, à chaque appel de la commande système, les registres changent de manière aléatoire.&lt;br /&gt;
Solutions envisagées : choisir un registre selon une plage (infructueux), trouver l'identifiant du composant et réaliser nos communications avec celui-ci ou alors passer la liaison en liaison SPI. Nous retenons la mise en place d'une liaison SPI plus simple.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40942</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40942"/>
				<updated>2017-03-29T13:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|humb|left]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schéma de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, rétrécissement des pistes.&lt;br /&gt;
*Recherche sur le protocole LoRa et prise en main des deux modules Lora &amp;quot;Feather&amp;quot; qui sont préférés à d'autres solutions pour leur modularité (microprocesseur et liaison série intégrés) et leur simplicité de programmation (par arduino IDE).&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
*Premier échange de données entre les deux modules Feather avec un exemple de code réception/transmission de la documentation.&lt;br /&gt;
Modification du code afin de lire sur la liaison série du module Lora embarqué les données provenant de la carte Raspberry. Elles sont ensuite envoyées au module Lora de réception.&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
*Réception des capteurs de pression, lecture de la datasheet pour mise en fonctionnement de la liaison I2C.&lt;br /&gt;
*Problème rencontré lors de la recherche des registres pour la communication I2C : la commande système affiche les registres disponibles et notamment le registre de lecture dont nous avons besoin. Cependant, de nombreux registres sont disponibles mais aucune information n'est présente dans la datasheet pour le choix du bon registre. De plus, à chaque appel de la commande système, les registres changent de manière aléatoire.&lt;br /&gt;
Solutions envisagées : choisir un registre selon une plage (infructueux), trouver l'identifiant du composant et réaliser nos communications avec celui-ci ou alors passer la liaison en liaison SPI. Nous retenons la mise en place d'une liaison SPI plus simple.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40837</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40837"/>
				<updated>2017-03-27T18:55:37Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
| 8&lt;br /&gt;
| 10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schéma de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, rétrécissement des pistes.&lt;br /&gt;
*Recherche sur le protocole LoRa et prise en main des deux modules Lora &amp;quot;Feather&amp;quot; qui sont préférés à d'autres solutions pour leur modularité (microprocesseur et liaison série intégrés) et leur simplicité de programmation (par arduino IDE).&lt;br /&gt;
&lt;br /&gt;
===Semaine 6===&lt;br /&gt;
*Premier échange de données entre les deux modules Feather avec un exemple de code réception/transmission de la documentation.&lt;br /&gt;
Modification du code afin de lire sur la liaison série du module Lora embarqué les données provenant de la carte Raspberry. Elles sont ensuite envoyées au module Lora de réception.&lt;br /&gt;
&lt;br /&gt;
===Semaine 7===&lt;br /&gt;
*Réception des capteurs de pression, lecture de la datasheet pour mise en fonctionnement de la liaison I2C.&lt;br /&gt;
*Problème rencontré lors de la recherche des registres pour la communication I2C : la commande système affiche les registres disponibles et notamment le registre de lecture dont nous avons besoin. Cependant, de nombreux registres sont disponibles mais aucune information n'est présente dans la datasheet pour le choix du bon registre. De plus, à chaque appel de la commande système, les registres changent de manière aléatoire.&lt;br /&gt;
Solutions envisagées : choisir un registre selon une plage (infructueux), trouver l'identifiant du composant et réaliser nos communications avec celui-ci ou alors passer la liaison en liaison SPI. Nous retenons la mise en place d'une liaison SPI plus simple.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40107</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40107"/>
				<updated>2017-03-09T11:00:40Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche sur le protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40106</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40106"/>
				<updated>2017-03-09T11:00:01Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40105</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40105"/>
				<updated>2017-03-09T10:53:42Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]] &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40104</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40104"/>
				<updated>2017-03-09T10:50:29Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|700px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40103</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40103"/>
				<updated>2017-03-09T10:47:50Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
*Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|1000px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40102</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40102"/>
				<updated>2017-03-09T10:45:35Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|400px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|1000px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40101</id>
		<title>Fichier:PatternMG.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PatternMG.png&amp;diff=40101"/>
				<updated>2017-03-09T10:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40100</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40100"/>
				<updated>2017-03-09T10:43:51Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Semaine 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
Ci-dessous le composant de bibliotheque cree &lt;br /&gt;
[[Fichier:PatternMG.png|700px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|1000px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40099</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40099"/>
				<updated>2017-03-09T10:35:05Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|1000px|thumb|left]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 5===&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40098</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40098"/>
				<updated>2017-03-09T10:34:00Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png|200px|thumb|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 5==&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40097</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40097"/>
				<updated>2017-03-09T10:27:26Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 5==&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40096</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40096"/>
				<updated>2017-03-09T10:25:45Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:SchematicMG.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 5==&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchematicMG.png&amp;diff=40095</id>
		<title>Fichier:SchematicMG.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:SchematicMG.png&amp;diff=40095"/>
				<updated>2017-03-09T10:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40094</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40094"/>
				<updated>2017-03-09T10:20:49Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
[[Fichier:Schematic.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 5==&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40093</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=40093"/>
				<updated>2017-03-09T10:17:18Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessin et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
*Schema de notre circuit pour le capteur de temperature &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 5==&lt;br /&gt;
*Activation de la communication i2c qui nous permettra l'échange de données entre les capteurs et la carte Raspberry. Prise en main à l'aide d'un capteur de lumière en attendant l'usinage des PCB.&lt;br /&gt;
*Probleme de routage du PCB et revision des contraintes de routage, retrecissement des pistes.&lt;br /&gt;
*Recherche du protocole LoRa et prise en main de la documentation du module nous utiliserons la transission serie afin de communiquer avec nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=39297</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=39297"/>
				<updated>2017-02-19T14:35:57Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
===Semaine 4===&lt;br /&gt;
*Définition des règles de dessein et routage de la carte PCB pour notre capteur de température, envoi du fichier à la rentrée pour sa création physique. Début de la création du fichier Altium pour réaliser le PCB de nos modules LoRa.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=39217</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=39217"/>
				<updated>2017-02-15T17:01:13Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
Afin d’acquérir des mesures sur plusieurs grandeurs physiques à haute altitude (20 000m-30 000m), le ballon atmosphérique fut largement utilisé dans la météorologie jusqu’à l’avènement de moyens plus modernes pour les prévisions météo, notamment avec la mise en orbite de satellites d’observation. &lt;br /&gt;
&lt;br /&gt;
La demande croissante en objetsconnectés de ces dernières années a abouti au développement d’un réseau en capacité de répondre aux nouvelles exigences de ces systèmes. Le réseau LoRA (pour Low Range transmission network) permet la transmission de données à faible bande passante et de manière moins énergivore que d’autres moyens de communications.&lt;br /&gt;
&lt;br /&gt;
Notre projet aura donc pour but de développer une sonde atmosphérique utilisant le réseau LoRa.&lt;br /&gt;
&lt;br /&gt;
====Description du système ====&lt;br /&gt;
Ce dispositif est composé d’une enveloppe contenant de l’hélium. Ce gaz étant plus léger que l’air ambiant, il exerce une force verticale qui fera monter une nacelle jusqu’à l’altitude d’éclatement de l’enveloppe. En effet, la pression diminuant avec l’altitude, le gaz emprisonné prend de plus en plus de volume et, à terme, fait éclater le ballon.&lt;br /&gt;
S’en suit une chute libre ralentit par un parachute jusqu’à l’atterrissage au sol.&lt;br /&gt;
&lt;br /&gt;
====Composition de la nacelle====&lt;br /&gt;
Le système embarqué est autonome et doit donc emporter la bonne quantité en énergie pour être alimenté pour toute la durée du vol. De plus, il doit pouvoir faire l’acquisition ainsi que la transmission des données.&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
* Electronique embarquée :&lt;br /&gt;
Notre nacelle transmettra à minima les relevées en temps réel de températures (intérieure et extérieure) ainsi que d’altitude et de pression (les deux étant liées l’une à l’autre) via le réseau LoRa. &lt;br /&gt;
Après discussion avec M.Redon, une solution impliquant une Arduino sera certainement écarté au profit d’une solution avec carte Raspberry Pi et module LoRa qui simplifiera la gestion de numérisation et d’envoi des données.&lt;br /&gt;
&lt;br /&gt;
Idéalement une caméra reliée à une Raspberry Pi stockera des images sur une carte SD.&lt;br /&gt;
De plus, un module GPS pourrait être ajouté en fonction des contraintes dans le but du suivi et d’une éventuelle récupération de la nacelle après retour au sol.&lt;br /&gt;
Des batteries correctement dimensionnées et utilisant la bonne technologie assureront l’alimentation du système. &lt;br /&gt;
&lt;br /&gt;
* Structure de la nacelle :&lt;br /&gt;
Pour protéger la partie électronique sensible aux faibles températures, la nacelle sera équipée de chaufferettes chimiques permettant de maintenir la température à un niveau convenable.&lt;br /&gt;
De plus, une couverture réfléchissante, de type couverture de survie, enveloppera la nacelle pour mieux l’isoler thermiquement.&lt;br /&gt;
Enfin, pour limiter le poids de l’ensemble, la structure sera faite de polystyrène.&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
Afin de mener à bien, plusieurs étapes sont nécessaires, à savoir: &lt;br /&gt;
*l'étude des conditions de lancements (notamment auprès de la DGAC) pour un tel objet volant.&lt;br /&gt;
*les tests sur l'enveloppe afin de déterminer sa capacité en volume  et son altitude maximum potentielle.  &lt;br /&gt;
*le dimensionnement des batteries. &lt;br /&gt;
*intégration du module GPS et LoRA.  &lt;br /&gt;
*la conception de la nacelle et le câblage de la partie électronique (capteurs, Raspberry etc).&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 3&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
*Etude des différents moyens électroniques de mesure et de communications (modules LoRa, capteurs, microcontrôleurs).&lt;br /&gt;
*Prise de contact avec la DGAC (direction générale de l'aviation civile) pour renseignement sur les autorisations d'envol. &lt;br /&gt;
*Analyse fonctionnelle du système global afin d'avoir une vision d'ensemble du système.&lt;br /&gt;
&lt;br /&gt;
===Semaine 2===&lt;br /&gt;
* Après avoir contacté l'association Planète Science, nous en savons plus sur la partie administrative:&lt;br /&gt;
Les autorisations d'envol doivent être demandés au minimum 30 jours avant l'envol auprès de la DGAC et de l'aviation civile Belge. De plus, il faut pouvoir nous couvrir en cas d'incident (à l’atterrissage de la nacelle par exemple). L'association pourrait nous couvrir mais il faudrait se conformer à leur propre système et leur propre cahier des charges. &lt;br /&gt;
Après concertation avec les tuteurs, nous continuons notre travail mais plutôt dans l'optique d'un test (avec la nacelle embarquée dans un drone ou dans une voiture) que d'un lancé réel engageant notre responsabilité.&lt;br /&gt;
* Fin de la liste du matériel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Semaine 3===&lt;br /&gt;
*Une Raspberry 2 nous a été donné et après quelques difficultés, le système Raspbian est installé sur la carte SD. Nous commençons la prise en main du système (prise de photo, gestion de la liaison I2C...)&lt;br /&gt;
*Étude approfondie de la datasheet du capteur de température, prise en main d'Altium et création de la bibliothèque pour notre composant dans le but de créer une plaque où l'on pourra souder ce composant cms.&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38791</id>
		<title>Projets IMA4 SC &amp; SA 2016/2017</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38791"/>
				<updated>2017-02-09T11:32:32Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en demandant une modification du format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
Toutes les sources doivent être déposées sur notre archive GIT. Le service est disponible à l'URL [https://archives.plil.fr archives.plil.fr]. Connectez-vous avec vos identifiants Polytech'Lille. Sauf indication contraire de vos encadrants, rendez le projet public et mettez le lien sur votre Wiki. Vous pouvez trouver de la documentation sur ce système d'archives sur ce [https://git-scm.com/book/fr/v1 site].&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Encadrants école !! Elèves&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
| Xavier Redon&lt;br /&gt;
| Haroun Abdelali&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Wenyu sun / Xinyue xu&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
| Fanny Moreau / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Martin Rohmer / Kévin Godesence&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
| Marion Binninger / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Robin Cavalieri / Edmur Lopes&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon&lt;br /&gt;
| Cedric Roussel / Thomas Stievenard&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
| Rodolphe Astori / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Mame Arame Diop / Amina Fahem&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
| Lucas Prieux / Hidéo Vinot / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Antoine Arnaudet / Vivian Senaffe&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
| Rochdi Merzouki / Vincent Coelen / Valentin Vergez&lt;br /&gt;
| Butaye Marianne / François Duport&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
| Rochdi Merzouki / Thomas Danel / Valentin Vergez&lt;br /&gt;
| Samy Belhouachi / François Xavier Cockenpot&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Cheikh Said Ahmed / Khadija El Messnaoui&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Manlu Luo / Xinyi Wang&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Olivier Mahieux / Grillère Baptiste&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
| Xavier Redon / Gilles Dhaussy&lt;br /&gt;
| Rodolphe Toin&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Jade Dupont (valentin)&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Thomas Gosse / Bacem Hagui&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Tristan Hart / Etienne Profit&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Nicky Ung / Alexis Macherez&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
| Betty Semail / Laurent Grisoni / Frédéric Giraud&lt;br /&gt;
| Alice Coffin / Diana Marrucho&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
| Alexandre Boé / Thomas Vantroys / Xavier Redon&lt;br /&gt;
| Lutecia Damiens / Alexis Dorian&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Hugo Delatte&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé / Thomas Vantroys&lt;br /&gt;
| Loïc Tombazzi / Marius Trimbur&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
| Thomas Vantroys&lt;br /&gt;
| Marouan Mcharfi / Tristan Lopez&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Alexandre Huet / François Lefevre&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Djamil Mohammed / Hamza Kerroum&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Jean-Baptiste Saison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matériel à acquérir ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Matériel&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
|   &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3* Capteur de température[http://www.mouser.fr/ProductDetail/Microchip-Technology/TC1047VNBTR/?qs=sGAEpiMZZMucenltShoSnjkfRJmEyKRQimeb4yJa%2fn8%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3* ATmega32u4-AU (package TQFP), [http://www.microchipdirect.com/ProductDetails.aspx?Category=ATmega32U4]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* Connecteur USB Zx20-B-5S-UINT(30)[http://www.mouser.fr/ProductDetail/Hirose-Electric/ZX20-B-5S-UNIT30/?qs=%2fha2pyFaduiI1PHIQp025swiTaQgBs3xrF3lm%2fjmZrmtw6zfCgwPXHsVofi5faNN]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3* quartz 16Mhz &amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;6* Chip guard[http://eu.mouser.com/ProductDetail/Bourns/CG0603MLC-05E/?qs=%2fha2pyFaduj8GWc5RpRwWsoz%252bsBNDfM0b%2fMwO0m8cAS%252b28tb9AwLWQ%3d%3d]&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3* Fusibles réarmables[http://eu.mouser.com/ProductDetail/Bourns/MF-MSMF050-2/?qs=%2fha2pyFadujDIyYlSEAmAtmxzhQX2R56dU6AOyKWoF1gS%2fKyt5ZQcQ%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* 6 positions header [http://eu.mouser.com/ProductDetail/Molex/105310-1306/?qs=sGAEpiMZZMs%252bGHln7q6pmxm1xRErLtPiAz7QqgKNzWmKHFN4gvgBbg%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* 4 positions header [http://eu.mouser.com/ProductDetail/Molex/105310-1304/?qs=sGAEpiMZZMs%252bGHln7q6pmxm1xRErLtPipANyF1COhqO4PscJr%252bmjiQ%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2* résistances de 22 ohm&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* résistances de 10k ohm&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* résistances de 1M ohm&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2* capacités de 22 pF&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* capacité de 1 uF&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* capacité de 100 nF&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* diode&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Adaptateur 5V [http://www.gotronic.fr/art-adaptateur-mv530n-8000.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Embase adaptateur [http://www.gotronic.fr/art-embase-alim-sa21a-14961.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Arduino mini [http://fr.rs-online.com/web/p/kits-de-developpement-pour-processeurs-et-microcontroleurs/7617327/]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Modules bluetooth [http://fr.rs-online.com/web/p/modules-bluetooth/1244407/]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; Capteur de température [http://www.mouser.fr/ProductDetail/Maxim-Integrated/MAX31725MTA+/?qs=sGAEpiMZZMucenltShoSnuJtr4xlG60lboc%252bnebe514%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Accéléromètre [http://www.mouser.fr/ProductDetail/NXP-Freescale/MMA8652FCR1/?qs=sGAEpiMZZMs0JOhy9PM0USp5vOY2ClxODTM36syD6sQ%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 4*Vibreurs [http://www.gotronic.fr/art-vibreur-miniature-vm1201-20685.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 5*Servomoteurs [http://www.gotronic.fr/art-servomoteur-s07nf-25182.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 5* Capacité 0.1µF (*1 capteur température, *2 accéléromètre, 2* régulateur)[http://fr.farnell.com/walsin/0805b104k500ct/condensateur-mlcc-x7r-0-1uf-50v/dp/2496944]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 3*Résistance 4.7kohms ( capteur température) [http://fr.farnell.com/vishay/crcw08054k70fkta/res-couche-epaisse-4-7k-1-0-125w/dp/1653013RL]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2*Capacité 0.33µF (régulateur) [http://www.mouser.fr/ProductDetail/Wurth-Electronics/885012105003/?qs=sGAEpiMZZMvzv9EAOJZmO9b76UYLhwTmM7EN2czdHKU%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Régulateur 3.3V [http://www.gotronic.fr/art-servomoteur-s07nf-25182.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; ARduino uno pour essais&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Servomoteur pour essais&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Accéléromètre 4 ADXL335[http://www.gotronic.fr/art-module-accelerometre-adxl335-3-axes-ef03049-23504.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module Adafruit 9-DOF [http://www.gotronic.fr/art-module-9-dof-ada2472-23896.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Câble 12 conducteurs  [http://fr.farnell.com/pro-power/pp000342/cable-12-conducteurs-0-5mm2-25m/dp/2440126]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Arduino Mega&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Résistance &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module WIFI ESP 8266 [http://www.gotronic.fr/art-module-wifi-serie-esp8266-113990084-23666.htm]&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Arduino UNO x5&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Atmega 328p [http://fr.farnell.com/atmel/atmega328p-pu/micro-8-bits-avr-32k-flash-28pdip/dp/1715487]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Atmega 328p CMS [http://fr.farnell.com/atmel/atmega328p-au/micro-8-bits-avr-32k-flash-32tqfp/dp/1715486?selectedCategoryId=&amp;amp;exaMfpn=true&amp;amp;categoryId=&amp;amp;searchRef=SearchLookAhead&amp;amp;searchView=table&amp;amp;iscrfnonsku=false]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;FT232R (*2) [http://fr.farnell.com/ftdi/ft232rl-reel/usb-vers-uart-ssop28-232/dp/1146032]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;USB (*2) [http://fr.farnell.com/wurth-elektronik/65100516121/mini-usb-2-0-type-b-receptacle/dp/1642036]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Led (*4)[http://fr.farnell.com/kingbright/kph-1608sgc/led-12mcd-vert-568nm/dp/2426215]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;bouton(*2) [http://www.mouser.fr/ProductDetail/E-Switch/LL3301NF065QG/?qs=sGAEpiMZZMvxtGF7dlGNpqqmTFthXBmf0KM%252bqj1KR%252bA%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Diode(*2)[http://eu.mouser.com/ProductDetail/Microsemi/1N4148UR-1/?qs=sGAEpiMZZMtoHjESLttvkmKnFwXErGnblScnaPsZQPwnq%2fwjQSnhEg%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;LM1117(*2) [http://www.mouser.fr/new/Texas-Instruments/nationalLM1117/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;TB6612FNG (*2) [http://www.gotronic.fr/art-commande-de-2-moteurs-tb6612fng-2x1a-21716.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Quartz 16 MHz (*2)[http://fr.farnell.com/raltron/as-16-000-18/quartz-16mhz-18pf-hc-49s/dp/1611761?MER=bn_para_1TP_LastViewed_3]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;RJ11(*6) [http://fr.farnell.com/molex/95522-2667/fiche-rj11-cat3-6-6/dp/2060715]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 1k &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 470 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 100 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 1M &amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capacité 10 nF &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capacité 10uF &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capacité 22pF &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''MATERIELS CAPTEUR DE LIGNE'''[http://projets-imasc.plil.net/mediawiki/index.php?title=Finalisation_de_cartes_de_contr%C3%B4le_de_robot#Carte_capteur_de_ligne]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''MATERIELS CAPTEUR ULTRASON'''[http://projets-imasc.plil.net/mediawiki/index.php?title=Finalisation_de_cartes_de_contr%C3%B4le_de_robot#Carte_capteur_ultrason_.28en_cours.29]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''MATERIELS CODEUR INCREMENTAL'''[http://projets-imasc.plil.net/mediawiki/index.php?title=Finalisation_de_cartes_de_contr%C3%B4le_de_robot#Carte_Odom.C3.A8tre_.28en_cours.29]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs IR (x20), RS [http://fr.rs-online.com/web/p/led-ir/6548334/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Phototransistors IR (x20), RS [http://fr.rs-online.com/web/p/phototransistors/6548047/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers moteur Pololu (x1), GoTronic [http://www.gotronic.fr/art-commande-de-2-moteurs-tb6612fng-2x1a-21716.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers moteur TB6612FNG (x3), Mouser [http://www.mouser.fr/Search/ProductDetail.aspx?qs=rsevcuukUAy2UalRuv4E%2fQ%3d%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Borniers à vis (x20), Farnell [http://fr.farnell.com/camdenboss/ctb0502-2/bornier-carte-a-fil-2-voies-12awg/dp/2493622?MER=en-me-sr-b-all]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances 220 Ohms CMS (x20), Mouser [http://www.mouser.fr/ProductDetail/Vishay-Dale/CRCW0603220RFKEA/?qs=sGAEpiMZZMtlubZbdhIBIKySljYCMs0HAiopx1mcVY0%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances 470 kOhms CMS (x30), Mouser [http://www.mouser.fr/ProductDetail/Panasonic/ERJ-3GEYJ474V/?qs=sGAEpiMZZMtlubZbdhIBIDkNbKahCB4%252bXwMzav7V8qQ%3d],&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs couleur (x10), RS [http://fr.rs-online.com/web/p/led/8134845/]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Fils m-m (x1 lot de 65), Farnell [http://fr.farnell.com/multicomp/mcbbj65/assortiment-de-jumper-fil-65pcs/dp/2396146]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capas 10uF CMS (x20) Mouser [http://www.mouser.fr/ProductDetail/Murata-Electronics/ZRB18AR61C106ME01L/?qs=sGAEpiMZZMs0AnBnWHyRQPHsfd5klL7FP%2fi0oh%252bVTwkomqr6NYKsqQ%3d%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capas 0.1uF CMS (x20) Mouser [http://www.mouser.fr/ProductDetail/Kemet/C0603C104K4RACTU/?qs=sGAEpiMZZMs0AnBnWHyRQFqPnX0OlvcoGdtRY%252bgH1%2fs%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Embases CI 40 contacts 1 rangée (x6) RS [http://fr.rs-online.com/web/p/embases-de-circuit-imprime/4232841/]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capteurs Ultrasons SR04 (x3), &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Piles ou accumulateurs (x16 à 1.5V), &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Odomètres codeurs (x4) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Boutons poussoirs (x4) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Interrupteurs (x4) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Colliers de serrage &amp;lt;/span&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
‎&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de température DS75LV [http://www.mouser.fr/ProductDetail/Maxim-Integrated/DS75LVU+/?qs=sGAEpiMZZMucenltShoSnqz2Nq7rAtSUouPEUh693aE%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de pression [http://www.mouser.fr/ProductDetail/Measurement-Specialties/5525DSO-SB005GS/?qs=sGAEpiMZZMvhQj7WZhFIAJ6e00q4%2fiLk8vQEbfsXmbvuJAmWYTr67w%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Accéléromètre ADXL345 [http://fr.farnell.com/analog-devices/eval-adxl345z/carte-d-evaluation-adxl345-inerti/dp/2301487]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module LoRa pour RaspberryPi [http://snootlab.com/shields-snootlab/1152-chistera-pi-12-lora-accessoires-fr.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module de réception LoRa terrestre : SX1272 development kit [http://www.lextronic.fr/P37768-module-radio-oem-arm-n8-lorawan.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module GPS [http://www.mouser.fr/ProductDetail/STMicroelectronics/STA8088EXG/?qs=sGAEpiMZZMvxLC1VZo1hVp6X3j5yCzMqjrWPSiQrEwU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;1 RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Batterie 5000 mAh [http://fr.rs-online.com/web/p/batteries-externes/7757508/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;1 carte microSD pour Raspberry 8GB&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Accéléromètre ADXL335 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino Nano &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; 2x Module XBee + 1x Shield &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino UNO &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Xbee Adapter Board&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte RaspberryPi (Au minimum modèle 2)&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Alimentation MicroUSB pour RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte MicroSD 16Gb&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Dongle Bluetooth BLED112-V1[http://fr.rs-online.com/web/p/adaptateurs-bluetooth/8077742/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de mesure Sharp GP2Y0A02YK x3 [http://www.gotronic.fr/art-capteur-de-mesure-sharp-gp2y0a02yk-11536.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Récepteur LoRa 433/868Mhz&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte cc430f5137 868MHz&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 antenne 868MHz[http://www.mouser.fr/ProductDetail/Linx-Technologies/ANT-868-CW-HWR-RPS/?qs=sGAEpiMZZMuBTKBKvsBmlOBg0H7cD5uyLmjn8%2f6ScJQ%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Breadboard&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Quelques LEDs&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;pour 433MHz&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;(carte arduino + cc1101)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;Quartz 26MHz [http://fr.farnell.com/txc/7a-26-000maaj-t/crystal-26mhz-18pf-5-x-3-2mm/dp/2061710]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;2 antennes 433MHz[http://www.mouser.fr/ProductDetail/LPRS/ANT-SR433/?qs=sGAEpiMZZMuBTKBKvsBmlL2JeKAJ5GlFgePIl66EJDQoPGtUlcrRBQ%3d%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2 carte LoRa 3179 Adafruit [http://www.mouser.fr/ProductDetail/Adafruit/3179/?qs=sGAEpiMZZMuC4zZxLL0ZTXmUcMwoRc9uEac7jsWPYbgAg4D4CJduaQ==],&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2 cartes Arduino (connecteurs USB &amp;amp; alimentation),&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
|&lt;br /&gt;
Aucun matériel nécessaire&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;Émetteur et récepteur infrarouge/photodiode, (seulement 1 de chaque prêtées, il en faut 6 à 7 de chaque)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Adaptateur PS512S,  [http://www.gotronic.fr/art-adaptateur-ps512s-19913.htm] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Shield carte SD, (carte SD également)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module horloge temps réel (RTC), [http://www.gotronic.fr/art-module-horloge-temps-reel-ada3296-25536.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capteur Ultrason, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Arduino méga, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;ESP8266, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Servomoteur 360, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;Solution de secours : Rapsberry, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;Solution de secours : Balance &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry pi modèle B minimum&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;batterie&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;circuit shut down(une breadboard, une LED, une resistance 220 ohms, 3 fils M/M, 2 fils M/F)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;un interrupteur on/off Référence : 7547 Selectronic&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;bois de palette&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;dongle wi pi&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Rétroprojecteur&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;timer(circuit de retardement 5 secondes)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Deux lasers de différentes couleurs&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Une paire de galvanomètres à miroir&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Arduino&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry Pi3&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Câble secteur&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers galvanomètres x2&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Alimentation laser&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Lunette de sécurité x2 [https://www.amazon.fr/Uvex-S1933X-Eyewear-SCTOrange-Anti-Fog/dp/B000USRG90/ref=sr_1_1?ie=UTF8&amp;amp;qid=1485441383&amp;amp;sr=8-1&amp;amp;keywords=uvex+s1933x]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Alimentation 230V/5V 1A [http://www.miniinthebox.com/fr/dual-usb-eu-prise-murale-5v-2a-voyage-adaptateur-chargeur-d-alimentation-pour-iphone7-6-xiaomi-samsung-et-autre-telephone-portable_p5410410.html?currency=EUR&amp;amp;litb_from=paid_adwords_shopping&amp;amp;sku=429_6917%7C752_20648&amp;amp;utm_source=google_shopping&amp;amp;utm_medium=cpc&amp;amp;adword_mt=&amp;amp;adword_ct=138705676724&amp;amp;adword_kw=&amp;amp;adword_pos=1o5&amp;amp;adword_pl=&amp;amp;adword_net=g&amp;amp;adword_tar=&amp;amp;adw_src_id=9653316068_661261352_33588296076_aud-79897721311:pla-256966386459&amp;amp;gclid=Cj0KEQiA_KvEBRCtzNil4-KR-LIBEiQAmgekFxxKjJJWBYCJlDZEa3Ke_2_WR0DzGVbz-jaCZHVIBoMaAvld8P8HAQ]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Boitier ABS [http://fr.farnell.com/multicomp/g3118/boitier-abs-240x120x60mm-ip65/dp/1526656]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;DAC 4 canaux, avec interface I²C [http://www.mouser.fr/ProductDetail/Adafruit/1083/?qs=sGAEpiMZZMsMyYRRhGMFNtB2KhoPg%2fPbP3CExTYfM4M%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Connecteur C14 [http://www.conrad.fr/ce/fr/product/715001/Connecteur-secteur-C14-Embase-male-verticale-715001-Nombre-de-poles-2-PE-10-A-noir-1-pcs/?ref=detview1&amp;amp;rt=detview1&amp;amp;rb=1]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Un Minitel 1 Bistandard Alcatel Telic&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un connecteur DIN 5 broches[http://www.selectronic.fr/din-cordon-male-5-broches-45.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un Arduino Uno [http://www.selectronic.fr/carte-arduino-uno.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un module Ethernet [http://www.selectronic.fr/shield-ethernet-v2.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; deux optocoupleurs 4N25&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Rfduino DIP board + USB shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD90101/?qs=sGAEpiMZZMsrChSOYEGTCSSoddgmKGJ7o1oPrqG%2fa%2fU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Rfduino Dual AAA shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22126/?qs=sGAEpiMZZMsrChSOYEGTCTCnakKeCOV7XxQSzqVKQX4%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Clef wifi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2 piles de 1,5V AAA &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 buzzer, Mouser [http://www.mouser.fr/ProductDetail/TDK/PS1240P02BT/?qs=sGAEpiMZZMtWZVZ%2fjgUYS49cTVUJP3OaWyx1fxdmA7I%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 accéléromètre, mouser [http://www.mouser.fr/ProductDetail/NXP-Freescale/MMA8653FCR1/?qs=sGAEpiMZZMs0JOhy9PM0USp5vOY2ClxOY1G2fK3tzYI%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3 LEDs de couleurs différentes, 2 Mouser Rouge[http://www.mouser.fr/ProductDetail/Lumex/SSL-LX5093LBI-SRD/?qs=sGAEpiMZZMvHYEB9WUp7ElLqM0HAvqw07NtkT0umwJ8%3d], Mouser Vert [http://www.mouser.fr/ProductDetail/Dialight/521-9465F/?qs=sGAEpiMZZMvHYEB9WUp7EvzO6BrrarQchHylkK4n3ZA%3d], &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Aimants, Farnell [http://fr.farnell.com/duratool/d01767/aimant-12-x-3mm-pqt6/dp/1888096]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3 Résistances CMS 330 Ohms, Mouser [http://www.mouser.fr/ProductDetail/Vishay/CRCW1206330RFKEA/?qs=sGAEpiMZZMvdGkrng054t%252b8cnVAnHPZkGMXtw0W%2fcW8%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 Transistor Bipolaire, Mouser [http://www.mouser.fr/ProductDetail/Fairchild-Semiconductor/MMBTH10/?qs=sGAEpiMZZMvDjfggS9kWsbCZIMjqR5oUPy4t%252bWqVHyk%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel MatLab Simulink&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel RobotinoView&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Robotino&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel MatLab Simulink&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel RobotinoView&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Robotino&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38704</id>
		<title>Projets IMA4 SC &amp; SA 2016/2017</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38704"/>
				<updated>2017-02-08T13:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en demandant une modification du format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
Toutes les sources doivent être déposées sur notre archive GIT. Le service est disponible à l'URL [https://archives.plil.fr archives.plil.fr]. Connectez-vous avec vos identifiants Polytech'Lille. Sauf indication contraire de vos encadrants, rendez le projet public et mettez le lien sur votre Wiki. Vous pouvez trouver de la documentation sur ce système d'archives sur ce [https://git-scm.com/book/fr/v1 site].&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Encadrants école !! Elèves&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
| Xavier Redon&lt;br /&gt;
| Haroun Abdelali&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Wenyu sun / Xinyue xu&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
| Fanny Moreau / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Martin Rohmer / Kévin Godesence&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
| Marion Binninger / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Robin Cavalieri / Edmur Lopes&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon&lt;br /&gt;
| Cedric Roussel / Thomas Stievenard&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
| Rodolphe Astori / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Mame Arame Diop / Amina Fahem&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
| Lucas Prieux / Hidéo Vinot / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Antoine Arnaudet / Vivian Senaffe&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
| Rochdi Merzouki / Vincent Coelen / Valentin Vergez&lt;br /&gt;
| Butaye Marianne / François Duport&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
| Rochdi Merzouki / Thomas Danel / Valentin Vergez&lt;br /&gt;
| Samy Belhouachi / François Xavier Cockenpot&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Cheikh Said Ahmed / Khadija El Messnaoui&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Manlu Luo / Xinyi Wang&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Olivier Mahieux / Grillère Baptiste&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
| Xavier Redon / Gilles Dhaussy&lt;br /&gt;
| Rodolphe Toin&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Jade Dupont (valentin)&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Thomas Gosse / Bacem Hagui&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Tristan Hart / Etienne Profit&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Nicky Ung / Alexis Macherez&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
| Betty Semail / Laurent Grisoni / Frédéric Giraud&lt;br /&gt;
| Alice Coffin / Diana Marrucho&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
| Alexandre Boé / Thomas Vantroys / Xavier Redon&lt;br /&gt;
| Lutecia Damiens / Alexis Dorian&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Hugo Delatte&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé / Thomas Vantroys&lt;br /&gt;
| Loïc Tombazzi / Marius Trimbur&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
| Thomas Vantroys&lt;br /&gt;
| Marouan Mcharfi / Tristan Lopez&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Alexandre Huet / François Lefevre&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Djamil Mohammed / Hamza Kerroum&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Jean-Baptiste Saison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matériel à acquérir ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Matériel&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
|   &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* Capteur de température[http://www.mouser.fr/ProductDetail/Microchip-Technology/TC1047VNBTR/?qs=sGAEpiMZZMucenltShoSnjkfRJmEyKRQimeb4yJa%2fn8%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* bread board&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* USB fils[http://www.gotronic.fr/art-cordon-1-8m-cw091b-15249.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* ATmega32u4-AU (package TQFP), [http://www.microchipdirect.com/ProductDetails.aspx?Category=ATmega32U4]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* Connecteur USB-A[http://fr.rs-online.com/web/p/connecteurs-usb-type-a/6741325/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* quartz 16Mhz &amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2* Chip guard[http://eu.mouser.com/ProductDetail/Bourns/CG0603MLC-05E/?qs=%2fha2pyFaduj8GWc5RpRwWsoz%252bsBNDfM0b%2fMwO0m8cAS%252b28tb9AwLWQ%3d%3d]&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* Fusibles réarmables[http://eu.mouser.com/ProductDetail/Bourns/MF-MSMF050-2/?qs=%2fha2pyFadujDIyYlSEAmAtmxzhQX2R56dU6AOyKWoF1gS%2fKyt5ZQcQ%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* 6 positions header [http://eu.mouser.com/ProductDetail/Molex/105310-1306/?qs=sGAEpiMZZMs%252bGHln7q6pmxm1xRErLtPiAz7QqgKNzWmKHFN4gvgBbg%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* 4 positions header [http://eu.mouser.com/ProductDetail/Molex/105310-1304/?qs=sGAEpiMZZMs%252bGHln7q6pmxm1xRErLtPipANyF1COhqO4PscJr%252bmjiQ%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2* résistances de 22 ohm&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* résistances de 10k ohm&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* résistances de 1M ohm&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2* capacités de 22 pF&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* capacité de 1 uF&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* capacité de 100 nF&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1* diode&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Adaptateur 5V [http://www.gotronic.fr/art-adaptateur-mv530n-8000.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Embase adaptateur [http://www.gotronic.fr/art-embase-alim-sa21a-14961.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Arduino mini [http://fr.rs-online.com/web/p/kits-de-developpement-pour-processeurs-et-microcontroleurs/7617327/]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Modules bluetooth [http://fr.rs-online.com/web/p/modules-bluetooth/1244407/]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; Capteur de température [http://www.mouser.fr/ProductDetail/Maxim-Integrated/MAX31725MTA+/?qs=sGAEpiMZZMucenltShoSnuJtr4xlG60lboc%252bnebe514%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Accéléromètre [http://www.mouser.fr/ProductDetail/NXP-Freescale/MMA8652FCR1/?qs=sGAEpiMZZMs0JOhy9PM0USp5vOY2ClxODTM36syD6sQ%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 4*Vibreurs [http://www.gotronic.fr/art-vibreur-miniature-vm1201-20685.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 5*Servomoteurs [http://www.gotronic.fr/art-servomoteur-s07nf-25182.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 5* Capacité 0.1µF (*1 capteur température, *2 accéléromètre, 2* régulateur)[http://fr.farnell.com/walsin/0805b104k500ct/condensateur-mlcc-x7r-0-1uf-50v/dp/2496944]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 3*Résistance 4.7kohms ( capteur température) [http://fr.farnell.com/vishay/crcw08054k70fkta/res-couche-epaisse-4-7k-1-0-125w/dp/1653013RL]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2*Capacité 0.33µF (régulateur) [http://www.mouser.fr/ProductDetail/Wurth-Electronics/885012105003/?qs=sGAEpiMZZMvzv9EAOJZmO9b76UYLhwTmM7EN2czdHKU%3d]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; 2*Régulateur 3.3V [http://www.gotronic.fr/art-servomoteur-s07nf-25182.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Accéléromètre 4 ADXL335[http://www.gotronic.fr/art-module-accelerometre-adxl335-3-axes-ef03049-23504.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module Adafruit 9-DOF [http://www.gotronic.fr/art-module-9-dof-ada2472-23896.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Câble 12 conducteurs  [http://fr.farnell.com/pro-power/pp000342/cable-12-conducteurs-0-5mm2-25m/dp/2440126]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Arduino Mega&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Résistance &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module WIFI ESP 8266 [http://www.gotronic.fr/art-module-wifi-serie-esp8266-113990084-23666.htm]&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Arduino UNO x5&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Atmega 328p [http://fr.farnell.com/atmel/atmega328p-pu/micro-8-bits-avr-32k-flash-28pdip/dp/1715487]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Atmega 328p CMS [http://fr.farnell.com/atmel/atmega328p-au/micro-8-bits-avr-32k-flash-32tqfp/dp/1715486?selectedCategoryId=&amp;amp;exaMfpn=true&amp;amp;categoryId=&amp;amp;searchRef=SearchLookAhead&amp;amp;searchView=table&amp;amp;iscrfnonsku=false]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;FT232R (*2) [http://fr.farnell.com/ftdi/ft232rl-reel/usb-vers-uart-ssop28-232/dp/1146032]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;USB (*2) [http://fr.farnell.com/wurth-elektronik/65100516121/mini-usb-2-0-type-b-receptacle/dp/1642036]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Led (*4)[http://fr.farnell.com/kingbright/kph-1608sgc/led-12mcd-vert-568nm/dp/2426215]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;bouton(*2) [http://www.mouser.fr/ProductDetail/E-Switch/LL3301NF065QG/?qs=sGAEpiMZZMvxtGF7dlGNpqqmTFthXBmf0KM%252bqj1KR%252bA%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Diode(*2)[http://eu.mouser.com/ProductDetail/Microsemi/1N4148UR-1/?qs=sGAEpiMZZMtoHjESLttvkmKnFwXErGnblScnaPsZQPwnq%2fwjQSnhEg%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;LM1117(*2) [http://www.mouser.fr/new/Texas-Instruments/nationalLM1117/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;TB6612FNG (*2) [http://www.gotronic.fr/art-commande-de-2-moteurs-tb6612fng-2x1a-21716.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Quartz 16 MHz (*2)[http://fr.farnell.com/raltron/as-16-000-18/quartz-16mhz-18pf-hc-49s/dp/1611761?MER=bn_para_1TP_LastViewed_3]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;RJ11(*6) [http://fr.farnell.com/molex/95522-2667/fiche-rj11-cat3-6-6/dp/2060715]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 1k &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 470 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 100 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Resistor 1M &amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capacité 10 nF &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capacité 10uF &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capacité 22pF &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''MATERIELS CAPTEUR DE LIGNE'''[http://projets-imasc.plil.net/mediawiki/index.php?title=Finalisation_de_cartes_de_contr%C3%B4le_de_robot#Carte_capteur_de_ligne]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''MATERIELS CAPTEUR ULTRASON'''[http://projets-imasc.plil.net/mediawiki/index.php?title=Finalisation_de_cartes_de_contr%C3%B4le_de_robot#Carte_capteur_ultrason_.28en_cours.29]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''MATERIELS CODEUR INCREMENTAL'''[http://projets-imasc.plil.net/mediawiki/index.php?title=Finalisation_de_cartes_de_contr%C3%B4le_de_robot#Carte_Odom.C3.A8tre_.28en_cours.29]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs IR (x20), RS [http://fr.rs-online.com/web/p/led-ir/6548334/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Phototransistors IR (x20), RS [http://fr.rs-online.com/web/p/phototransistors/6548047/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers moteur Pololu (x1), GoTronic [http://www.gotronic.fr/art-commande-de-2-moteurs-tb6612fng-2x1a-21716.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers moteur TB6612FNG (x3), Mouser [http://www.mouser.fr/Search/ProductDetail.aspx?qs=rsevcuukUAy2UalRuv4E%2fQ%3d%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Borniers à vis (x20), Farnell [http://fr.farnell.com/camdenboss/ctb0502-2/bornier-carte-a-fil-2-voies-12awg/dp/2493622?MER=en-me-sr-b-all]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances 220 Ohms CMS (x20), Mouser [http://www.mouser.fr/ProductDetail/Vishay-Dale/CRCW0603220RFKEA/?qs=sGAEpiMZZMtlubZbdhIBIKySljYCMs0HAiopx1mcVY0%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances 470 kOhms CMS (x30), Mouser [http://www.mouser.fr/ProductDetail/Panasonic/ERJ-3GEYJ474V/?qs=sGAEpiMZZMtlubZbdhIBIDkNbKahCB4%252bXwMzav7V8qQ%3d],&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs couleur (x10), RS [http://fr.rs-online.com/web/p/led/8134845/]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Fils m-m (x1 lot de 65), Farnell [http://fr.farnell.com/multicomp/mcbbj65/assortiment-de-jumper-fil-65pcs/dp/2396146]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capas 10uF CMS (x20) Mouser [http://www.mouser.fr/ProductDetail/Murata-Electronics/ZRB18AR61C106ME01L/?qs=sGAEpiMZZMs0AnBnWHyRQPHsfd5klL7FP%2fi0oh%252bVTwkomqr6NYKsqQ%3d%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capas 0.1uF CMS (x20) Mouser [http://www.mouser.fr/ProductDetail/Kemet/C0603C104K4RACTU/?qs=sGAEpiMZZMs0AnBnWHyRQFqPnX0OlvcoGdtRY%252bgH1%2fs%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Embases CI 40 contacts 1 rangée (x6) RS [http://fr.rs-online.com/web/p/embases-de-circuit-imprime/4232841/]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capteurs Ultrasons SR04 (x3), &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Piles ou accumulateurs (x16 à 1.5V), &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Odomètres codeurs (x4) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Boutons poussoirs (x4) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Interrupteurs (x4) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Colliers de serrage &amp;lt;/span&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
‎&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de température DS75LV [http://www.mouser.fr/ProductDetail/Maxim-Integrated/DS75LVU+/?qs=sGAEpiMZZMucenltShoSnqz2Nq7rAtSUouPEUh693aE%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de pression [http://www.mouser.fr/ProductDetail/Measurement-Specialties/5525DSO-SB005GS/?qs=sGAEpiMZZMvhQj7WZhFIAJ6e00q4%2fiLk8vQEbfsXmbvuJAmWYTr67w%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Accéléromètre ADXL345 [http://fr.farnell.com/analog-devices/eval-adxl345z/carte-d-evaluation-adxl345-inerti/dp/2301487]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module LoRa pour RaspberryPi [http://snootlab.com/shields-snootlab/1152-chistera-pi-12-lora-accessoires-fr.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module de réception LoRa terrestre : SX1272 development kit [http://www.lextronic.fr/P37768-module-radio-oem-arm-n8-lorawan.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module GPS [http://www.mouser.fr/ProductDetail/STMicroelectronics/STA8088EXG/?qs=sGAEpiMZZMvxLC1VZo1hVp6X3j5yCzMqjrWPSiQrEwU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;1 RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Batterie 5000 mAh [http://fr.rs-online.com/web/p/batteries-externes/7757508/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 carte microSD pour Raspberry 16GB&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Accéléromètre ADXL335 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino Nano &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; 2x Module XBee + 1x Shield &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino UNO &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Xbee Adapter Board&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte RaspberryPi (Au minimum modèle 2)&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Alimentation MicroUSB pour RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte MicroSD 16Gb&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Dongle Bluetooth BLED112-V1[http://fr.rs-online.com/web/p/adaptateurs-bluetooth/8077742/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de mesure Sharp GP2Y0A02YK x3 [http://www.gotronic.fr/art-capteur-de-mesure-sharp-gp2y0a02yk-11536.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
|&lt;br /&gt;
Carte Arduino,&amp;lt;br/&amp;gt;&lt;br /&gt;
Récepteur LoRa (868MHz reconfigurable 433MHz)[http://www.digikey.fr/product-detail/fr/semtech-corporation/SX1276RF1JAS/SX1276RF1JAS-ND/4490402],&amp;lt;br/&amp;gt;&lt;br /&gt;
Emetteur TI CC430F6137 [http://www.digikey.com/product-detail/en/texas-instruments/CC430F6137IRGCR/296-25822-1-ND/2236627](ou CC1101 [http://fr.farnell.com/texas-instruments/cc1101rgpr/transceiver-rf-qfn-20/dp/2422921]),&amp;lt;br/&amp;gt;&lt;br /&gt;
Capacités, inductances et résistances de montage,&amp;lt;br/&amp;gt;&lt;br /&gt;
2 antennes 868MHz [http://fr.farnell.com/rf-solutions/flexi-sma-868/antenne-flexi-sma-868mhz/dp/1304037] ou [http://www.mouser.fr/ProductDetail/Linx-Technologies/ANT-868-CW-HWR-RPS/?qs=sGAEpiMZZMuBTKBKvsBmlOBg0H7cD5uyLmjn8%2f6ScJQ%3d],&amp;lt;br/&amp;gt;&lt;br /&gt;
2 antennes 433MHz[http://www.mouser.fr/ProductDetail/LPRS/ANT-SR433/?qs=sGAEpiMZZMuBTKBKvsBmlL2JeKAJ5GlFgePIl66EJDQoPGtUlcrRBQ%3d%3d],&amp;lt;br/&amp;gt;&lt;br /&gt;
Quartz 26MHz [http://fr.farnell.com/txc/7a-26-000maaj-t/crystal-26mhz-18pf-5-x-3-2mm/dp/2061710],&amp;lt;br/&amp;gt;&lt;br /&gt;
Batterie,&amp;lt;br/&amp;gt;&lt;br /&gt;
Breadboard,&amp;lt;br/&amp;gt;&lt;br /&gt;
Quelques LEDs&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3*SX1276MB1MAS Fabricant:Semtech,&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3*Raspberry Pi,&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3*cables USB,&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3*Connecteurs Raspberry pi avec ordinateur (usb),&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
|&lt;br /&gt;
Aucun matériel nécessaire&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;Émetteur et récepteur infrarouge/photodiode, (seulement 1 de chaque prêtées, il en faut 6 à 7 de chaque)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Adaptateur PS512S,  [http://www.gotronic.fr/art-adaptateur-ps512s-19913.htm] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Shield carte SD, (carte SD également)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module horloge temps réel (RTC), [http://www.gotronic.fr/art-module-horloge-temps-reel-ada3296-25536.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capteur Ultrason, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Arduino méga, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;ESP8266, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Servomoteur 360, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;Solution de secours : Rapsberry, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;Solution de secours : Balance &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry pi modèle B minimum&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;batterie&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;circuit shut down(une breadboard, une LED, une resistance 220 ohms, 3 fils M/M, 2 fils M/F)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;un interrupteur on/off Référence : 7547 Selectronic&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;bois de palette&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;dongle wi pi&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Rétroprojecteur&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;timer(circuit de retardement 5 secondes)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Deux lasers de différentes couleurs&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Une paire de galvanomètres à miroir&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Arduino&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry Pi3&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Câble secteur&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers galvanomètres x2&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Alimentation laser&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Lunette de sécurité x2 [https://www.amazon.fr/Uvex-S1933X-Eyewear-SCTOrange-Anti-Fog/dp/B000USRG90/ref=sr_1_1?ie=UTF8&amp;amp;qid=1485441383&amp;amp;sr=8-1&amp;amp;keywords=uvex+s1933x]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Alimentation 230V/5V 1A [http://www.miniinthebox.com/fr/dual-usb-eu-prise-murale-5v-2a-voyage-adaptateur-chargeur-d-alimentation-pour-iphone7-6-xiaomi-samsung-et-autre-telephone-portable_p5410410.html?currency=EUR&amp;amp;litb_from=paid_adwords_shopping&amp;amp;sku=429_6917%7C752_20648&amp;amp;utm_source=google_shopping&amp;amp;utm_medium=cpc&amp;amp;adword_mt=&amp;amp;adword_ct=138705676724&amp;amp;adword_kw=&amp;amp;adword_pos=1o5&amp;amp;adword_pl=&amp;amp;adword_net=g&amp;amp;adword_tar=&amp;amp;adw_src_id=9653316068_661261352_33588296076_aud-79897721311:pla-256966386459&amp;amp;gclid=Cj0KEQiA_KvEBRCtzNil4-KR-LIBEiQAmgekFxxKjJJWBYCJlDZEa3Ke_2_WR0DzGVbz-jaCZHVIBoMaAvld8P8HAQ]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Boitier ABS [http://fr.farnell.com/multicomp/g3118/boitier-abs-240x120x60mm-ip65/dp/1526656]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;DAC 4 canaux, avec interface I²C [http://www.mouser.fr/ProductDetail/Adafruit/1083/?qs=sGAEpiMZZMsMyYRRhGMFNtB2KhoPg%2fPbP3CExTYfM4M%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Connecteur C14 [http://www.conrad.fr/ce/fr/product/715001/Connecteur-secteur-C14-Embase-male-verticale-715001-Nombre-de-poles-2-PE-10-A-noir-1-pcs/?ref=detview1&amp;amp;rt=detview1&amp;amp;rb=1]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Un Minitel 1 Bistandard Alcatel Telic&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un connecteur DIN 5 broches[http://www.selectronic.fr/din-cordon-male-5-broches-45.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un Arduino Uno [http://www.selectronic.fr/carte-arduino-uno.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un module Ethernet [http://www.selectronic.fr/shield-ethernet-v2.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; deux optocoupleurs 4N25&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Rfduino DIP board + USB shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD90101/?qs=sGAEpiMZZMsrChSOYEGTCSSoddgmKGJ7o1oPrqG%2fa%2fU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Rfduino Dual AAA shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22126/?qs=sGAEpiMZZMsrChSOYEGTCTCnakKeCOV7XxQSzqVKQX4%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Clef wifi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2 piles de 1,5V AAA &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 buzzer, Mouser [http://www.mouser.fr/ProductDetail/TDK/PS1240P02BT/?qs=sGAEpiMZZMtWZVZ%2fjgUYS49cTVUJP3OaWyx1fxdmA7I%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 accéléromètre, mouser [http://www.mouser.fr/ProductDetail/NXP-Freescale/MMA8653FCR1/?qs=sGAEpiMZZMs0JOhy9PM0USp5vOY2ClxOY1G2fK3tzYI%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3 LEDs de couleurs différentes, 2 Mouser Rouge[http://www.mouser.fr/ProductDetail/Lumex/SSL-LX5093LBI-SRD/?qs=sGAEpiMZZMvHYEB9WUp7ElLqM0HAvqw07NtkT0umwJ8%3d], Mouser Vert [http://www.mouser.fr/ProductDetail/Dialight/521-9465F/?qs=sGAEpiMZZMvHYEB9WUp7EvzO6BrrarQchHylkK4n3ZA%3d], &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Aimants, Farnell [http://fr.farnell.com/duratool/d01767/aimant-12-x-3mm-pqt6/dp/1888096]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3 Résistances CMS 330 Ohms, Mouser [http://www.mouser.fr/ProductDetail/Vishay/CRCW1206330RFKEA/?qs=sGAEpiMZZMvdGkrng054t%252b8cnVAnHPZkGMXtw0W%2fcW8%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 Transistor Bipolaire, Mouser [http://www.mouser.fr/ProductDetail/Fairchild-Semiconductor/MMBTH10/?qs=sGAEpiMZZMvDjfggS9kWsbCZIMjqR5oUPy4t%252bWqVHyk%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel MatLab Simulink&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel RobotinoView&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Robotino&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel MatLab Simulink&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Logiciel RobotinoView&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Robotino&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38328</id>
		<title>Projets IMA4 SC &amp; SA 2016/2017</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38328"/>
				<updated>2017-02-01T15:43:26Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en demandant une modification du format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
Toutes les sources doivent être déposées sur notre archive GIT. Le service est disponible à l'URL [https://archives.plil.fr archives.plil.fr]. Connectez-vous avec vos identifiants Polytech'Lille. Sauf indication contraire de vos encadrants, rendez le projet public et mettez le lien sur votre Wiki. Vous pouvez trouver de la documentation sur ce système d'archives sur ce [https://git-scm.com/book/fr/v1 site].&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Encadrants école !! Elèves&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
| Xavier Redon&lt;br /&gt;
| Haroun Abdelali&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Wenyu sun / Xinyue xu&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
| Fanny Moreau / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Martin Rohmer / Kévin Godesence&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
| Marion Binninger / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Robin Cavalieri / Edmur Lopes&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon&lt;br /&gt;
| Cedric Roussel / Thomas Stievenard&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
| Rodolphe Astori / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Mame Arame Diop / Amina Fahem&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
| Lucas Prieux / Hidéo Vinot / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Antoine Arnaudet / Vivian Senaffe&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
| Rochdi Merzouki / Vincent Coelen / Valentin Vergez&lt;br /&gt;
| Butaye Marianne / François Duport&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
| Rochdi Merzouki / Thomas Danel / Valentin Vergez&lt;br /&gt;
| Samy Belhouachi / François Xavier Cockenpot&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Cheikh Said Ahmed / Khadija El Messnaoui&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Manlu Luo / Xinyi Wang&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Olivier Mahieux / Grillère Baptiste&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
| Xavier Redon / Gilles Dhaussy&lt;br /&gt;
| Rodolphe Toin&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Jade Dupont (valentin)&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Thomas Gosse / Bacem Hagui&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Tristan Hart / Etienne Profit&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Nicky Ung / Alexis Macherez&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
| Betty Semail / Laurent Grisoni / Frédéric Giraud&lt;br /&gt;
| Alice Coffin / Diana Marrucho&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
| Alexandre Boé / Thomas Vantroys / Xavier Redon&lt;br /&gt;
| Lutecia Damiens / Alexis Dorian&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Hugo Delatte&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé / Thomas Vantroys&lt;br /&gt;
| Loïc Tombazzi / Marius Trimbur&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
| Thomas Vantroys&lt;br /&gt;
| Marouan Mcharfi / Tristan Lopez&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Alexandre Huet / François Lefevre&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Djamil Mohammed / Hamza Kerroum&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Jean-Baptiste Saison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matériel à acquérir ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Matériel&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
|   &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; Capteur de température, Mouser[http://www.mouser.fr/ProductDetail/Microchip-Technology/TC1047VNBTR/?qs=sGAEpiMZZMucenltShoSnjkfRJmEyKRQimeb4yJa%2fn8%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;bread board&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;USB fils[http://www.gotronic.fr/art-cordon-1-8m-cw091b-15249.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;ATmega32u4, [http://www.microchipdirect.com/ProductDetails.aspx?Category=ATmega32U4]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Connecteur USB-A[http://fr.rs-online.com/web/p/connecteurs-usb-type-a/6741325/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;quartz 16Mhz &amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Accéléromètre 4 ADXL335[http://www.gotronic.fr/art-module-accelerometre-adxl335-3-axes-ef03049-23504.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module Adafruit 9-DOF [http://www.gotronic.fr/art-module-9-dof-ada2472-23896.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Câble 12 conducteurs  [http://fr.farnell.com/pro-power/pp000342/cable-12-conducteurs-0-5mm2-25m/dp/2440126]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Arduino Mega&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Résistance &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module WIFI ESP 8266 [http://www.gotronic.fr/art-module-wifi-serie-esp8266-113990084-23666.htm]&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs IR (x20), RS [http://fr.rs-online.com/web/p/led-ir/6548334/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Phototransistors IR (x20), RS [http://fr.rs-online.com/web/p/phototransistors/6548047/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers moteur Pololu (x1), GoTronic [http://www.gotronic.fr/art-commande-de-2-moteurs-tb6612fng-2x1a-21716.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers moteur TB6612FNG (x3), Mouser [http://www.mouser.fr/ProductDetail/Toshiba/TB6612FNGOC8EL/?qs=VMlqFFbv3sQEQqYF0HJbow%3D%3D], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Borniers à vis (x20), Farnell [http://fr.farnell.com/camdenboss/ctb0502-2/bornier-carte-a-fil-2-voies-12awg/dp/2493622?MER=en-me-sr-b-all]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances 220 Ohms CMS (x20), Mouser [http://www.mouser.fr/ProductDetail/Vishay-Dale/CRCW0603220RFKEA/?qs=sGAEpiMZZMtlubZbdhIBIKySljYCMs0HAiopx1mcVY0%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances 470 kOhms CMS (x30), Mouser [http://www.mouser.fr/ProductDetail/Panasonic/ERJ-3GEYJ474V/?qs=sGAEpiMZZMtlubZbdhIBIDkNbKahCB4%252bXwMzav7V8qQ%3d],&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs couleur (x10), RS [http://fr.rs-online.com/web/p/led/8134845/]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Fils m-m (x1 lot de 65), Farnell [http://fr.farnell.com/multicomp/mcbbj65/assortiment-de-jumper-fil-65pcs/dp/2396146]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capas 10uF CMS (x20) Mouser [http://www.mouser.fr/ProductDetail/Murata-Electronics/ZRB18AR61C106ME01L/?qs=sGAEpiMZZMs0AnBnWHyRQPHsfd5klL7FP%2fi0oh%252bVTwkomqr6NYKsqQ%3d%3d], &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capas 0.1uF CMS (x20) Mouser [http://www.mouser.fr/ProductDetail/Kemet/C0603C104K4RACTU/?qs=sGAEpiMZZMs0AnBnWHyRQFqPnX0OlvcoGdtRY%252bgH1%2fs%3d],&amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Embases CI 40 contacts 1 rangée (x6) RS [http://fr.rs-online.com/web/p/embases-de-circuit-imprime/4232841/]&amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino Uno (x4) , &amp;lt;br\&amp;gt;&lt;br /&gt;
ESP8266 (x1) , &amp;lt;br\&amp;gt;&lt;br /&gt;
Chassis 2WD (x4) , &amp;lt;br\&amp;gt;&lt;br /&gt;
Capteurs Ultrasons SR04 (x3) , &amp;lt;br\&amp;gt;&lt;br /&gt;
Piles ou accumulateurs (x16 à 1.5V) , &amp;lt;/span&amp;gt; &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Odomètres codeurs (x8) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Boutons poussoirs (x3) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Shield Arduino + Breadboard (x3) &amp;lt;/span&amp;gt;, &amp;lt;br\&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Colliers de serrage &amp;lt;/span&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
‎Récapitulatif électronique [[Fichier:CommandeElectronique-2015-P4.ods]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de température DS75LV [http://www.mouser.fr/ProductDetail/Maxim-Integrated/DS75LVU+/?qs=sGAEpiMZZMucenltShoSnqz2Nq7rAtSUouPEUh693aE%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de pression [http://www.mouser.fr/ProductDetail/Measurement-Specialties/5525DSO-SB005GS/?qs=sGAEpiMZZMvhQj7WZhFIAJ6e00q4%2fiLk8vQEbfsXmbvuJAmWYTr67w%3d%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Accéléromètre ADXL345 [http://fr.farnell.com/analog-devices/eval-adxl345z/carte-d-evaluation-adxl345-inerti/dp/2301487]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module LoRa pour RaspberryPi [http://snootlab.com/shields-snootlab/1152-chistera-pi-12-lora-accessoires-fr.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module de réception LoRa terrestre : SX1272 development kit [http://www.lextronic.fr/P37768-module-radio-oem-arm-n8-lorawan.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module GPS [http://www.mouser.fr/ProductDetail/STMicroelectronics/STA8088EXG/?qs=sGAEpiMZZMvxLC1VZo1hVp6X3j5yCzMqjrWPSiQrEwU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Batterie 5000 mAh [http://fr.rs-online.com/web/p/batteries-externes/7757508/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Accéléromètre ADXL335 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino Nano &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; 2x Module XBee + 1x Shield &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino UNO &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Xbee Adapter Board&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte RaspberryPi (Au minimum modèle 2)&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Alimentation MicroUSB pour RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Carte MicroSD 16Gb&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Dongle Bluetooth BLED112-V1[http://fr.rs-online.com/web/p/adaptateurs-bluetooth/8077742/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Capteur de mesure Sharp GP2Y0A02YK x3 [http://www.gotronic.fr/art-capteur-de-mesure-sharp-gp2y0a02yk-11536.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
|&lt;br /&gt;
Carte Arduino,&amp;lt;br/&amp;gt;&lt;br /&gt;
Emetteur RF (868MHz, ASK,FSK ou OOK),&amp;lt;br/&amp;gt;&lt;br /&gt;
Récepteur LoRa(868MHz),&amp;lt;br/&amp;gt;&lt;br /&gt;
2 antennes,&amp;lt;br/&amp;gt;&lt;br /&gt;
Batterie,&amp;lt;br/&amp;gt;&lt;br /&gt;
Quelques LEDs&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;Émetteur et récepteur infrarouge/photodiode, (seulement 1 de chaque prêtées, il en faut 6 à 7 de chaque)&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Adaptateur PS512S,  [http://www.gotronic.fr/art-adaptateur-ps512s-19913.htm] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Shield carte SD, (carte SD également)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Module horloge temps réel (RTC), [http://www.gotronic.fr/art-module-horloge-temps-reel-ada3296-25536.htm]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Capteur Ultrason, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;LEDs, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Résistances, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Arduino méga, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;ESP8266, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Servomoteur 360, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;Solution de secours : Rapsberry, &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;Solution de secours : Balance &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Deux lasers de différentes couleurs&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Une paire de galvanomètres à miroir&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Arduino&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry Pi3&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Câble secteur&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Drivers galvanomètres x2&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Alimentation laser&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Lunette de sécurité x2 [https://www.amazon.fr/Uvex-S1933X-Eyewear-SCTOrange-Anti-Fog/dp/B000USRG90/ref=sr_1_1?ie=UTF8&amp;amp;qid=1485441383&amp;amp;sr=8-1&amp;amp;keywords=uvex+s1933x]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Alimentation 230V/5V 1A [http://www.miniinthebox.com/fr/dual-usb-eu-prise-murale-5v-2a-voyage-adaptateur-chargeur-d-alimentation-pour-iphone7-6-xiaomi-samsung-et-autre-telephone-portable_p5410410.html?currency=EUR&amp;amp;litb_from=paid_adwords_shopping&amp;amp;sku=429_6917%7C752_20648&amp;amp;utm_source=google_shopping&amp;amp;utm_medium=cpc&amp;amp;adword_mt=&amp;amp;adword_ct=138705676724&amp;amp;adword_kw=&amp;amp;adword_pos=1o5&amp;amp;adword_pl=&amp;amp;adword_net=g&amp;amp;adword_tar=&amp;amp;adw_src_id=9653316068_661261352_33588296076_aud-79897721311:pla-256966386459&amp;amp;gclid=Cj0KEQiA_KvEBRCtzNil4-KR-LIBEiQAmgekFxxKjJJWBYCJlDZEa3Ke_2_WR0DzGVbz-jaCZHVIBoMaAvld8P8HAQ]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Boitier ABS [http://fr.farnell.com/multicomp/g3118/boitier-abs-240x120x60mm-ip65/dp/1526656]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;DAC 4 canaux, avec interface I²C [http://www.mouser.fr/ProductDetail/Adafruit/1083/?qs=sGAEpiMZZMsMyYRRhGMFNtB2KhoPg%2fPbP3CExTYfM4M%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Connecteur C14 [http://www.conrad.fr/ce/fr/product/715001/Connecteur-secteur-C14-Embase-male-verticale-715001-Nombre-de-poles-2-PE-10-A-noir-1-pcs/?ref=detview1&amp;amp;rt=detview1&amp;amp;rb=1]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Un Minitel 1 Bistandard Alcatel Telic&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un connecteur DIN 5 broches[http://www.selectronic.fr/din-cordon-male-5-broches-45.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un Arduino Uno [http://www.selectronic.fr/carte-arduino-uno.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; un module Ethernet [http://www.selectronic.fr/shield-ethernet-v2.html]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; deux optocoupleurs 4N25&amp;lt;/span&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Rfduino DIP board + USB shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD90101/?qs=sGAEpiMZZMsrChSOYEGTCSSoddgmKGJ7o1oPrqG%2fa%2fU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Rfduino Dual AAA shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22126/?qs=sGAEpiMZZMsrChSOYEGTCTCnakKeCOV7XxQSzqVKQX4%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Clef wifi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;2 piles de 1,5V AAA &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 buzzer, Mouser [http://www.mouser.fr/ProductDetail/TDK/PS1240P02BT/?qs=sGAEpiMZZMtWZVZ%2fjgUYS49cTVUJP3OaWyx1fxdmA7I%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 accéléromètre, mouser [http://www.mouser.fr/ProductDetail/NXP-Freescale/MMA8653FCR1/?qs=sGAEpiMZZMs0JOhy9PM0USp5vOY2ClxOY1G2fK3tzYI%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3 LEDs de couleurs différentes, 2 Mouser Rouge[http://www.mouser.fr/ProductDetail/Lumex/SSL-LX5093LBI-SRD/?qs=sGAEpiMZZMvHYEB9WUp7ElLqM0HAvqw07NtkT0umwJ8%3d], Mouser Vert [http://www.mouser.fr/ProductDetail/Dialight/521-9465F/?qs=sGAEpiMZZMvHYEB9WUp7EvzO6BrrarQchHylkK4n3ZA%3d], &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Aimants, Farnell [http://fr.farnell.com/duratool/d01767/aimant-12-x-3mm-pqt6/dp/1888096]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;3 Résistances CMS 330 Ohms, Mouser [http://www.mouser.fr/ProductDetail/Vishay/CRCW1206330RFKEA/?qs=sGAEpiMZZMvdGkrng054t%252b8cnVAnHPZkGMXtw0W%2fcW8%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;1 Transistor Bipolaire, Mouser [http://www.mouser.fr/ProductDetail/Fairchild-Semiconductor/MMBTH10/?qs=sGAEpiMZZMvDjfggS9kWsbCZIMjqR5oUPy4t%252bWqVHyk%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38078</id>
		<title>Projets IMA4 SC &amp; SA 2016/2017</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projets_IMA4_SC_%26_SA_2016/2017&amp;diff=38078"/>
				<updated>2017-01-29T18:30:31Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merci de référencer vos pages de projets ici. Merci aussi d'uniformiser vos formats que ce soit en regardant la présentation des projets déjà créés ou en demandant une modification du format des précédents si votre façon de faire vous semble la meilleure. Dans tous les cas un minimum de communication entre les binômes est conseillée.&lt;br /&gt;
&lt;br /&gt;
Toutes les sources doivent être déposées sur notre archive GIT. Le service est disponible à l'URL [https://archives.plil.fr archives.plil.fr]. Connectez-vous avec vos identifiants Polytech'Lille. Sauf indication contraire de vos encadrants, rendez le projet public et mettez le lien sur votre Wiki. Vous pouvez trouver de la documentation sur ce système d'archives sur ce [https://git-scm.com/book/fr/v1 site].&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Encadrants école !! Elèves&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
| Xavier Redon&lt;br /&gt;
| Haroun Abdelali&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Wenyu sun / Xinyue xu&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
| Fanny Moreau / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Martin Rohmer / Kévin Godesence&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
| Marion Binninger / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Robin Cavalieri / Edmur Lopes&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon&lt;br /&gt;
| Cedric Roussel / Thomas Stievenard&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
| Rodolphe Astori / Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Mame Arame Diop / Amina Fahem&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
| Lucas Prieux / Hidéo Vinot / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Antoine Arnaudet / Vivian Senaffe&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
| Rochdi Merzouki / Vincent Coelen / Valentin Vergez&lt;br /&gt;
| Butaye Marianne / François Duport&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
| Rochdi Merzouki / Thomas Danel / Valentin Vergez&lt;br /&gt;
| Samy Belhouachi / François Xavier Cockenpot&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Cheikh Said Ahmed / Khadija El Messnaoui&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé&lt;br /&gt;
| Manlu Luo / Xinyi Wang&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Olivier Mahieux / Grillère Baptiste&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
| Xavier Redon / Gilles Dhaussy&lt;br /&gt;
| Rodolphe Toin&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
| Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Jade Dupont (valentin)&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Thomas Gosse / Bacem Hagui&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Tristan Hart / Etienne Profit&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Nicky Ung / Alexis Macherez&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé / Xavier Redon&lt;br /&gt;
| Oumaima Naanaa&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
| Betty Semail / Laurent Grisoni / Frédéric Giraud&lt;br /&gt;
| Alice Coffin / Diana Marrucho&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
| Alexandre Boé / Thomas Vantroys / Xavier Redon&lt;br /&gt;
| Lutecia Damiens / Alexis Dorian&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
| Thomas Vantroys / Alexandre Boé&lt;br /&gt;
| Hugo Delatte&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
| Xavier Redon / Alexandre Boé / Thomas Vantroys&lt;br /&gt;
| Loïc Tombazzi / Marius Trimbur&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
| Thomas Vantroys&lt;br /&gt;
| Marouan Mcharfi / Tristan Lopez&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
| Alexandre Boé / Xavier Redon / Thomas Vantroys&lt;br /&gt;
| Alexandre Huet / François Lefevre&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Djamil Mohammed / Hamza Kerroum&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
| Midzodzi Pekpe&lt;br /&gt;
| Jean-Baptiste Saison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matériel à acquérir ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Matériel&lt;br /&gt;
|-&lt;br /&gt;
| P1 [[IMA4 2016/2017 P1|Climatisation du pauvre]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P2 [[IMA4 2016/2017 P2|Réseau de capteurs sur smartphone]]&lt;br /&gt;
|   &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Capteur de température, Mouser[http://www.mouser.fr/ProductDetail/Microchip-Technology/TC1047VNBTR/?qs=sGAEpiMZZMucenltShoSnjkfRJmEyKRQimeb4yJa%2fn8%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;bread board&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;USB fils[http://www.gotronic.fr/art-cordon-1-8m-cw091b-15249.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;ATmega32u4, [http://www.microchipdirect.com/ProductDetails.aspx?Category=ATmega32U4]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Connecteur USB-A[http://fr.rs-online.com/web/p/connecteurs-usb-type-a/6741325/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| P10 [[IMA4 2016/2017 P10|Application de suivi de prise de médicaments]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P11 [[IMA4 2016/2017 P11|Amélioration de l'accueil d'enfants hospitalisés]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P14 [[IMA4 2016/2017 P14|Sex toy connecté]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P18 [[IMA4 2016/2017 P18|Education de la position de tête]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;  acceleromettre ADXL335&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Smartphone sous Adroid&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;15 longs fils male femelle &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;arduino Mega&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;resistance &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;module WIFI&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P19 [[IMA4 2016/2017 P19|Orchestre électronique]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P20 [[IMA4 2016/2017 P20|Création d’un environnement virtuel de test]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P21 [[IMA4 2016/2017 P21|Conception d’une MPS Polyvalente]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P25 [[IMA4 2016/2017 P25|Robot mobile Polytech'Lille]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P26 [[IMA4 2016/2017 P26|Train de véhicules]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P27 [[IMA4 2016/2017 P27|Sonde atmosphérique]]&lt;br /&gt;
|&lt;br /&gt;
Capteur de température DS75LV maximintegrated (Disponible en free sample)&amp;lt;br/&amp;gt;&lt;br /&gt;
Capteur de pression [http://www.mouser.com/ds/2/418/NG_DS_MS5525DSO_C1-786470.pdf]&amp;lt;br/&amp;gt;&lt;br /&gt;
Accéléromètre ADXL345 [http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf]&amp;lt;br/&amp;gt;&lt;br /&gt;
Module LoRa pour RaspberryPi [http://snootlab.com/shields-snootlab/1152-chistera-pi-12-lora-accessoires-fr.html]&amp;lt;br/&amp;gt;&lt;br /&gt;
Module de réception LoRa terrestre : SX1272 development kit [http://www.lextronic.fr/P37768-module-radio-oem-arm-n8-lorawan.html]&amp;lt;br/&amp;gt;&lt;br /&gt;
Module GPS [http://www.mouser.com/ds/2/389/sta8088exg-974189.pdf]&amp;lt;br/&amp;gt;&lt;br /&gt;
1 RaspberryPi&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P28 [[IMA4 2016/2017 P28|Adaptation d'un émulateur de calculatrices TI]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P29 [[IMA4 2016/2017 P29|Conteneurs pour site Web]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P30 [[IMA4 2016/2017 P30|Voiture radiocommandée controlée par gant]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Accéléromètre ADXL335 &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Arduino Mini : reçu &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; 2x Module XBee &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Adaptateur mini-USB Arduino Mini :reçu &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt; Xbee Adapter Board : reçu &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P31 [[IMA4 2016/2017 P31|Accueil personnalisé par drone]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Carte RaspberryPi (Au minimum modèle 2)&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Alimentation MicroUSB pour RaspberryPi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Carte MicroSD 16Gb&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Dongle Bluetooth BLED112-V1[http://fr.rs-online.com/web/p/adaptateurs-bluetooth/8077742/]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Capteur de mesure Sharp GP2Y0A02YK x3 [http://www.gotronic.fr/art-capteur-de-mesure-sharp-gp2y0a02yk-11536.htm]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P32 [[IMA4 2016/2017 P32|Sécurité: brouilleur d'ondes]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P33 [[IMA4 2016/2017 P33|Sécurité: ingénierie inverse de protocole réseau]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P34 [[IMA4 2016/2017 P34|Interface Haptique, simulateur de formes et de textures]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P37 [[IMA4 2016/2017 P37|Gamelle connectée]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P38 [[IMA4 2016/2017 P38|Veilleuse enfant connectée]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P39 [[IMA4 2016/2017 P39|Projecteur laser]]&lt;br /&gt;
|&lt;br /&gt;
Deux lasers de différentes couleurs&amp;lt;br/&amp;gt;&lt;br /&gt;
Une paire de galvanomètres à miroir&amp;lt;br/&amp;gt;&lt;br /&gt;
Arduino Nano&amp;lt;br/&amp;gt;&lt;br /&gt;
Raspberry Pi&amp;lt;br/&amp;gt;&lt;br /&gt;
Clé wifi&amp;lt;br/&amp;gt;&lt;br /&gt;
Alimentation 230V/5V 1A [http://www.miniinthebox.com/fr/dual-usb-eu-prise-murale-5v-2a-voyage-adaptateur-chargeur-d-alimentation-pour-iphone7-6-xiaomi-samsung-et-autre-telephone-portable_p5410410.html?currency=EUR&amp;amp;litb_from=paid_adwords_shopping&amp;amp;sku=429_6917%7C752_20648&amp;amp;utm_source=google_shopping&amp;amp;utm_medium=cpc&amp;amp;adword_mt=&amp;amp;adword_ct=138705676724&amp;amp;adword_kw=&amp;amp;adword_pos=1o5&amp;amp;adword_pl=&amp;amp;adword_net=g&amp;amp;adword_tar=&amp;amp;adw_src_id=9653316068_661261352_33588296076_aud-79897721311:pla-256966386459&amp;amp;gclid=Cj0KEQiA_KvEBRCtzNil4-KR-LIBEiQAmgekFxxKjJJWBYCJlDZEa3Ke_2_WR0DzGVbz-jaCZHVIBoMaAvld8P8HAQ]&amp;lt;br/&amp;gt;&lt;br /&gt;
Drivers galvanomètres x2&amp;lt;br/&amp;gt;&lt;br /&gt;
Alimentation laser&amp;lt;br/&amp;gt;&lt;br /&gt;
Lunette de sécurité x2 [https://www.amazon.fr/Uvex-S1933X-Eyewear-SCTOrange-Anti-Fog/dp/B000USRG90/ref=sr_1_1?ie=UTF8&amp;amp;qid=1485441383&amp;amp;sr=8-1&amp;amp;keywords=uvex+s1933x]&amp;lt;br/&amp;gt;&lt;br /&gt;
Boitier ABS [http://fr.farnell.com/multicomp/g3118/boitier-abs-240x120x60mm-ip65/dp/1526656]&amp;lt;br/&amp;gt;&lt;br /&gt;
DAC 4 canaux, avec interface I²C [https://www.adafruit.com/products/1083]&amp;lt;br/&amp;gt;&lt;br /&gt;
Connecteur C14 [http://www.conrad.fr/ce/fr/product/715001/Connecteur-secteur-C14-Embase-male-verticale-715001-Nombre-de-poles-2-PE-10-A-noir-1-pcs/?ref=detview1&amp;amp;rt=detview1&amp;amp;rb=1]&amp;lt;br/&amp;gt;&lt;br /&gt;
Câble secteur [http://fr.farnell.com/pro-elec/pl00374/cordon-secteur-iec-2m/dp/3507737]&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P44 [[IMA4 2016/2017 P44|3615 Facebook]]&lt;br /&gt;
|&lt;br /&gt;
Un Minitel 1 Bistandard Alcatel Telic, &amp;lt;br/&amp;gt;&lt;br /&gt;
un connecteur DIN 5 broches[http://www.selectronic.fr/din-cordon-male-5-broches-45.html], &amp;lt;br/&amp;gt;&lt;br /&gt;
un Arduino Uno [http://www.selectronic.fr/carte-arduino-uno.html], &amp;lt;br/&amp;gt;&lt;br /&gt;
un module Ethernet [http://www.selectronic.fr/shield-ethernet-v2.html].&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P46 [[IMA4 2016/2017 P46|Aide anti-gaspillage alimentaire ]]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Rfduino DIP board + USB shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD90101/?qs=sGAEpiMZZMsrChSOYEGTCSSoddgmKGJ7o1oPrqG%2fa%2fU%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Rfduino Dual AAA shield, Mouser [http://eu.mouser.com/ProductDetail/RF-Digital-Wireless/RFD22126/?qs=sGAEpiMZZMsrChSOYEGTCTCnakKeCOV7XxQSzqVKQX4%3d]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Raspberry Pi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Clef wifi&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;2 piles de 1,5V AAA &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;1 buzzer, Mouser [http://www.mouser.fr/ProductDetail/TDK/PS1240P02BT/?qs=sGAEpiMZZMtWZVZ%2fjgUYS49cTVUJP3OaWyx1fxdmA7I%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;1 accéléromètre, mouser [http://www.mouser.fr/ProductDetail/NXP-Freescale/MMA8653FCR1/?qs=sGAEpiMZZMs0JOhy9PM0USp5vOY2ClxOY1G2fK3tzYI%3d] &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;3 LEDs de couleurs différentes, 2 Mouser Rouge[http://www.mouser.fr/ProductDetail/Lumex/SSL-LX5093LBI-SRD/?qs=sGAEpiMZZMvHYEB9WUp7ElLqM0HAvqw07NtkT0umwJ8%3d], Mouser Vert [http://www.mouser.fr/ProductDetail/Dialight/521-9465F/?qs=sGAEpiMZZMvHYEB9WUp7EvzO6BrrarQchHylkK4n3ZA%3d], &amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Smartphone sous Android&amp;lt;/span&amp;gt;,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Aimants, Farnell [http://fr.farnell.com/duratool/d01767/aimant-12-x-3mm-pqt6/dp/1888096]&amp;lt;/span&amp;gt;, &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;3 Résistances CMS 330 Ohms, Mouser [http://www.mouser.fr/ProductDetail/Vishay/CRCW1206330RFKEA/?qs=sGAEpiMZZMvdGkrng054t%252b8cnVAnHPZkGMXtw0W%2fcW8%3d] &amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| P47 [[IMA4 2016/2017 P47|Modélisation d’un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| P48 [[IMA4 2016/2017 P48|Surveillance d'un robot mobile]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=35629</id>
		<title>IMA4 2016/2017 P27</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=IMA4_2016/2017_P27&amp;diff=35629"/>
				<updated>2016-12-05T15:48:45Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : Page créée avec « __TOC__ &amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt; ==Cahier des charges==  ===Présentation générale du projet===   ====Contexte====  ====Objectif du projet====  ====Description du projet=... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
==Cahier des charges==&lt;br /&gt;
&lt;br /&gt;
===Présentation générale du projet=== &lt;br /&gt;
&lt;br /&gt;
====Contexte====&lt;br /&gt;
&lt;br /&gt;
====Objectif du projet====&lt;br /&gt;
&lt;br /&gt;
====Description du projet====&lt;br /&gt;
&lt;br /&gt;
====Choix techniques : matériel et logiciel====&lt;br /&gt;
&lt;br /&gt;
===Calendrier prévisionnel===&lt;br /&gt;
&lt;br /&gt;
====Liste des tâches à effectuer====&lt;br /&gt;
&lt;br /&gt;
====Calendrier====&lt;br /&gt;
&lt;br /&gt;
==Feuille d'heures==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Tâche !! Prélude !! Heures S1 !! Heures S2 !! Heures S3 !! Heures S4 !! Heures S5 !! Heures S6 !! Heures S7 !! Heures S8 !! Heures S9 !! Heures S10 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| Définition cahier des charges &lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Avancement du Projet==&lt;br /&gt;
&lt;br /&gt;
===Semaine 1===&lt;br /&gt;
&lt;br /&gt;
== Fichiers Rendus ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29587</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29587"/>
				<updated>2016-04-01T21:26:14Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal carré interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal carré, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Lors de chaque interruption, l'information est directement envoyée au serveur websocket.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est direct.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bits de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0.&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à l'horloge à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
       if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       else{&lt;br /&gt;
       printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucunes connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leurs découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29586</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29586"/>
				<updated>2016-04-01T21:24:14Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal carré interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal carré, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Lors de chaque interruption, l'information est directement envoyée au serveur websocket.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est direct.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bits de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0.&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à l'horloge à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
       if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       else{&lt;br /&gt;
       printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29585</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29585"/>
				<updated>2016-04-01T21:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal carré interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal carré, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Lors de chaque interruption, l'information est directement envoyée au serveur websocket.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
       if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       else{&lt;br /&gt;
       printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29434</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29434"/>
				<updated>2016-03-31T15:40:15Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal carré interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal carré, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
       if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       else{&lt;br /&gt;
       printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29433</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29433"/>
				<updated>2016-03-31T15:39:55Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal carré interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
       if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       else{&lt;br /&gt;
       printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29427</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29427"/>
				<updated>2016-03-31T15:31:13Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
       if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
	} &lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
	printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29426</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29426"/>
				<updated>2016-03-31T15:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
       {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
	if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
	} &lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
	printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29425</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29425"/>
				<updated>2016-03-31T15:28:52Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici le programme implémenté dans la Redboard:&lt;br /&gt;
&lt;br /&gt;
 int pd=2;&lt;br /&gt;
 int senRead=0;   // diode #1&lt;br /&gt;
 int senRead2=2;  // diode #2             &lt;br /&gt;
 int seuil=20;    //seuil pour un obstacle  &lt;br /&gt;
 int cpt_IN=0;    //compteur d'entrées&lt;br /&gt;
 int cpt_OUT=0;   //compteur de sorties&lt;br /&gt;
 int signal_coupe=0;    //indique le numéro de la diode dont le signal a été coupé   &lt;br /&gt;
 //pour le capteur de température&lt;br /&gt;
 int val_t;&lt;br /&gt;
 int tempPin = 1;&lt;br /&gt;
 &lt;br /&gt;
 void setup()    &lt;br /&gt;
 {  &lt;br /&gt;
  pinMode(pd,OUTPUT); &lt;br /&gt;
  digitalWrite(pd,HIGH);       //alimentation photodiode &lt;br /&gt;
  Serial.begin(9600);           &lt;br /&gt;
 }  &lt;br /&gt;
 void loop()&lt;br /&gt;
 {  &lt;br /&gt;
  // Acquisition, calcul et affichage de la température&lt;br /&gt;
  val_t = analogRead(tempPin);&lt;br /&gt;
  float cel = ( val_t*125)/767.25; //Conversion en degrés Celsius&lt;br /&gt;
  Serial.print(cel);&lt;br /&gt;
  Serial.print(&amp;quot;*C&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
  // Lecture photodiode 1&lt;br /&gt;
  int val=analogRead(senRead);  //Acquisition de la valeur numérique (comprise entre 0 et 1023) de la première diode   &lt;br /&gt;
  delay(10);&lt;br /&gt;
  // Lecture photodiode 2&lt;br /&gt;
  int val2=analogRead(senRead2); // Acquisition de la valeur numérique (comprise entre 0 et 1023) de la seconde diode &lt;br /&gt;
  delay(10);&lt;br /&gt;
  &lt;br /&gt;
  // test signal coupé&lt;br /&gt;
  if ((val&amp;gt;seuil) &amp;amp;&amp;amp; (val2&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 1 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_OUT++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if ((val2&amp;gt;seuil) &amp;amp;&amp;amp; (val&amp;lt;seuil)){&lt;br /&gt;
    Serial.print(&amp;quot;Signal 2 COUPE&amp;quot;);&lt;br /&gt;
    signal_coupe = 1;&lt;br /&gt;
    cpt_IN++;&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.print(signal_coupe);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Nous nous sommes occupé ici de la partie configuration du serveur et de la liaison série. &lt;br /&gt;
&lt;br /&gt;
Le code paramétrant la liaison série est fourni dans le sujet du projet, il n'y a pas de modification à faire:&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  * Serial library&lt;br /&gt;
  */&lt;br /&gt;
  ////&lt;br /&gt;
  // Include files&lt;br /&gt;
  ////&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;strings.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/ioctl.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;sys/file.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  ////&lt;br /&gt;
  // Functions&lt;br /&gt;
  ////&lt;br /&gt;
  //&lt;br /&gt;
  // Open serial port device&lt;br /&gt;
  //&lt;br /&gt;
  int serialOpen(char *device,int mode){&lt;br /&gt;
  int flags=(mode==SERIAL_READ?O_RDONLY:(mode==SERIAL_WRITE?O_WRONLY:O_RDWR));&lt;br /&gt;
  int fd=open(device,flags|O_NOCTTY); &lt;br /&gt;
  if(fd&amp;lt;0){ perror(device); exit(-1); }&lt;br /&gt;
  return fd;&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port configuration&lt;br /&gt;
  //&lt;br /&gt;
  void serialConfig(int fd,int speed){&lt;br /&gt;
  struct termios new;&lt;br /&gt;
  bzero(&amp;amp;new,sizeof(new));&lt;br /&gt;
  new.c_cflag=CLOCAL|CREAD|speed|CS8;&lt;br /&gt;
  new.c_iflag=0; &lt;br /&gt;
  new.c_oflag=0;&lt;br /&gt;
  new.c_lflag=0;     /* set input mode (non-canonical, no echo,...) */&lt;br /&gt;
  new.c_cc[VTIME]=0; /* inter-character timer unused */&lt;br /&gt;
  new.c_cc[VMIN]=1;  /* blocking read until 1 char received */&lt;br /&gt;
  if(tcsetattr(fd,TCSANOW,&amp;amp;new)&amp;lt;0){ perror(&amp;quot;serialInit.tcsetattr&amp;quot;); exit(-1); }&lt;br /&gt;
  }&lt;br /&gt;
  //&lt;br /&gt;
  // Serial port termination&lt;br /&gt;
  //&lt;br /&gt;
  void serialClose(int fd){&lt;br /&gt;
  close(fd);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De même, un exemple de fichier configurant le serveur Weebsocket nous a été fourni. Nous l'adaptons donc suivant les données de notre projet qui doivent transiter par le serveur (température, nombre de personne dans la pièce):&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;libwebsockets.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;termios.h&amp;gt;&lt;br /&gt;
  #include &amp;quot;serial.h&amp;quot;&lt;br /&gt;
  #define         SERIAL_DEVICE           &amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
  #define MAX_FRAME_SIZE  1024&lt;br /&gt;
  #define WAIT_DELAY      50&lt;br /&gt;
  int sd;&lt;br /&gt;
  static int callback_http(&lt;br /&gt;
  struct libwebsocket_context *this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static int callback_my(&lt;br /&gt;
  struct libwebsocket_context * this,&lt;br /&gt;
  struct libwebsocket *wsi,enum libwebsocket_callback_reasons reason,&lt;br /&gt;
  void *user,void *in,size_t len)&lt;br /&gt;
  {&lt;br /&gt;
  unsigned char signal,temp; 	 // &amp;quot;signal&amp;quot; contient le numero de la diode dont le signal a été coupé, &amp;quot;temp&amp;quot; la valeur de la temperature&lt;br /&gt;
  int nb_personne;  			 // compteur de personne&lt;br /&gt;
  nb_personne = 0;&lt;br /&gt;
  switch(reason){&lt;br /&gt;
  case LWS_CALLBACK_ESTABLISHED:&lt;br /&gt;
    printf(&amp;quot;connection established\n&amp;quot;);&lt;br /&gt;
    // Declenchement d'un prochain envoi au navigateur&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  /*case LWS_CALLBACK_RECEIVE:&lt;br /&gt;
                // Ici sont traites les messages envoyes par le navigateur&lt;br /&gt;
    printf(&amp;quot;received data: %s\n&amp;quot;,(char *)in);&lt;br /&gt;
    sscanf(in,&amp;quot;%d %d&amp;quot;,&amp;amp;temp_min,&amp;amp;temp_max);&lt;br /&gt;
    temp_min = (temp_min+50)*(2.55/5);    &lt;br /&gt;
    //envoyer la tempÃ©rature min&lt;br /&gt;
    if(temp_min &amp;lt;= 450 &amp;amp;&amp;amp; temp_min&amp;gt;= -50 &amp;amp;&amp;amp; temp_max &amp;lt;= 450 &amp;amp;&amp;amp; temp_max&amp;gt;= -50)&lt;br /&gt;
      {&lt;br /&gt;
    if(write(sd,&amp;amp;temp_min,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
       //envoyer la tempÃ©rature max&lt;br /&gt;
       temp_max = (temp_max+50)*(2.55/5);&lt;br /&gt;
	if(write(sd,&amp;amp;temp_max,sizeof(char))!=1){ perror(&amp;quot;main.write&amp;quot;); exit(-1); &lt;br /&gt;
	} &lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
	printf(&amp;quot;Data incorrect&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
    break; */&lt;br /&gt;
    case LWS_CALLBACK_SERVER_WRITEABLE:&lt;br /&gt;
                // Ici sont envoyes les messages au navigateur&lt;br /&gt;
    if(read(sd,&amp;amp;temp,sizeof(char))==1){&lt;br /&gt;
      char tampon[LWS_SEND_BUFFER_PRE_PADDING+64+LWS_SEND_BUFFER_POST_PADDING];&lt;br /&gt;
      char *out=tampon+LWS_SEND_BUFFER_PRE_PADDING;&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,temp); &lt;br /&gt;
      temp = ((temp*125)/767.25); // conversion de la temprature en degrés Celsius&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,temp);&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      // traitement sur signal pour avoir le nombre de personne&lt;br /&gt;
      sprintf(out,&amp;quot;%d&amp;quot;,signal);&lt;br /&gt;
      if(signal==0){&lt;br /&gt;
      nb_personne++;&lt;br /&gt;
      }&lt;br /&gt;
      if(signal == 1){&lt;br /&gt;
      nb_personne--;&lt;br /&gt;
      }	&lt;br /&gt;
      printf(&amp;quot;%d\n&amp;quot;,nb_personne);	&lt;br /&gt;
      libwebsocket_write(wsi,(unsigned char *)out,strlen(out)+1,LWS_WRITE_TEXT);&lt;br /&gt;
      }&lt;br /&gt;
    libwebsocket_callback_on_writable(this,wsi);&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
  static struct libwebsocket_protocols protocols[] = {&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;http-only&amp;quot;,   // name&lt;br /&gt;
    callback_http, // callback&lt;br /&gt;
    0,             // data size&lt;br /&gt;
    0              // maximum frame size&lt;br /&gt;
  },&lt;br /&gt;
  {&amp;quot;myprotocol&amp;quot;,callback_my,0,MAX_FRAME_SIZE},&lt;br /&gt;
  {NULL,NULL,0,0}&lt;br /&gt;
  };&lt;br /&gt;
  int main(void) {&lt;br /&gt;
  int port=9000;&lt;br /&gt;
  struct lws_context_creation_info info;&lt;br /&gt;
  memset(&amp;amp;info,0,sizeof info);&lt;br /&gt;
  info.port=port;&lt;br /&gt;
  info.protocols=protocols;&lt;br /&gt;
  info.gid=-1;&lt;br /&gt;
  info.uid=-1;&lt;br /&gt;
  struct libwebsocket_context *context=libwebsocket_create_context(&amp;amp;info);&lt;br /&gt;
  if(context==NULL){&lt;br /&gt;
  fprintf(stderr, &amp;quot;libwebsocket init failed\n&amp;quot;);&lt;br /&gt;
  return -1;&lt;br /&gt;
  }&lt;br /&gt;
  printf(&amp;quot;starting server...\n&amp;quot;);&lt;br /&gt;
  sd=serialOpen(SERIAL_DEVICE,SERIAL_BOTH);&lt;br /&gt;
  serialConfig(sd,B9600);&lt;br /&gt;
  while(1){&lt;br /&gt;
  libwebsocket_service(context,WAIT_DELAY);&lt;br /&gt;
  }&lt;br /&gt;
  serialClose(sd);&lt;br /&gt;
  libwebsocket_context_destroy(context);&lt;br /&gt;
  return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29274</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29274"/>
				<updated>2016-03-28T18:00:52Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont à implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29273</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29273"/>
				<updated>2016-03-28T18:00:00Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont a implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
Ce premier projet SC en IMA3 nous a permis d’acquérir de multiples compétences.&lt;br /&gt;
En premier lieu des compétences techniques en Arduino, FPGA, Altium, WebSocket, HTML et CANVAS. Nous n'avions aucune connaissances dans ces domaines ce qui a été un frein très important sur notre progression. Cependant leur découverte n'a pu apporter que des choses bénéfiques.&lt;br /&gt;
Notre programme Arduino fonctionne et nous pourrions l’implémenter directement sur la Raspberry Pie car il n'est en effet pas nécessaire d'utiliser un FPGA dans notre situation.&lt;br /&gt;
Nous avons pu découvrir deux environnements totalement différents, l'électronique et l'informatique, qu'il a fallu relier entre eux ce qui consistait en un bon exercice.&lt;br /&gt;
Nous avons développé nos compétences sur le travail en autonomie car nous étions la plupart du temps seuls face aux différents problèmes à résoudre.&lt;br /&gt;
Nous aurions du revoir notre projet à la baisse au vue des contraintes imposées et de la difficultés de documentation et de prise en main des differents aspects du projet. De cette manière nous aurions pu finaliser un projet moins ambitieux mais fonctionnel.&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29272</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29272"/>
				<updated>2016-03-28T17:44:34Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. Après des recherches infructueuses et chronophages, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecter une horloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 bauds. L'envoie des données se fait par détection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci-dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
    L'entrée Bp correspondant au bouton poussoir&lt;br /&gt;
    L'entrée clk correspondant à la clock à 50Mhz&lt;br /&gt;
    L'entrée Counter[3..0] correspondant au bus du compteur&lt;br /&gt;
    La sortie CE_out correspondant à la sortie du système gérant l'entrée CE du compteur &lt;br /&gt;
    Le calcul de la nouvelle séquence d'horloge se fait de la manière suivante :&lt;br /&gt;
    Front = Bp . /Bp-1&lt;br /&gt;
    C = ( /Counter . C-1 ) + Front&lt;br /&gt;
    CE_out = C + Counter&lt;br /&gt;
&lt;br /&gt;
Ces résultats sont a implémenter sur la nanoboard et il reste de plus à corriger les erreurs liées à la conversion.&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29271</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29271"/>
				<updated>2016-03-28T17:38:04Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. près des recherches infructueuses et chronophage, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecté une hotloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur le internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 baud. L'envoie des données se fait par detection de l'appui sur bouton poussoir (SW_USER0).&lt;br /&gt;
Ci dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Counter9600.PNG]]&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Counter9600.PNG&amp;diff=29270</id>
		<title>Fichier:Counter9600.PNG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Counter9600.PNG&amp;diff=29270"/>
				<updated>2016-03-28T17:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29269</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29269"/>
				<updated>2016-03-28T17:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. près des recherches infructueuses et chronophage, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecté une hotloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur le internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission_OAG.PNG]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 baud. L'envoie des données se fait par detection de l'appui sur bouton poussoir.&lt;br /&gt;
Ci dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
Fichier&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29268</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29268"/>
				<updated>2016-03-28T17:33:34Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Le problème de compilation résolu, c'est le signal en sortie de la nanoboard qui nous pose problème, il n'est pas de forme carrée mais plutôt aléatoire. près des recherches infructueuses et chronophage, nous nous intéressons à la réalisation de la liaison série.&lt;br /&gt;
Nous souhaitons transférer la donnée température sous forme d'un mot de 8 bits. Le transfert du nombre de personnes comptées est un accès à la mémoire pour une lecture.&lt;br /&gt;
&lt;br /&gt;
En prenant le cas du transfert de la données température, il convient de la mettre sous forme d'une trame utilisée par la liaisons RS232. Soit un bit de start, 8 bit de données et un bit de stop. Pas de bit de parité.&lt;br /&gt;
La meilleur façon d'assembler ces bits consiste à utiliser un multiplexeur 8 vers 1 pour une émissions bit à bit temporisée par un compteur. Ce compteur correspond à la vitesse de transmission en bauds, choisit arbitrairement à 9600 bits/s, il faut connecté une hotloge  de 9600Hz pour cela au compteur.&lt;br /&gt;
Nous trouvons ces informations en nous renseignant sur le internet et en utilisant les travaux réalisés lors des projets précédents. Un programme Altium réalisable correspond au programme suivant, nous ne l'avons pas testé par manque de temps.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Transmission OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Un bloc supplémentaire de cadencement du compteur est utilisé afin d'obtenir la vitesse de 9600 baud. L'envoie des données se fait par detection de l'appui sur bouton poussoir.&lt;br /&gt;
Ci dessous le détails du bloc de cadencement.&lt;br /&gt;
&lt;br /&gt;
Fichier&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Transmission_OAG.PNG&amp;diff=29267</id>
		<title>Fichier:Transmission OAG.PNG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:Transmission_OAG.PNG&amp;diff=29267"/>
				<updated>2016-03-28T17:33:07Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29264</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29264"/>
				<updated>2016-03-28T17:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PWM1 OAG.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PWM1_OAG.png&amp;diff=29263</id>
		<title>Fichier:PWM1 OAG.png</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PWM1_OAG.png&amp;diff=29263"/>
				<updated>2016-03-28T17:00:50Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : Pulse width modulation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pulse width modulation&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29261</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29261"/>
				<updated>2016-03-28T16:57:36Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PMW1.png]]&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
Le signal de sortie de ce bloc est un signal carré que nous rendons triangulaire grâce au filtre passe bas.&lt;br /&gt;
Il suffit ensuite d'utiliser un comparateur (composant électronique) pour obtenir notre signal convertit.&lt;br /&gt;
&lt;br /&gt;
Cependant, nous rencontrons des difficultés lors de la compilation du programme sous Altium. Nous remarquons que cela vient d'un problème de bibliothèque du logiciel et décidons de changer de poste pour le résoudre. Ce problème nous a fortement ralenti et nous décidons de réaliser une séance supplémentaire pour avancer le projet.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PMW1.PNG&amp;diff=29255</id>
		<title>Fichier:PMW1.PNG</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Fichier:PMW1.PNG&amp;diff=29255"/>
				<updated>2016-03-28T16:47:38Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	<entry>
		<id>https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29252</id>
		<title>Projet IMA3 P3, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://projets-ima.plil.fr/mediawiki/index.php?title=Projet_IMA3_P3,_2015/2016,_TD1&amp;diff=29252"/>
				<updated>2016-03-28T16:41:11Z</updated>
		
		<summary type="html">&lt;p&gt;Omahieux : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Gestion de l'éclairage et du chauffage d'une pièce en fonction du nombre de personne. =&lt;br /&gt;
&lt;br /&gt;
== Contexte ==&lt;br /&gt;
&lt;br /&gt;
La gestion de l'énergie étant une problématique d'actualité, nous nous sommes dirigés vers le domaine de la domotique.&lt;br /&gt;
Notre objectif est de concevoir un système capable, d'une part, de gérer automatiquement l'éclairage d'une pièce et d'autre part, de conseiller l'utilisateur sur le chauffage de cette dernière via une application WEB.&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
Concernant l'éclairage :&lt;br /&gt;
* 2 capteurs de présence (LED IR ou SONAR à définir)&lt;br /&gt;
* Des LEDs représentant l'éclairage&lt;br /&gt;
Concernant la gestion du chauffage :&lt;br /&gt;
* 1 capteur de température&lt;br /&gt;
Pour acquérir, traiter et afficher les données :&lt;br /&gt;
* Une Nanoboard&lt;br /&gt;
* Une Raspberry PI&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
Prise en main de la RedBoard :&lt;br /&gt;
* Clignotement d'une LED&lt;br /&gt;
* Mesures de distance avec SONAR qui servira de capteur de présence.&lt;br /&gt;
* Caractéristiques du capteur de température TMP36GZ :&lt;br /&gt;
  Étendue de mesure : -40°C à +125°C&lt;br /&gt;
  Précision : +- 1°C à 25°C&lt;br /&gt;
  Résolution : 10mV/°C&lt;br /&gt;
  Offset : 0.5V&lt;br /&gt;
  25°C-&amp;gt;750mV&lt;br /&gt;
&lt;br /&gt;
Utilisation de la RedBoard pour acquérir les signaux des capteurs et transmission par la liaison série intégrée jusqu'à l’ordinateur. &lt;br /&gt;
Vous trouverez ci-dessous le programme Arduino d'acquisition des données capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
*(Re)découverte du langage HTML.&lt;br /&gt;
*Découverte du langage CSS.&lt;br /&gt;
Recherche d'outils permettant la réalisation de graphiques 3D dynamique sur une page WEB :&lt;br /&gt;
* JavaScript&lt;br /&gt;
* CANVAS&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de changer le capteur de présence par deux LED IR. Une personne est comptée entrante/sortante dans la pièce lorsque le faisceau IR est interrompu.&lt;br /&gt;
Nous devons donc numériser deux signaux, celui à la sortie du capteur de température et celui des LEDs.&lt;br /&gt;
Pour cela il nous faut utiliser un convertisseur analogique-numérique.&lt;br /&gt;
Nous sommes contraint de réaliser ce composant avec le FPGA et nous nécessitons donc une conversion par MLI.&lt;br /&gt;
Cette conversion nécessite la génération d'un signal triangulaire (utilisation d'un filtre passe bas) par le biais du FPGA et l’utilisation d'un comparateur entre ce signal et le signal du capteur pour obtenir un signal TTL interprétable en binaire.&lt;br /&gt;
Le schéma suivant illustre la conversion.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Pwmproj.png]]&lt;br /&gt;
&lt;br /&gt;
Pour retrouver la valeur de la tension délivrée par le capteur de température à partir du signal TTL, il faut mesurer la valeur moyenne de ce signal.&lt;br /&gt;
&lt;br /&gt;
Pour le comptage de personne, nous utilisons un comparateur qui permet l’émission d'un état haut lorsque la luminosité reçue par la photodiode descend en dessous d'un certains niveau. Cela correspond à l'interruption de notre faisceau et au passage d'une personne.&lt;br /&gt;
Nous comptons le nombre d'interruption et l'enregistrons sous forme d'entier dans une mémoire adjacente au FPGA.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Programmation du capteur de température et de la photodiode.&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Après plusieurs tentatives infructueuses d'accès à la salle d'électronique (car il n'y avait pas suffisamment de poste avec nanoboard pour le nombre de groupe du TD), nous avons pu réaliser les premiers schémas sur Altium.&lt;br /&gt;
Le premier correspond à l’émission d'un signal carré par le FPGA pour sa conversion future en signal triangulaire.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il est composés des éléments suivants :&lt;br /&gt;
Un compteur 8 bits relié à deux blocs différents : L'horloge et un module délivrant un mot de 8 bit correspondant à la largeur d’impulsion désirée.&lt;br /&gt;
Nous utilisons le bloc PWM prédéfini dans Altium pour délivrer sur la broche 2 le signal carré.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Définition des données à échanger entre la partie électronique et le serveur Websocket. &lt;br /&gt;
Finition du code gérant les capteurs.&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Omahieux</name></author>	</entry>

	</feed>