Arduino

1. Arduino : c’est quoi ?

Arduino est le nom d’une gamme de cartes à microcontrôleur, c’est à dire de cartes électroniques programmables. Elles utilisent toutes un même logiciel de programmation (environnement de développement ou IDE) appelé logiciel Arduino également. Le langage de programmation utilisé est proche du langage C. Arduino est aussi aujourd’hui le nom d’une entreprise qui gère et développe ces produits.

Carte Arduino Leonardo (Source : arduino.cc)

IDE Arduino

2. Arduino : ça sert à quoi ?

Une carte Arduino, comme toutes les cartes à microcontrôleur, permet de piloter un système  physique de manière interactive à partir du programme que l’on aura défini et mis dans sa mémoire. Par exemple gérer automatiquement l’ouverture d’une porte de garage, envoyer un SMS quand le jardin est trop sec et gérer le système d’arrosage à distance, piloter un nouveau robot, … Il faut pour cela associer à la carte Arduino des capteurs (de lumière, de température, de position, …), des actionneurs (moteurs, pompe, …), des organes de sortie (lampe, chauffage, …), des interfaces de puissance (relais, pont en H, …), une alimentation (piles, panneaux solaires, …), des interfaces de dialogue (boutons, LEDs, écran, …), des interfaces de communication (réseau filaire, réseau sans fil, …), …

Une carte Arduino (de base) gère essentiellement le traitement de l’information (source : developpez.com)

Arduino peut être utilisé pour des applications en domotique (source : jeromeabel.net)

Un robot intégrant une carte Arduino Leonardo (source : mhobbies.com)

3. Arduino : ça sert à qui ?

Arduino a été conçu pour l’enseignement de l’électronique et de l’informatique. Il a été optimisé dès sa création pour être accessible à tous les « bricoleurs » les adeptes du “Do It Yourself” (ou DIY) : système pas cher, simple,  multiplateforme, … mais performant ! Il permet de développer très rapidement et simplement une maquette fonctionnelle pour un projet. Si le projet doit être produit en série, alors Arduino servira uniquement à la conception d’un prototype.

Des étudiants de l’école Louis Lumière travaillent sur un projet avec des effets sonores pilotés par une carte Arduino (source : digitalarti.com)

4. Arduino : pourquoi un tel succès ?

Deux raisons principalement au succès du système Arduino : sa connectique standardisée et sa licence libre.

La connectique des cartes Arduino est conçue pour pouvoir y connecter des cartes additionnelles en les empilant sur la carte à microcontrôleur (sur deux rangées de connecteurs traversants). A cause du succès des cartes Arduino, cette connectique est aujourd’hui un standard de fait, ce qui a facilité l’apparition d’un très grand nombre de cartes additionnelles compatibles, appelées shields Arduino (shield = bouclier en anglais). Ces cartes sont fournis avec une bibliothèque de fonctions logicielles pour faciliter son utilisation dans un programme. La conception matérielle et logicielle d’un projet devient ainsi très modulaire. Les modules (shields) vendus dans le commerce sont fabriqués industriellement et sont fiables. La conception d’un projet est ainsi facilité. Le système obtenu est mieux optimisé au niveau du prix, voire de la taille (composants CMS), …

Carte additionnelle (shield) avec une interface de puissance MC33926 pour des moteurs à courant continu, alimentés sous 8 à 28V avec 3A maxi (source : robotshop.com)

Carte Seeedstudio Music Shield V2.0 : carte audio connecté ici sur une carte Arduino (source : seeedstudio.com)

Empillement de 3 cartes compatibles avec la connectique Arduino (source : developpez.com)

Arduino est sous licence libre de droits (open source) aussi bien au niveau du logiciel (l’environnement de développement) que du matériel, donc des cartes à microcontrôleurs, mais aussi des cartes additionnelles compatibles. Les composants utilisés, eux ne sont pas libres de droit. N’importe qui peut développer du matériel ou du logiciel utilisant le système Arduino sans payer de licence. La seule limite demandée est de laisser le nom Arduino aux produits officiellement développés par l’équipe Arduino. Il existe donc de nombreux produits compatibles Arduino avec des noms très variés finissant souvent par « duino » comme freeduino, seeduino, …

Extrait schema Leonardo (source : arduino.cc)

Extrait schema carte rduino Leonardo (source : arduino.cc)

5. Arduino : ça coûte combien

Pour tester Arduino :
Carte Arduino Leonardo = 18 € Câble USB A / micro USB B (1,8 m) = 4 €
Logiciel Arduino : gratuit
Total = 22 € TTC (hors frais de port)
Cartes (shields) à connecter sur la carte à microcontrôleur : prix très variables, mais entre 10 et 30 € généralement.
Modules à connecter sur ces cartes (shields) : quelques euros à 30 € généralement.
Les plans de ces cartes sont libres et des cartes peuvent être fabriquées à moindre coût (?) avec en plus la possibilité de les adapter à différents besoins, de les commercialiser, …

6. Arduino : ça vient d’où ?

Monsieur Massimo Banzi enseignait la conception interactive en Italie. En 2005, il a conçu une carte électronique minimaliste et low cost pour permettre à ses étudiants de bricoler dans des activités de projets. Il appellera cette carte Arduino comme le bar où il avait l’habitude d’aller. Ce nom correspond à celui du roi Arduin (en 1002 en Italie). Avec l’aide d’une équipe de développeurs, ils conçoivent un environnement de développement spécifique. Le succès grandissant rapidement au fil des années, différentes versions matérielles et logicielles seront développées avec notamment l’Arduino Uno en 2010 qui est encore la carte de référence aujourd’hui. En 2012 sort l’Arduino Leonardo qui est une version optimisée.

L’équipe de développeurs des produits Arduino officiels, avec Massimo Banzi en bas à droite (source : atelier-objets-communicants.ensad.fr)

7. Arduino : c’est utile au lycée ?

Arduino a été développé au départ pour des étudiants où des bricoleurs qui ne maîtrisent pas l’électronique où l’informatique. Mais la programmation se fait avec un langage proche du langage C. Au lycée, en Sciences de l’ingénieur l’utilisation d’une carte à microcontrôleur correspond bien au programme mais la programmation en langage C détournerait l’élève des objectifs : analyser les aspects fonctionnels d’un système, les solutions techniques utilisées, la structure algorithmique d’un programme, les écarts entre les performances obtenues expérimentalement et un modèle simulé, … Une programmation graphique est préférable pour simplifier l’aspect informatique. Le grafcet est utilisé en Sciences de l’Ingénieur : il permet la programmation d’automates. Le logiciel Flowcode permet la programmation de cartes à microcontrôleur comme l’Arduino avec des algorigrammes (ou organigrammes). Flowcode est assez cher : environ 100 € la licence éducation (environ 1000 € les 10 licences). Il permet d’aborder la programmation de manière assez simple et efficace. Il permet également la simulation. Une autre solution existe pour programmer graphiquement des cartes Arduino : c’est le logiciel Ardublock. Cette solution me semble complémentaire de Flowcode.

Exemple de programme, la commande servomoteurs, avec un langage proche du langage C (source : LP2I, capture d'un exemple d'Arduino, servo sweep)

Exemple de programme, la commande servomoteurs, avec un langage proche du langage C (source : LP2I, capture d’un exemple d’Arduino, servo sweep)

Extrait d'un programme simple avec Floxcode V5 (Source : LP2I)

Extrait d’un programme simple avec Floxcode V5 (Source : LP2I)

8. Arduino + Ardublock : la solution idéale pour débuter ?

Ardublock permet de programmer graphiquement, à l’aide de blocs, une carte à microcontrôleur de type Arduino. Il suffit de sélectionner dans une bibliothèque des blocs de programme correspondants aux structures de contrôle, aux traitements, aux données, … comme avec le logiciel Scratch (initiation à l’informatique) ou App Inventor (développement d’application Androïd) qui utilisent la même base appelée OpenBlocks. C’est une application Java, libre et gratuite comme le logiciel Arduino. Elle s’intègre sous forme d’un plugin à l’environnement de développement Arduino. La programmation d’une carte Arduino avec Ardublock est accessible aux débutants en informatique, à partir de 10 ans environ. Ardublock est particulièrement bien adaptée à une utilisation pédagogique au collège et au lycée en Sciences de l’Ingénieur ou en STI2D. Avec Ardublock, l’interface de programmation du logiciel Arduino peut être complètement ignorée par l’élève : pas de menus, pas de code à écrire, … En cliquent sur le bouton « Téléverser vers l’Arduino », Ardublock génère automatiquement le programme et le transfère dans la carte Arduino qui exécute le programme. Par essais successifs, l’élève peut faire le lien entre son programme sous forme graphique et le comportement du système piloté par la carte Arduino. Il est à noter que le programme généré par Ardublock est visible dans l’interface Arduino en langage Arduino, proche du C, de manière assez propre et lisible, pour le prof. Ce qui n’est pas le cas avec App Inventor (aucun programme visible en Java).

Lien pour télécharger l’environnement de développement Arduino.
Lien pour télécharger la version béta du plugin Ardublock (du 12 nov 2013).
Lien pour voir comment intégrer Ardublock dans Arduino.
Lien vers des exemples de programmes : voir cet article (à suivre)

Capture Ardublock 271013

Interface d’Ardublock : à gauche les bibliothèques de blocs, à droite le programme avec les blocs sélectionnés et édités (source : LP2I)

8. Arduino : quel avenir ?

Arduino est devenu une solution standard pour le développement de projets à bases de carte à microcontrôleur. Il y a de plus en plus de matériel et de logiciels compatibles Arduino. Fin 2013 va sortir l’Arduino Yún qui permet un accès performant à Internet en Wifi ou Ethernet. Cette carte contient un processeur (MIPS) tournant sous Linux en plus du microcontrôleur, avec un format réduit par rapport à la carte Arduino Uno de référence, le tout pour 60 à 70 € seulement . L’Arduino Yún devrait être disponible fin 2013. Grâce à ses interfaces réseau, l’Arduino Yún pourra communiquer facilement avec les appareils Androïd. La carte Arduino servira comme d’habitude d’interface intelligente avec des capteurs, des actionneurs, … Une tablette ou un smartphone pourra alors servir d’interface de dialogue intelligente. Les deux communiqueront sur le même réseau, en Wifi par exemple, et partageront des ressources communes sur le cloud. D’ailleurs Yún signifie cloud en chinois !

Carte Arduino Yun avec interface Wifi et Ethernet (source : arduino.CC)

Programmation graphique d’une carte Arduino avec Ardublock

Article en cours de rédaction !

Ardublock permet de programmer graphiquement, à l’aide de blocs, une carte à microcontrôleur de type Arduino. Il suffit de sélectionner dans une bibliothèque des blocs de programme correspondants aux structures de contrôle, aux traitements, aux données, … comme avec le logiciel Scratch (initiation à l’informatique) ou App Inventor (développement d’application Androïd) qui utilisent la même base appelée OpenBlocks.

C’est une application Java, libre et gratuite comme le logiciel Arduino, qui s’intègre sous forme d’un plugin à l’environnement de développement Arduino.
La programmation d’une carte Arduino avec Ardublock est accessible aux débutants en informatique, à partir de 10 ans environ. Ardublock est particulièrement bien adaptée à une utilisation pédagogique au collège et au lycée en Sciences de l’Ingénieur ou en STI2D. Avec Ardublock, l’interface de programmation du logiciel Arduino peut être complétement ignorée : pas de menus, pas de code à écrire, …
En cliquent sur le bouton “Téléverser vers l’Arduino”, Ardublock génère automatiquement le programme et le transfère dans la carte Arduino qui exécute le programme. Par essais successifs, l’élève peut faire le lien entre son programme sous forme graphique et le comportement du système piloté par la carte Arduino.
Il est noter que le programme généré par Ardublock est visible dans l’interface Arduino en langage Arduino, proche du C, de manière assez propre et lisible, pour le prof. Ce qui n’est pas le cas avec App Inventor (aucun programme visible en Java).

Lien pour télécharger l’environnement de développement Arduino.
Lien pour télécharger la version béta du plugin Ardublock (du 12 nov 2013).
Lien pour voir comment intégrer Ardublock dans Arduino.

Capture Ardublock 271013
Interface d’Ardublock : à gauche les bibliothèques de blocs, à droite le programme avec les blocs sélectionnés et édités (source : LP2I).

Efficacité énergétique et impact environnemental – Télévision LCD – Consommation et pertes énergétiques

Pour cette étude de cas sur la télévision à écran plat, nous disposions d’une télévision LCD Samsung 32 pouces modèle LE32S81B. C’est sur cet appareil qu’on été effectuées toutes les mesures et toutes les études qui suivent.

I) Consommation énergétique

1) Consommation et variation de consommation

Sur ce modèle, le constructeur a intégré un système de réglage de l’intensité du rétro-éclairage, ainsi que plusieurs modes d’économie d’énergie, afin de faire varier la consommation énergétique en fonction du confort voulu

Pour connaître la puissance électrique consommée, nous avons procédé à plusieurs mesures, à chacun des mode “éco” proposés par l’appareil et pour deux niveau de rétro-éclairage (6 et 10, le réglage pouvant aller de 0 à 10). Nous avons également pris les mesures au niveau de rétro-éclairage 0 pour les deux options extrêmes du mode éco. Voici les résultats obtenus :

Source : LP2I

Source : LP2I

Ainsi, nous pouvons voir que le réglage du rétro-éclairage et du mode Éco peut grandement faire varier la puissance consommée par la télévision : la consommation avec les paramètres maximum (rétro-éclairage : 10 ; éco : arrêt) est environ 2,4 fois supérieure à la consommation avec les paramètres minimum (rétro-éclairage : 0 : éco : élevé)

Il est à noter que l’image affichée à l’écran a un impact négligeable sur la puissance consommée. En affichant une image blanche puis une image noire à l’écran avec des réglages identiques, nous avons pu constater que la différence de consommation s’élevait à 0,3 W, c’est-à-dire une différence négligeable.

2) Mode éco

Au cours de notre étude, nous avons cherché à savoir sur quel paramètre agissait le mode éco proposé par le constructeur afin de réduire la consommation de la télévision.

Nous avons donc émis une hypothèse :
Le mode éco ne serait en fait rien de plus qu’un autre paramètre réglant le rétro-éclairage.

Afin de la vérifier, nous avons comparé (subjectivement, à défaut d’appareil de mesure) la différence de luminosité entre deux réglages différents de rétro-éclairage et de mode éco consommant à peu près la même puissance
Notre choix s’est porté sur les réglages 6 ; élevé et 0 ; arrêt, qui présentent, malgré la différence de rétro-éclairage importante, une différence de consommation de tout juste 2,2 W.

A la comparaison, il s’est avéré que les deux réglages proposent le même niveau de luminosité.

En conclusion, nous pouvons donc dire que le mode éco est simplement un autre paramètre qui influe sur le rétro-éclairage de la télévision.

3) Indice d’Efficacité Énergétique (IEF)

En prenant pour base la puissance consommée par la télévision avec des réglages moyens (rétro-éclairage = 6 et éco : moyen), nous avons aussi calculé l’IEF de l’appareil, soit le rapport entre la puissance mesurée (P) et une puissance de référence (Pref), permettant de déterminer la classe énergétique de l’appareil.

Pref = Pbase + A * 4,3224Watts/dm² = 20 + 28,73*4,3224 = 144,182552 W

Avec Pbase = constante en fonction de l’équipement intégré et A = suface de l’écran en dm²

IEF = P / Pbase = 71,8 / 144,182552 = 0,497979811038

Cet indice classe donc notre appareil dans la classe énergétique C lors d’un fonctionnement dans les conditions de test.

II) Pertes énergétiques

Au cours de cet étude, nous avons aussi cherché à savoir où l’appareil pouvait générer des pertes énergétiques. Pour ce faire, nous avons analysé les composants de la télévision.

Avec cette analyse, nous avons pu dresser la liste suivante :

Cette télévision LCD génère des pertes :
– au niveau du rétro-éclairage. Celui-ci est assuré par des tubes CCFL, qui n’ont qu’un rendement énergétique de 20%. Le reste de l’énergie est perdu en chaleur.
– au niveau de la carte d’alimentation. La présence d’un dissipateur thermique nous indique une importante production d’énergie thermique inutile au système et qui est dissipée et donc perdue.
– On constate également des pertes au niveau de l’écran LCD, bien qu’elles soient minimes par rapport aux deux sources de pertes précédentes.

La voiture électrique

L’aspect énergétique de la voiture

La voiture électrique à l’avantage d’utiliser une énergie non polluante mais elle a l’inconvénient d’être moins puissante qu’une voiture à moteur diesel ou essence. En effet, ses caractéristiques le confirment :

-puissance maximale : 24 KW ( puissance absorbée )

-poids : 800 Kg

-vitesse maximale : 100 Km/h

-émission de CO2 : 0 g/Km

Le rendement énergétique d’une voiture électrique est beaucoup plus avantageux que celui d’une voiture à essence ou diesel :

-rendements voiture essence et diesel en usage mixe (ville route, cycle NEDC) représentent 15,5% et 19,1% et leurs consommations correspondantes sont de 8,4 litres d’essence et 6,4 litres de gazole au cent.

-rendement voiture électrique en usage mixte représente environ 0,72 hors chauffage à raison de 150 Wh/Kg et si nous nous contentons de 300 Kg de batterie pour ne pas pénaliser la consommation entraînée par la sur masse de batteries.

Le rechargement de la voiture électrique se fait sur des bornes près des stationnements publics :

 

Voiture électrique Source: LP2I

Voiture électrique
Source:

 

Chaîne d'énergie de la voiture électrique Source: LP2I

Chaîne d’énergie de la voiture électrique
Source: LP2I

Modélisation de la chaîne d’énergie :

-Source d’énergie utilisée : Batterie en courant continu fournissant énergie électrique.

-Batterie : Lithium Phosphate de fer de 8 kWh (autonomie 80 km) ou 12 kWh (autonomie 130 km).

Composants chaîne d’énergie :

-Variateur de vitesse : Dispositif électronique destiné à commander la vitesse d’un moteur électrique. Sur la Mia, c’est un variateur de vitesse triphasé qui fait donc varier la fréquence.

-Poulie-courroie-engrenages : composants permettant de faire tourner les roues de la voiture appartenant à la fonction « transmettre » de la chaîne d’énergie.

Energie utile :

L’analyse de « l’énergie utile » nous permet d’identifier les « causes » qui entraînent une consommation d’énergie. Nous pouvons donc déterminer ces causes et ainsi réduire la puissance nécessaire et donc réduire la consommation énergétique des véhicules. L’énergie utiles se mesure e MJ (Méga Joules).

-S = surface projetée frontale = 2,542 m²

-Cx = coefficient d’efficacité aérodynamique = 0,32

-m = masse de référence* = masse à vide 750 kg

-(plein à 90% compris) + 100 kg de charge = 850 kg

-Cr = coefficient de résistance au roulement = 0,012

 

-Eu (cycle) = S.Cx.19,2 + Cr.m.0,82 + m.0,011

                  = 2,542m².0,32.19,2 + 0,012.750kg.0,82 + 750kg.0,011

                  = 15,6 MJ + 7,38 MJ + 8,25 MJ = 31,23 MJ au cent

 

Puissance: P = Pu ( Puissance utile ).

Matériaux voiture électrique :

-Châssis : acier

châssis

châssis
source: LP2I

-Carrosserie : plastique

Carrosserie

Carrosserie
Source: LP2I

-Coulissants de portes : acier

Coulissants

Coulissants
Source: LP2I

-Moteur électrique : aluminium

 

Efficacité énergétique et impact environnemental – La voiture électrique Mia

Problématique

Quelles sont les solutions retenues par le constructeurs pour que le système soit compétitif sur le plan de son efficacité énergétique ? Ces solutions vous paraissent-elles optimums quand à l’impact de ce système sur l’environnement ?

Travail demandé

Apporter des éléments de réponse à la problématique en étudiant le cas d’un système réel, choisi parmi ceux proposés. Travailler en équipes de 2 à 4 élèves pour chaque système.

Système proposés

Voiture électrique Mia

Hélicoptère AR Drone
Alimentation solaire et éclairage
Système audio (alim+ampli+HP)
Système d’arrosage automatique Gardena (pompe, électrovannes, programmateurs).
Télévision à écran plat Robot aspirateur _________________________________________________________________________
Moi et mon groupe, nous avons choisi de prendre le système de la voiture électrique Mia. Avec l’aide des documents que nous a mis à disposition notre professeur, nous avons pu comprendre et voir les composants de cette voiture électrique. Tout d’abord, nous avons compris que le but des constructeurs maintenant était de réduire les consommations d’énergies de leur véhicule. Pour cela ils se sont aider des nouvelles technologies. Mais ils rencontrent un problème majeur : les usagers demandent de plus en plus de confort et de technologies embarquées, ce qui engendre une sur-consommation. En effet, l’embarquement de ces nouvelles technologies de confort génère un sur-poids qui est l’ennemis de la baisse de la consommation d’énergie. La question du poids peut être résolu en se débarrassant de gadgets ou de systèmes qui ne sont pas toujours utiles et primordiaux (climatisation, vitres électriques, et autres accessoires).

Source LP2I

Source LP2I

Cette réalité peut être caricaturée par plusieurs images.

Source d'un document PDF donné par notre professeur.

Source d’un document PDF donné par notre professeur.

On peut modéliser l’interaction entre l’économie apportée (dû à la masse de la voiture, etc…) et l’énergie nécessaire au déplacement de la voiture. Nous pouvons calculer l’énergie qui est consommée par cette formule : 

Ec = Eu / rv

Source tirée d'un document PDF donné par notre professeur. Eu = énergie utile nécessaire Ec = énergie consommée rv = rendement de la voiture

Source tirée d’un document PDF donné par notre professeur.
Eu = énergie utile nécessaire
Ec = énergie consommée
rv = rendement de la voiture

C’est avec ce type de calcul que les constructeurs essayent de faire des voitures qui polluent le moins possible pour avoir un impact environnemental faible. Nous avons ensuite compris que les constructeurs recherchaient l’énergie utile. L’énergie utile est une analyse qui permet d’identifier les causes qui entraînent une consommation d’énergie. Les constructeurs peuvent ensuite modifier les causes de ces consommations d’énergie. Mais cette énergie utile est difficile à trouver, car elle dépend de beaucoup de facteurs et change en fonction des voitures : les accélérations, la vitesse… En plus de cela, elle varie en fonction de l’usager et de la route. L’énergie utile est calculée de la façon suivante:

Eu= Eua + Eur + Eug + Eum

Avec : Eua = énergie utile arérodynamique (dépend de la surface et du coefficient d’efficacité aérodynamique)
Eua = énergie utile de roulement (dépend de la masse et du coefficient de résistance au roulement)
Eug = Energie utile accélérateur (dépend de la masse)
Eum = énergie utile montée (dépend du cycle urbain)

 

Il faut savoir que le rendement d’une voiture dépend également du type d’énergie consommé. Si on a affaire à un moteur thermique le rendement est d’environ 15.5 % et si le moteur est électrique le rendement est de 72 %. Le rendement d’un véhicule électrique est très supérieur au moteur thermique  Le bilan CO2 pour de l’essence, du diesel et du GPL : environ 18 kg de CO2 au 100 km. Pour les véhicules électriques, on est au alentour de 8.5 kg de CO2 au 100 kg. On préserve donc plus la planète en roulant avec des voitures électriques. Avec un moteur électrique on peut récupérer l’énergie cinétique lors des phases de ralentissement ce qui permet d’améliorer le rendement. Pour l’instant nous avons vu que l’aspect mécanique et technique était une garantie sur l’impact environnemental des voitures.

Mais d’autres facteurs doivent être pris en compte comme : l’éco-design. L’éco-design est réfléchi de façon à s’attaquer directement aux causes premières de la consommation d’énergie : c’est à dire de réduire les masses et les traînées aérodynamiques (en travaillant sur les formes du véhicule de manière à diminuer la résistance à la pénétration dans l’air..)

Source tirée d'un document PDF donné par notre professeur

Source tirée d’un document PDF donné par notre professeur

Une recherche a été faîte sur la conception de la matière pour la voiture. Les voitures en ce moment sont principalement faîtes avec de l’acier, mais les constructeurs ont découvert que l’alu était beaucoup plus léger tout en restant très résistant.

Source tirée d'un document PDF donné par notre professeur

Source tirée d’un document PDF donné par notre professeur

Les designers et les constructeurs de voiture ont donc conclu que pour réduire les masses et améliorer l’aérodynamisme, il faut agir sur les formes et la matière des voitures. Néanmoins, ils continuent à dire qu’il faut toujours privilégier le vélo ou la marche à pied pour des petits déplacements.

Une autre recherche a été faîte sur les voitures électriques, avec des questions comme : Est-ce que la voiture électrique est vraiment bien pour réduire les émissions de CO2 ? En ville les phases d’accélération (très gourmande en énergie) sont fréquentes ainsi que les phases de freinage (dissipation de l’énergie sous forme de chaleur). Avoir un véhicule électrique avec un grand rendement à tout son sens : la perte d’énergie durant les phases d’accélération est nettement plus faible que dans le cas d’un moteur thermique et durant les phases de freinages la récupération de l’énergie est possible et permet de recharger les batteries. Par contre, les voitures électriques ont une faible autonomie ce qui limite les déplacements en usage extra-urbains.

Source tirée d'un document PDF donné par notre professeur

Source tirée d’un document PDF donné par notre professeur

Les voitures hybrides (thermique-électrique) semble être le meilleur compromis : durant les phases d’accélérations très énergivore on utilise le moteur électrique, en vitesse stabilisée on utilise le moteur thermique, durant les phases de ralentissement on récupère une partie de l’énergie pour recharger les batteries.

Après l’éco-design, vient l’éco-conception. L’éco-conception est la prise en compte, dès la conception de la voiture, de l’impact environnemental. C’est une démarche qui se caractérise par une approche globale : l’impact environnemental est évalué lors de toutes les phases de la vie du produit (depuis l’extraction des matières premières à la fin de la vie de la voiture = son recyclage). Il faut chercher d’autres matériaux qui ne sont pas utilisés en ce moment, mais le remplacement d’un matériau nécessite de connaître toutes ses caractéristiques : la nature du matériau, le lieu d’extraction, l’origine géographique (en terme de distance), les transformations nécessaires, le stockage, sa résistance (notamment la résistance à la fatigue) et enfin la tenue aux agressions chimiques et climatologiques, mais aussi son recyclage.

Source tirée d'un document PDF donné par notre professeur

Source tirée d’un document PDF donné par notre professeur

 

Source tirée d'un document PDF donné par notre professeur

Source tirée d’un document PDF donné par notre professeur

Ces deux images nous permettent de revenir tout le temps sur le même point : pour avoir une voiture avec peu d’émission de CO2  il faut qu’elle soit légère avec des composants plus petits.

CONCERNANT LA VOITURE MIA

Nous pouvons travaillé sur la Mia car c’est une voiture qui a été offerte par la région. Elle est produite à Heuliez (ville de la région). Elle existe en version 3 ou 4 places.

Concernant la Mia 3 places : Moteur électrique : 18 kW (24,5 ch) Vitesse Max : 110 km/h Batterie : Lithium Phosphate de fer de 8 kWh (autonomie 80 km) ou 12 kWh (autonomie 130 km). Temps de recharge : 3h sur 230V 16A en version 12 kWh (2h30 version 8 kWh). Masse à vide : 750 kg Longueur/Largeur/Hauteur : 2,87 m x 1,84 m x 1,55m Volume du Coffre : 200 litres.

Source LP2I

Source LP2I

Concernant la Mia 4 places : C’est semblablement la même chose à deux exceptions prêt : Masse à vide 784 kg Longueur/Largeur/Hauteur: 3,19m x 1,64m x 1,55m

Source LP2I

Source LP2I

Pour résumer :
– petite voiture => limitation du poids
– voiture étroite => améliore la pénétration dans l’air => aérodynamisme
– pas de climatisation, pas de lèves vitres électroniques, pas de radio, pas d’ordinateur de bord => pas de consommation énergétique superflus => amélioration du poids

Source LP2I

Source LP2I

EN RÉPONSE A LA PROBLÉMATIQUE

Les solutions retenues :

– Améliorer le rendement des moteurs. Ec soit proche de l’énergie Eu.
Ec = Ev / rv
– Abaisser le poids des véhicules = éco-conception
– Choisir des matériaux permettant d’avoir un impact minimum pour l’environnement.
De l’extraction ————————————————– Au recyclage
– Améliorer l’aérodynamisme des véhicules. – Recherche du meilleur compromis entre les besoins et la puissance des véhicules.

Après toutes nos recherches sur les voitures en générale, nous nous sommes interessés aux composants de la voiture MIA.
Pour pouvoir déterminé les matériaux présents sur la voiture, nous avons prit un émant et nous l’avons testé sur la voiture. Si l’émant resté collé a la voiture, cela voulait dire que c’était de l’acier et dans le cas contraire c’était donc soit de l’alu ou du plastique.

Source LP2I

Source LP2I

Nous avons donc pu en conclure que :
– la carosserie est composé entièrement de plastique.
– le chassis et les rails pour ouvrir les portes latérals sont en asier.
– le moteur est lui en alu.

Nous nous sommes ensuite intéresser a voiture en général. Nous avons utilisé le logiciel SinusPhy, qui nous permet de voir la variation de la puissance et du couple moteur en fonction du vent, de la vitesse de la voiture, pente et l’aérodynamisme.

Source tirée du logiciel SinusPhy.

Source tirée du logiciel SinusPhy

C’est grâce a cette analyse que nous nous rendons compte que la puissance de la voiture dépend bien du vent, si on est dans une pente et l’aérodynamisme joue à partir d’une certaine vitesse : a faible allure l’aérodynamisme ne joue pas sur la puissance.

Ampli audio

Nous avons étudié un amplificateur de puissance couplé à une enceinte.
Nous l’avons câblé selon le schéma ci dessous
image

L’ampli que nous avons étudié était câble sur une plaque de test et n’était pas sous la forme d’un produit que l’on’ trouve dans un magasin de Hi-Fi.
image

Nous avons tous d’abords mesuré le courant consommé sur le générateur lui même.
Toutes les mesures ont été effectuées a une fréquence de 90Hz car si on change la fréquence la consommation de courant n’est plus la même. On remarque environ 0.01 A pour 10Hz.
Quand nous étions avec le potentiomètre de l’ampli à 0, le générateur affichait 0,01A pour 12V donc 0,12W.

On utilise une tension en entrée de Ueff = 300mV.
Pour une alimentation à 2,16W, on a une sortie à 1,59V et 0,17A.
On a donc Ps= 0,27W soit un rendement de 0,27/2,16 = 0.125 donc 12,5%.
Pour une alimentation à 0.84W, Ps= 0,0385W soit un rendement de 4,5%
Ce rendement est moyen pour un amplificateur de classe A dont le rendement maximum est de 25% mais médiocre comparé à un ampli de classe D dont le rendement moyen est de 90%.
Sur notre système, l’étude des matériau n’a porté que sur le dissipateur car le reste du système n’était que des composants électronique.
Il était fabriqué avec de l’aluminium, matériau dont l’impact environnemental est très important.
Ce système a un rendement médiocre et est constitué de matériau a fort impact environnemental ce qui en fait un système peu compétitif sur le plan énergétique et environnemental.

Automates Industriels Programmables (API) et Grafcet

I) Travail demandé

Au cours de ce travail, nous avons été amenés à travailler autour de la problématique suivante : “Comment mettre en œuvre un automate programmable industriel ?”

Pour y répondre, il nous a été demandé de considérer le système suivant :
– Un objet se déplace grâce à des actionneurs (ici simulés manuellement pour simplifier) commandés par un automate programmable (en Tout Ou Rien)
– Des capteurs de position détectent la présence (ou la proximité) de l’objet à différents endroits.
– Un bouton commande le lancement d’un cycle de fonctionnement. On pourra utiliser un bouton présent sur l’interface de l’automate.

Et pour ce système, il nous était demandé d’obtenir le fonctionnement suivant :
“L’objet doit se déplacer automatiquement entre deux positions en effectuant des aller-retours de manière cyclique tant que le bouton dcy (départ cycle) est activé. Si le bouton dcy est désactivé, alors le cycle en cours peut se terminer normalement, mais un nouveau cycle ne commencera que lorsque dcy sera à nouveau activé.”

Pour ce faire, le travail se décomposait en trois étapes : la création d’un Grafcet simple pour obtenir le fonctionnement souhaité à l’aide d’Automgen, la simulation du fonctionnement de ce Grafcet en mode PC avec Automgen, et enfin la mise en oeuvre avec l’API et les capteurs.

II) Travail réalisé

Nous avons commencé par nommer les deux positions auxquelles doit être amené l’objet A et B, avant de rédiger le cahier des charges à partir de la consigne :
– L’objet doit se déplacer en faisant des aller-retours entre un point A et un point B
– Ce déplacement doit être cyclique et automatique
– Le déplacement ne doit pouvoir se faire que lorsqu’un bouton dcy est activé
– Si le bouton dcy se voit désactivé en cours de cycle, celui-ci doit pouvoir se terminer normalement, mais un nouveau cycle ne doit pouvoir se déclencher que si dcy se voit à nouveau activé.

Afin répondre à la demande, nous avons donc créé sur Automgen le Grafcet suivant :

Grafcet API

r1 : bouton dcy
fdcb : capteur fin de course au point B
fdca : capteur fin de course au point A
Source : LP2I

Nous avons ajouté une temporisation de 4 secondes entre les actions afin de pouvoir observer plus aisément le déroulement du grafcet au cours des différents test.

Conformément à la consigne, nous avons ensuite réalisé un test en mode PC afin de vérifier le fonctionnement de notre grafcet. Celui-ci s’étant avéré fructueux, nous somme donc passé à la mise en œuvre de l’API et des capteurs

Nous avons réalisé le câblage suivant :

cablage api

Source : LP2I

Les actionneurs ont ici été remplacés par un voyant lumineux afin de voir les signaux de sortie de l’API, et dcy est un bouton présent sur l’interface de l’automate.

En actionnant les capteurs et en utilisant le bouton dcy, nous avons donc pu confirmer que notre Grafcet pouvait réaliser le fonctionnement souhaité avec le système proposé.

[API et Grafcet] Déplacement d’un objet d’un point A à un point B

Constituants du système :

  • Bouton de mise en marche
  • Capteur de position de type reflex au point A
  • Capteur de position de type reflex au point B
Représentation schématique du système.  La flèche représente le mouvement désiré. Source : Image LP2I

Représentation schématique du système. La flèche représente le mouvement désiré.
Source : Image LP2I

Fonctionnement :

Dès que le bouton dcy (départ cycle. bouton non représenté sur le schéma) est actif l’objet effectuera des aller-retours de manière cyclique entre le point A et le point B.
Si le bouton dcy est désactivé alors l’objet s’arrêtera au point initial (ici le point A).

Câblage :

Entrées dans automgen : Bouton : i0 CaptA : i1 CaptB : i2 Source : Image LP2I

Entrées dans automgen :
Bouton : i0
CaptA : i1
CaptB : i2
Source : Image LP2I

Grafcet pour l’API dans automgen :

Grafcet répondant au cdg Source : Image LP2I

Grafcet répondant au cdg
Source : Image LP2I

Proposition de modification : ajout d’une temporisation :

A chaque fin de course (c’est à dire à l’arrivé du point A et du point B) on demande une temporisation pour le changement de sens du moteur.
Voici les modifications apportés au grafcet :

Rajout de 2 temporisation Source : Image LP2I

Rajout de 2 temporisation
Source : Image LP2I

Automate Programmable Industriel (API) et Grafcet

Un Automate Programmable Industriel est un dispositif électronique programmable destiné à la commande de processus industriel pour un traitement séquentiel. Il envoie des ordres vers des préactionneurs (partie opérative) à partir de données d’entrée tels que des capteurs.

Problématique : Comment mettre en oeuvre un automate programmable industriel ?
Objectifs pédagogiques : Analyser le système
Identifier et caractériser les grandeurs agissant sur un système
Justifier le choix d’un protocole expérimental
Mettre en oeuvre un protocole expérimental
Le fonctionnement souhaité : L’objet doit se déplacer automatiquement entre deux positions en effectuant des aller-retours de manière cyclique tant que le bouton dcy (départ cycle) est activé.
Si le bouton dcy est désactivé, alors le cycle en cours peut se terminer normalement, mais un nouveau cycle ne commencera que lorsque dcy sera à nouveau activé.

Pour réaliser le Grafcet, il faut que je détermine les capteurs. Nous faisons l’hypothèse que chaque position A et B est détectée par un capteur A et B. Je peux décrire sous forme de Grafcet le fonctionnement souhaité.

Source LP2I
Avec le logiciel Automgen

Nous avons choisi des capteurs de position de type poussoir qui permettent de détecter l’objet quand il est au point A et respectivement au point B. Nous pouvions aussi choisir un capteur de type reflex, mais nous trouvions qu’un capteur de position de type poussoir était plus facile à mettre en oeuvre.

Capteur à bouton poussoir
Source LP2I

Une fois notre grafcet établit à l’écrit, nous devions le créer par ordinateur via le logiciel Automgen.

Explication de notre Grafcet : Quand nous appuyons sur le bouton dcy et que le CaptA est actif, l’objet se déplace vers le point B. Le CaptB devient actif et c’est après cela que l’objet peut revenir au point A. Le captA redevient actif.
Avant de tester notre Grafcet sur l’Automate nous avons d’abord effectué une simulation via l’ordinateur.

Source LP2I
Avec le logiciel Automgen

C’est grâce à cette bille bleu que nous pouvons voir si notre programme fonctionne correctement. Au fur et à mesure que les transitions deviennent vraies, la bille bleu progresse.
Une fois cette simulation effectuée et réussie, nous avons pu transférer le programme à l’Automate (après compilation). Nous avons donc fait nos branchements et nous avons pu le tester réellement.

Source LP2I

Source LP2I

Nous avons donc branché et relié l’Automate avec le PC pour nous permettre de compiler notre Grafet. Nous avons ensuite branché nos capteurs sur l’Automate. Nous lançons le programme depuis l’ordinateur et nous pouvons voir si avec l’action de nos capteurs, l’action s’effectue correctement.

J’ai représenté mon Grafcet par ce chronogramme ci-dessous.

 

Source LP2I

Source LP2I

 

 

Pour télécharger Automgen : http://www.irai.com/index_fichiers/irai_grafcet_simulationapi_virtual_commissionning_telechargement.htm
Pour avoir plus d’information : http://fr.wikipedia.org/wiki/Automate_programmable_industriel
http://alain.canduro.free.fr/API.htm
Pour un tutoriel sur Automgen : http://catice.ac-besancon.fr/sti/didacticiel/siteAII/

[Capteur Photo électrique de type reflex] Analyse du système

1) Câblage et mise en place d’un appareil de test du capteur Photo électrique de type reflex (référence : Osiris XU 1-P18 PNP)

Voici la câblage réalisé avec la notice avec Vcc = 24 V
Source : Image LP2I

Source : LP2I

2) Grandeur physique prise en compte et démarche expérimentale

Démarche :

Comme le capteur était livré avec un réflecteur nous en avons déduit que le capteur réagissait en face de celui-ci. Nous avons pu constater qu’une fois le réflecteur en place une led au dos du capteur s’allumait. .

Grandeur physique :

D’après cette démarche nous avons donc déduis que la grandeur physique prise en compte par le capteur était son propre faisceau lumineux renvoyé par le réflecteur.

3) Information détecté et type de signal

Le capteur détecte donc la présence d’un objet entre celui-ci et le réflecteur.
Il n’y a donc que deux états possibles (présence d’un objet ou non).
Le signal de sortie est donc de type logique.

4) Caractéristiques du signal de sortie et variations de la grandeur physique en entrée

Caractéristiques du signal de sortie en fonction de la grandeur physique (Entrée).Données acquises par le voltmètre avec une tension en entrée de 24 V
Source : Image LP2I

4) Utilisation du système en SI

Ce capteur est présent et utilisé dans les exemples suivants présent en SI :

-Malaxeur Mabilis : Déduire le niveau maximum de charge atteint.
Le capteur se place à l’extérieur de la cuve et la réflecteur à l’intérieur une fois que les grains de café on décapés le niveau maximum (quand ils ont “couper” le signal) on indique que le niveau maximum est atteint.

-Portail : Fermer le portail sans risque.
On place le capteur de part et d’autre du portail. Si le capteur détecte la présence d’un objet au moment de la fermeture celle-ci se stoppe.

Les capteurs de type reflex

Un capteur est un composant qui prélève une information sur la partie opérative et la convertit en une information exploitable par la partie commande.
Il existe différents types de capteurs : logique, analogique et numérique. J’ai étudié pour ce TP un capteur logique.

LES CAPTEURS PHOTOÉLECTRIQUES :
Ce capteur est également appelé capteur TOR (Tout Ou Rien). En effet, sa sortie peut prendre que deux valeurs de tensions possibles. On peut ainsi associer à chacune des valeurs possibles un niveau logique. Soit 0, soit 1.

Sur notre capteur, une LED permet de visualiser l’état du capteur (présence ou pas de l’objet).
Le type de détection de notre capteur est une détection sans contact puisque le capteur détecte le phénomène à proximité de celui-ci.
Ce capteur fait partie des capteurs de proximité ou appelé également détecteurs de présence.

Trois technologies sont utilisées :
– les détecteurs photoélectrique de type barrage

Cliquez sur l’image pour lancer l’animation

– les détecteurs photoélectrique de type reflex

Cliquez sur l’image pour lancer l’animation

– les détecteurs photoélectrique de type proximité (l’objet devra être réfléchissant)

Cliquez sur l’image pour lancer l’animation

J’ai donc pour ma part utilisé et étudié un capteur reflex. Pour visualiser sa tension de sortie nous avons dû mettre sous tension (24V) le capteur et brancher sur la borne de sortie un oscilloscope. J’ai résumé mon branchement par un schéma assez simple (voir schéma en dessous).

Un oscilloscope
http://www.electrome.fr/produits/produits/mesure/oscillo/images/HM5072.gif

Source LP2I

En passant ou pas un objet devant le capteur, j’ai observé que le signal de sortie varié et que l’on pouvait associer la tension de sortie à la présence ou pas de l’objet.
Sur l’oscilloscope, cela nous donnait quelques chose semblable à ceci…

Source LP2I

Source LP2I

Source LP2I

Nous pouvons associer la valeur 0v au niveau logique 0.

Nous pouvons associer la valeur 24V au niveau logique 1.

Des applications de ce capteur:

Ce capteur peut être utilisé sur des portails électriques : détection de la présence ou pas du véhicule, pour savoir si le portail peut se refermer.

Il peut être aussi utilisé pour la détection des objets dans des chaînes de production. Également aussi comme capteur de sécurité (capteur qui va arrêter le fonctionnement d’une machine s’il détecte une présence humaine).

Capteur de Position

Notre démarche expérimentale

Pour réaliser ce TP nous devions, analyser un capteur au choix, puis trouver son utilisation possible dans un système que nous avions déjà vu en cours.

Nous avons choisi ce capteur :

 

Capteur
Source LP2I

Après un premier coup d’œil nous avons pu voir qu’il y avait une barre métallique parallèle au bloc, qui tourne un peu d’un sens et un peu dans l’autre (à peu près 80°). Notre démarche a donc été d’étudier le signal en sortie pour confirmer la théorie que l’information en sortie variait en fonction de l’angle détecté par le capteur. Pour étudier ce signal nous avons d’abord pensé à rajouter un Multimètre puis nous sommes tombés d’accord que l’oscilloscope nous permettrait d’étudier aux  mieux ce signal, car la tension est l’image de cette information.
Schéma de câblage

Poste de mesure
Source LP2I

 

Nous avons branché un fil rouge de la borne + de l’alimentation jusqu’à la borne verte du capteur, puis nous avons relié le capteur au voltmètre par le biais du câble vert et par un dernier câble noir relié la borne –  de l’alimentation au voltmètre. Il s’agissait ici de notre premier test.

Cablage

Schéma de câblage, source LP2I

Sur le schéma ci-contre, nous avons le fil rouge, le fil vert et le fil noir. Pour l’étude de ce capteur nous n’avons pas utilisé de voyants.

Essais et mesures effectués

Analyse de l’information en sortie à travers une vidéo

Cette vidéo nous montre donc que quand on appuie sur la barre métallique, nous avons l’information en sortie qui diffère.

Sur le voltmètre nous avons remarqué que l’on passait de 24V à 0V après le passage d’un certain seuil angulaire (même résultat que sur l’oscilloscope). Notre hypothèse nous à donc permit de retenir que ce capteur est sensible à une pression sur les côtés de sa barre métallique. Nous avons aussi pu dire que notre capteur est un capteur de pression à seuil angulaire.

Nous pouvons conclure que la grandeur physique en entrée est la pression dû à un objet ou à un humain. Le signal en sortie est une tension que nous pouvons traduire en information logique, Seuil angulaire passé ou non.

Utilisations possible du capteur

Nous pensons que ce capteur pourrait servir pour détecter le passage d’un objet par exemple dans un aéroport, le passage des valises.

Pour revenir au cours de Si, nous pourrons utiliser ce capteur pour compter le nombre de tours réalisé, par notre malaxeur et par conséquent sa vitesse de rotation ou bien dans le store somfy où l’on pourrait si le store était sorti ou non.

 

 

[App Inventor] Du binaire à l’héxadécimal

 

Le But de l’application :

Convertir le binaire de l’application précédente en héxadécimal

Moyen mis en oeuvre pour ce tutoriel:

-Utilisation des procédures
-utilisation des “ifelses” (et oui encore)
-Utilisation de (beaucoup) de listes et de variables.

1) Prérequis :

-Avoir fait le tuto précédent sur le binaire (sinon télécharger de code source ici)

2) Objectif :
Avec notre liste Bits faite dans le précédent tuto, afficher le nombre hexadécimal du nombre décimal entré par l’utilisateur dans la hint box.

3) La structure dans App Inventor :

Voila le screenshot plus de précision en-dessous
Source : Image LP2I

Le Tableau suivant montre les objets à rajouter au projet binaire.

Objet Nom Propriétés
Label HexaResultLabel Width=Fill parent
TextAlignement=center
Label Label3 Width=Fill parent
TextAlignement=center
Text=Hexadécimal :

4) La Structure dans le bloc editor

4.1 Les variables en + :

Nom de la variable Type Contenu Description
HexBit number 0 Valeur du bit (0,1,2,4,8)
HexChiffre number 0 Valeur du paquet de 4 bits (0,1,2…,E,F)
HexNombre text Text vide Nombre final (ex:A2F1)

Voila les variables à rajouter dans le bloc editor voici le résultat :

Source : LP2I

Une fois les variables définies, les listes !

4.2 Les listes en +

Nom de la liste Contenu Description
Hexa (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Les valeurs de l’hexadécimal
AddIndex (0,4,8,12) Nombre de bits pour passer d’un paquet de bits à l’autre.
ValeurBits (1,2,4,8) Valeur que peut prendre un bit (sans le zéro)

Je reviendrais sur ces listes au moment de leurs utilisation (notamment AddIndex).
Une image de vérification pour la route :

Source : LP2I

Une fois toutes les variables et listes définies passons au programme !

4.3 Une nouvelle structuration avec les procédures :

Comme le programme commençais à toucher le sol j’ai décider de le décomposer et pour cela il existe un outils très pratique : le bloc procédure !
On va donc créer 3 procédure :
-16 bits
-8bits
-et 4 bits
On va donc déplacer le programme pour 16 bits dans la procédure 16 bits et on va appeler la procédure à la place :

On va donc pouvoir travailler sur la procédure 16 bits sans changer la fonction “ButtonConversion.Clik”

4.4 La Syntaxe de la conversion

On va faire une première boucle qui va tester 1 par 1 les 4 bits de chaque paquet pour savoir si le bit à la valeur 1 ou 0:
Si on a 1 (donc un ifelse et oui encore) on va déterminer sa position dans les quatre bits et on va assigner à HexBit la valeur 1,2,4 ou 8 en fonction de celle-ci
Si on a 0 on va juste assigner à HexBit la valeur 0

On va faire un deuxième boucle entourant la première qui va l’exécuter 4 fois pour chercher le nombre hexadécimal de chaque paquet.

Voila la boucle explication plus bas :

Voila la procédure de conversion en entier l’explication est juste en-dessous.
Source : Image LP2I

Valeur des cycles des boucles et placement de celle-ci et du ifelse

On a bien les deux boucles imbriqués l’une dans l’autre avec un ifelse dans la deuxième.
Les deux boucles on le même nombre de cycles : de 1 à 4 (j’ai pris 1 comme valeur de départ pour ne pas avoir de +1 partout après)

Test du ifelse

On va tester dans la liste Bits si le bit lu est égal à 1.
Pour cela on va chercher la valeur d’index à ajouter dans la liste AddIndex par rapport au cycle de la grande boucle et on lui ajoute la valeur de la petite boucle: ex : on ce place dans le cas du test du bit 13 on est donc au paquet 4 la valeur du cycle de la grande boucle est 4 donc on va chercher dans la liste AddIndex la valeur 12 on lui ajoute sa position dans le paquet (la première ici donc 1) et on a la position du bit.

Vert : valeur de cycle de la grande boucle dans la liste AddIndex
Bleu : valeur de cycle de la petite boucle
Source : Image LP2I

Assignation de la valeur du bit

Si le bit testé est égal à 1 on va assigner à HexBit sa valeur par rapport à sa position.
Si le bit testé est égal à 0 on va assigner 0 à HexBit dans le esle-do.

Fin du ifelse

On va donc ajouter la valeur du bit à HexChiffre puis on remet HexBit à 0

L’assemblage du nombre hexadécimal

En dehors de la petite boucle (mais toujours dans la grande ) on va chercher le chiffre hexadécimal correspondant au chiffre trouvé à la fin de la petite boucle et on va l’ajouter à HexNombre pour former le nombre hexadécimal final comme-ceci :

On remet ensuite HexChiffre à 0 pour le prochain paquet.
Source : Image LP2I

L’affichage du nombre

Une fois le nombre final stocké il ne nous reste plus qu’a l’afficher (en dehors des deux boucles) avec “set HexaResultLabel”.

Je met le code source pour ceux qui voudrai jeter un coup d’oeil :
Hexadécimal
Et l’apk pour ceux qui veulent leur convertisseur :
Hexadecimal apk
/!\ Il faut appuyer 2 fois sur le bouton convertir pour avoir un nombre juste /!\

Capteurs V2.0

Au cours de ce TP ayant pour thème divers types de capteurs, nous avons été amenés à étudier le fonctionnement de deux d’entre eux. Voici le compte-rendu de notre travail.

I) Capteur de champs magnétiques

Ce capteur se présente sous la forme d’une plaque proposant une entrée, une sortie, une borne terre et sur laquelle se trouvent une résistance et le capteur en lui-même.

1) Câblage réalisé :

Source : LP2I

2) Essais effectués :

Pour trouver la (les) grandeur(s) physique auxquelles ce capteur est sensible, nous avons tenté d’approcher l’aimant qui nous a été fourni afin de voir si cela pouvait provoquer une variation du signal de sortie (la tension) Voici à peu près les résultats que nous avons obtenu :

Source : LP2I

3) Conclusions tirées :

Les conclusions que nous avons pu tirer de ces observations sont que le capteur est sensible aux champs magnétique et à leur proximité (ce qui en fait logiquement un capteur de proximité). Bien qu’il n’y ai pas exactement deux valeurs, le comportement du capteur se rapproche pour beaucoup du tout ou rien, et nous pouvons donc considérer le signal de sortie comme étant un signal logique.
D’après le site http://philippe.berger2.free.fr, il s’agirait d’un capteur ILS (Interrupteur à Lame Souple) comme celui montré ci-dessous, dont la commutation est provoquée par la présence d’un aimant sous la lame, qui ferme ainsi le contact du circuit.

4) Utilisation possible dans un système :

Ce capteur pourrait par exemple être utilisé dans le store Somfy étudié en classe pour informer le système du fait que le store soit rentré ou non. En positionnant un aimant sur le store et le capteur près de l’enrouleur, il est possible de savoir si le store est rentré, et donc d’arrêter à temps l’enroulage du store.

 

II) Capteur de pression

Ce capteur se présente sous la forme d’un boitier proposant trois bornes et duquel sort une tige pivotante.

1) Câblage réalisé :

Source : LP2I

2) Essais effectués :

Pour tester le capteur, nous avons essayer d’exercer une pression d’intensité variable sur la tige afin de la faire pivoter. En l’amenant à différents angles de sa position de départ, Nous avons pu voir que le signal de sortie (une tension encore) diminuait brusquement une fois un certain seuil passé, passant de 24 à 0V. En augmentant encore la pression apportée sur la tige, nous avons même vu la pression devenir négative.

3) Conclusions tirées :

Suite à ces essais, nous pouvons déduire que le capteur est sensible aux forces mécaniques. Comme pour le capteur précédent, le signal de sortie ne prend pas exactement deux valeurs, mais le comportement du capteur se rapproche encore du tout ou rien, et l’on peut donc considérer ce nombre supplémentaire de valeur comme négligeable et considérer le signal de sortie comme logique.
D’après le site http://gcedidactic.free.fr/, il s’agit d’un capteur à contact, dont la tige pivotante serait ce que l’on appelle le “corps d’épreuve” chargé d’actionner l’élément de transduction qui transformera la grandeur à mesurer en une grandeur mesurable.

4) Utilisation possible dans un système :

Ce capteur pourrait être utilisé dans un système pour l’informer de la présence ou du passage d’un objet.

Compte rendu de l’analyse d’un capteur

En cours de Sciences de l’ingénieur nous avons du analyser de façon expérimentale le fonctionnement d’un capteur. Le but étant de déterminer la nature du capteur et l’information détectée.

 

1 La mise en place du matériel:

Pour cette analyse nous disposions de: différents capteurs, un multimètre, un oscilloscope, un générateur basse fréquence ainsi que des fils de laboratoire pour mettre en place notre circuit. Nous avons donc branché en série le GBF, le capteur puis le multimètre réglé sur la fonction voltmètre. Le GBF réglé sur 24 V.

Ce schéma représente notre choix d’installation électrique
~Photo LP2I

Pourquoi utiliser un voltmètre? Pour étudier ce capteur nous avons vite remarqué que c’était un capteur de contact et donc qu’il émettrait un signal logique, nous avons donc voulu savoir quelles étaient les deux tensions transmises par le capteur. Un Oscilloscope aurait pu être utilisé mais la lecture précise des tensions aurait été plus complexe, de plus aucune variation sur le temps est intéressante à étudier ( le temps de transition de la tension est négligeable).

2 La démarche expérimentale

En premier nous avons relevé la tension affichée par le voltmètre lorsque le capteur n’est pas utilisé ( en contact avec aucun objet ), cette tension est de 24 V.

Ensuite nous avons activé la détection du capteur en faisant bouger le petit levier à son extrémité qui est donc le corps d’épreuve qui régit avec le ou les éléments à détecter. La tension change alors quand le capteur est en contact avec un obstacle elle passe de 24 V à environ 50 mV. Ce changement de tension est identique que l’on pousse le levier dans un sens ou dans l’autre.

Ici le capteur n’est pas en contact avec un objet, la tension transmise est donc de 24 V
~Photo LP2I

Ici le capteur est en contact avec un objet, il transmet alors un tension d’environ 50 mV
~Photo LP2I

Interprétation:

Ce capteur est un capteur de contact, il transmet une information logique ( il y a un obstacle ou il n’y en pas ). Il permet de renseigner sur la position d’un objet.

3 Utilisations envisageables de ce capteur:

Ce capteur peut servir de capteur fin de course puisque c’est un capteur de position.

Il pourrait donc être adapté sur le malaxeur: On le place au niveau du couvercle, en utilisant sa particularité de « double sens » on utilise alors un seul capteur pour savoir si le couvercle est fermé ou ouvert au lieu de deux capteurs.

Avec ce schéma on visualise ou le capteur peut être placé sur le malaxeur.
~Photo LP2I

Les capteurs

SI

Capteurs

Le capteur :

Un capteur est un dispositif transformant l’état d’une grandeur physique observée en une grandeur utilisable, tel qu’une tension électrique, une hauteur de mercure, une intensité ou la déviation d’une aiguille. On fait souvent la confusion entre capteur et transducteur : le capteur est au minimum constitué d’un transducteur.

Le capteur se distingue de l’instrument de mesure par le fait qu’il ne s’agit que d’une simple interface entre un processus physique et une information manipulable. Par opposition, l’instrument de mesure est un appareil autonome se suffisant à lui-même, disposant d’un affichage ou d’un système de stockage des données. Le capteur, lui, en est dépourvu.

Les capteurs sont les éléments de base des systèmes d’acquisition de données. Leur mise en œuvre est du domaine de l’instrumentation.

Il y a différents types de capteurs qui sont :

-les capteurs passifs

-les capteurs actifs

Ces différents capteurs ont différents types de sorties , qui sont :

-les capteurs logiques (TOUT ou RIEN)

-les capteurs analogiques

-les capteurs numériques

Une grandeur physique :

On appelle grandeur physique toute propriété de la science de la nature qui peut être quantifiée par la mesure ou le calcul, et dont les différentes valeurs possibles s’expriment à l’aide d’un nombre réel ou d’un nombre complexe, souvent accompagné d’une unité de mesure.

Le Store SOMPHY :

Informations acquises: -La vitesse du vent qui est la vitesse moyenne et c’est donc une moyenne glissante mesurée par un anémomètre.

-La luminosité moyenne du soleil qui est une moyenne glissante mesurée par un capteur solaire.

La fonction « ACQUERIR » permet d’obtenir un signal électrique image de chacune de ces informations.

Les grandeurs physiques en entrée de chacun des capteurs sont :

-la vitesse du vent Intensité

-L’intensité lumineuse Moyenne

Le type d’information acquise en sortie est analogique ou numérique.

Mise en œuvre de capteurs :

Premier capteur :

Câblage : 1 voyant = 1 sortie

Schéma :

Schéma électrique

 

Analyse :

Référence capteur : XCK-P55.

Grandeur physique prise en compte : pression d’un objet après un certain seuil.

Tension d’origine du capteur: 24 V.

Après la rotation de la barre métallique du capteur , la tension est d’environ 0,2 mV.

Démarche : Une fois le câblage terminé , nous avons branché le capteur sur le Voltmètre et l’oscilloscope avec le capteur alimenté et nous avons observé que lorsqu’on poussait ou tirait la barre métallique du capteur, la tension du courant électrique diminuait.

Information détectée par le capteur : passage d’un objet.

Type de signal en sortie : analogique.

On peut remarquer que lorsqu’un objet passe , le capteur est enclenché et donc sa tension diminue : de 24V à 0,2mV. 24 – 0.0002 = 23.9998 : sa tension diminue donc de 23.9998 V.

Ce capteur pourrait être utilisé pour le passage du bras manipulateur car cela indiquerait que le bras a exercé une rotation ; il pourrait être aussi utilisé pour le le malaxeur afin de compter le nombre de tours qu’il fait par minutes.

Malaxeur

Bras manipulateur

Deuxième capteur :

Câblage : 1 voyant = 1 sortie

Schéma électrique

Analyse :

Grandeur physique de ce capteur : présence de magnétisme.

Tension d’origine du capteur : 24 V.

La tension du capteur en présence de magnétisme est d’environ 0,8 mV.

Démarche : Une fois le câblage terminé , nous avons branché le capteur sur le Voltmètre et l’oscilloscope avec le capteur alimenté et lorsqu’on on approchait un aimant vers le capteur, la tension du courant électrique diminuait.

Information détectée par le capteur : présence de magnétisme ou d’un champs magnétique. Type de signal en sortie : logique (TOUT ou RIEN).

Lorsque le capteur détecte un magnétisme comme un aimant ou un champs magnétique, sa tension diminue : de 24V à 0,8mV. 24 – 0.0008 = 23.9992 : sa tension diminue donc de 23.9992 V.

Ce capteur pourrait être utilisé sur le Store SOMPHY pour mesurer la vitesse du vent.

Store SOMPHY

[App Inventor] Du décimal au binaire

Le But de l’application:

Afficher un nombre binaire correspondant au nombre décimal entré.

Moyen mis en oeuvre pour ce tutoriel:

-Utilisation des “ifelse” et “for range” dans le bloc “control” du bloc editor
-Utilisation des “Lists” (et oui encore) en plus approfondit.
-Utilisation des puissances (ex: 2^10) dans app inventor ( avec la fonction “expt”)

1) Prérequis:

Aucun ! ou presque : Beaucoup de temps devant soit et une bonne dose d’aspirine si vous n’êtes pas encore entré dans le monde de la programmation.

2) Objectif:

Avec un nombre entré par l’utilisateur (dans une hint box) calculer le nombre binaire et l’afficher dans un label ainsi que le nombre de bits qui le composent.

3) Structure dans App Inventor:

J’ai sélectionné le label prévu pour le résultat puisque je n’avait rien mis dedans
Source : Image LP2I

-1 hintbox
-1 bouton
-1 label pour le résultat
-1 label pour le nombre de bits (facultatif)(Attention le label n’est pas présent quand j’ai pris le screen de ma fenêtre app inventor)

Voilà c’était très dur je conçois, maintenant on passe à la suite :

4) Editor :

4.1 Définitions des variables et autres listes :

Variables avec… Rien dedans !:

Voila tout est dit on va donc créer 2 variables avec des text vides:

2 variables vides !
Source : Image LP2I

Nbr: récupère le nombre rentré dans le hintbox pour lui faire subir toutes les opérations que l’on veut.
result: stocke le nombre binaire final

On crée une variable Bits qui va stocker les 16 bits dont on a besoin. On va donc créer une liste avec 16 zéros :

Voila une belle liste de zéros
Source : Image LP2I

4.2 Une fonction = tout le programme

Et oui le programme n’a qu’un seul évènement : l’appui sur le bouton conversion.
On va donc ajouter à notre bloc editor une seule et unique fonction “ButtonConversion.Click”

Source : LP2I

On va ensuite initialiser nos fonctions pour les remettre à zéros (si l’on veut faire plusieurs conversions) et assigner le nombre rentré par l’utilisateur dans la variable Nbr.

A chaque fois que l’on appuie sur le bouton Conversion. Les variables result et BitsLabel sont mis à zéro, Nbr prend la valeur du nombre entré par l’utilisateur.
Source : LP2I

Mise en place des “ifesles”:

C’est la que ça ce corse
On à 3 type de longueur de bits : 4, 8 et 16
On a donc trois ifelses comme ceci:

Un petit schéma pour que ce soit clair ^^
Source : LP2I

Les tests sont logiques puisque le nombre maximum pour:
-16 bits = 65535
-8 bits = 255
-4 bits = 16

Voilà la structure dans app inventor :

Voila la structure dans app inventor (j’ai pris aussi la fin de la fonction avec “set ResultatLabel to result”)
Source : LP2I

Gardez bien à l’esprit le schéma de tout-à-l’heure puisqu’il va nous guider pour la suite.

Programme de conversion 16 bits

Voila la procédure de conversion pour 16 bits elle est relativement similaire aux autres (8 et 4) je ne develloppe donc que celle-ci.

On sait que pour convertir un nombre décimal il faut le soustraire au différentes puissances de 2. Si la soustraction est possible le bits correspondant à la puissance (2^2 = bit 3) prend la valeur 1, on effectue la soustraction et on passe au bit suivant. Si elle n’est pas possible on passe directement à la puissance suivante soit le bit suivant (le bit que l’on a passé prend alors la valeur 0).

Cette procédure doit se répéter le nombre de fois qu’il y a un bit (soit 16 fois ici) on ne va donc pas la modélisée 16 fois (je vois vos yeux qui brillent) et on va plutôt utiliser une boucle.

La boucle “for range”

D’abord c’est quoi une boucle ?

C’est une fonction très pratique de la programmation qui nous permet de répéter un nombre de fois défini (ou infini) une même action.

Maintenant que c’est clair pour tout le monde je continue :

On veut que la boucle ce répète un nombre de fois défini (le nombre de fois qu’il y a de bits je rappelle)
Donc notre boucle aura 16 cycle ici
Ensuite, on veut que à chaque fois qu’un cycle s’exécute :
-On teste le nombre avec une première puissance de 2 (la première pour 16 bits c’est 2^15).
-Si on peut le soustraire on soustrait la puissance à notre nombre et on change le bit correspondant par la valeur 1.
-Si on ne peut pas le soustraire on ne fait rien et on change le bit correspondant par la valeur 0.

Dit comme ça c’est simple maintenant dans le bloc editor :

Essayer de placer tout seul la boucle “for range” qui se trouve dans la palette “built-in”/”control” (ref. au schéma plus haut. Rappel : c’est la procédure 16 bits)

Une fois placée vous devez obtenir ceci :

Voilà la boucle de base crée par App inventor
Source : Image LP2I

-variable i: (vous pouvez la renommer) elle fait partie de la boucle for (elle ne peut pas être utilisée ailleurs) et représente le numéro de cycle.
-start: il faut mettre un nombre ici qui représente le départ de la boucle (j’ai mis zéro dans mon cas)
-end : idem sauf que c’est l’arrivée (j’ai mis 15. De 0 à 15 il y a 16 cycles, pile ce qu’il nous faut)
-step : tout simplement le pas entre 2 cycles (ici quand la boucle se répète on ajoute à la variable i 1. Laissez comme tel)

ce qui doit donner ça :

Voila on a fait le plus facile (ne faites pas cette tête la j’ai pas eu la correction moi)
Source : LP2I

Ne reste plus qu’a la remplir attaquons dès maintenant le plus difficile :

Dans la procédure j’ai dit “si” il y a donc un “ifesle” dans la boucle.
Son test par contre est différent des autres parce que l’on veut savoir si une soustraction est possible ou pas.
C’est la qu’il va falloir ruser parce qu’on ne peut tester qu’une égalité ou une inégalité.
Quand on fait la soustraction d’un nombre plus grand sur un nombre plus petit (quand la puissance est trop grande par rapport au nombre)
le nombre devient… négatif !
se qui nous donne :

(l’opération de la puissance sur le nombre) >= 0.

On teste donc si le nombre est supérieur ou égal à 0.

L’opération de la puissance sur le nombre :

Dans la procédure on veut soustraire le nombre à la puissance correspondant au bit voulu.
On place donc le nombre soustrait par la puissance.

la puissance :

Plus compliqué ici puisqu’on va devoir récupérer notre variable i pour celle-ci. En effet si on veut que la puissance change quand un cycle change il faut donc introduire la variable de celui-ci.
Il faut aussi savoir comment on introduit une puissance dans app inventor.
Voilà magie :

Ici la variable i est X
Source : Image LP2I

-On retrouve donc le … >= 0
-On soustrait le chiffre (Nbr)…
-… a 2^15-X ici

Pourquoi 15-X ? puisque la variable commence à 0 et que nous on veut commencer par la dernière puissance (2^15).
Donc à chaque cycle de la boucle “for” la puissance va diminuer.

La conversion :

On va se placer dans le cas ou la condition est vrai (on fait prendre la valeur 1 au bit)
Il faut d’abord que l’on enlève la valeur de la puissance et que l’on stocke le résultat dans la variable Nbr pour pouvoir utiliser le nombre sur la puissance inférieure dans la prochaine boucle.

ça ne vous rappelle rien ?
Source : Image LP2I

Et oui c’est la même chose qu’au dessus sauf que ce n’est plus un test.

Ensuite, on va remplacer un item de la liste bits.
Pour cela on va utiliser la fonction “replace list item”:

-On va lui indiquer la liste bits
-On va lui dire que l’index désiré c’est X+1 (normal, un index ne peut pointer vers 0 et notre boucle commence à 0)
-Et enfin on va lui dire qu’on remplace le 0 par un 1
le tout en image…

On attribue la valeur 1 au bit X+1
Source : LP2I

On rempli maintenant la partie “esledo” du “ifelse”
Ce n’est pas bien compliqué il faut juste copier le “replace list item” et changer le 1 par 0 C’est tout ^^.

Voici la fonction en entier “ifelse” dans la boucle “for”:

Source : Image LP2I

Attention on a pas fini la procédure 16 bits (on reste donc dans la boucle “for”) !
Il faut maintenant rassembler tout les 0 et les 1 qui composent le nombre binaire.
Pour cela on va appeler la fonction “set global result to”.
On va mettre dedans un “join” qui va rassembler à chaque fois qu’une boucle ce termine les 0 et les 1.
Il est composé d’un “select list item” qui va chercher dans la liste bits l’item 16-X (On part du plus grand bit au plus petit) et on lui ajoute le reste du nombre binaire dans la 2ème partie du “join”.

La fin de la boucle for pour 16bits.
Source : Image LP2I

Et voila vous pouvez souffler (un peu c’est pas fini mais vous avez fait le plus dur).
La boucle “for” en entier pour pas vous tromper:

Et voilà la partie la plus dur du tuto est faite (ne vous inquiéter pas il y en a deux autres similaires ^^)
Source : LP2I

Voila vous n’avez plus qu’a refaire la même chose pour les nombres de 4 bits et 16 bits.

Je met le code source pour les feignants (ou pour la correction):
Binaire

[App Inventor] Trouver sa Résistance. Utilisez des listes pour modifier une image.

Le But de l’application :

Trouver facilement une résistance avec comme base sa valeur en Ohm.

Moyen mis en oeuvre pour ce tutoriel :

-Utilisation de l’élément ListPicker (dans la palette “Basic”)
-Utilisation de sprites pour un changement d’images simples
-Affichage d’une valeur composé de plusieurs élément de listes (Label)

1) Prérequis :

Pour ce tutoriel j’ai utilisé plusieurs images :

La base de la résistance. Source: Image LP2I

Note : l’image du dessous n’a pas de légende puisqu’elle est trop petite c’est donc le fond pour un anneau de la résistance (sachant qu’il vous en faudra un pour chaque couleur prise par un anneau soit noir, marron, rouge, orange, jaune, vert, bleu, violet, gris et blanc ( je n’ai pas fais or et argent pour ce tutoriel).( elle est aussi de source LP2I).

2)Objectif :

Afficher les anneaux de couleur de la résistance voulue par l’utilisateur avec comme entrées 4 paramètres : 1er, 2ème, 3ème chiffre ainsi que le nombre de zéros (multiplicateur) sous forme de liste. On affiche aussi la valeur de la résistance pour que l’utilisateur ne se trompe pas.

3) La structure dans App Inventor :

Screen de la fenêtre App Inventor.
Source : Image LP2I

Voici donc le screen de ma fenêtre de App inventor une fois l’application finie.
J’ai commencer par ajouter un canvas avec à l’intérieur 5 ImageSprite (non visibles): 1 pour la résistance, et 4 pour les anneaux (1er chiffre, 2ème, 3ème et multiplicateur (nombre de zéros)). Viens ensuite 2 Labels : le premier affichant “la valeur de la résistance :” et le deuxième le résultat. En dessous ce trouve les 4 listes.

Bien définir une liste :

Point important ici : les choix séparés par une virgule dans ElementsFromString
Source: Image LP2I

Propiétés des listes :

1er chiffre : valeur de 1 à 9 (on ne compte pas le 0 puisqu’on ne peux pas avoir 010 comme valeur de résistance )
2ème chiffre : valeur de 0 à 9
3ème chiffre : idem
multiplication :de 10^0 à 10^9 ( représentation sous forme de puissance )

4) Editor :

La variable principale : couleurs ! :

Comme les couleurs des anneaux sont les mêmes pour tous j’ai donc défini une variable couleurs comme ceci :

La GROSSE variable couleurs
Source : Image LP2I

Ajout d’un “Make a list” avec tout les fonds de couleur (faites attention à bien tous les uploadés avant).

L’évenement affichage de l’anneau pour les trois chiffres des listes :

Objectif : Quand on a sélectionné un choix dans un ListPicker, l’anneau avec la couleur désiré s’affiche dans le canvas.
On appelle donc la fonction “.AfterPicking” dans la palette du ListPicker.
On lui demande d’afficher le sprite concerné.
Puis on lui demande de prendre l’image correspondant au fond désiré on appelle donc un “select list item” (Built-in/List) avec comme list “couleurs” et index “.Selection” de notre ListPicker + 1 ( puisque l’index est de 1 à 10 alors que le listPicker de 0 à 9 on ajoute donc 1 a la valeur de la liste).
Si dessous l’exemple avec le liste FirstNumbList :

Affichage du premier anneau (même principe pour les deux autres)
Source : Image LP2I

On répète cette fonction pour chaque chiffre.

L’évenement affichage de l’anneau pour le multiplicateur :

La syntaxe est à peu près la même que les trois chiffres sauf que l’on ne va pas récupérer la valeur du choix de la liste puisque qu’on a mis des puissances de 10. on va donc remplacer le “.Selection” par “.SelectionIndex” (sans le + 1 puisque qu’on commence à 1 zéro).

“.Selection” devient “.SelectionIndex”
Source : Image LP2I

Affichage de la valeur de la résistance (Optionnel sachant que j’ai encore des bugs pour cette partie je pose juste les idées):

On avait prévu un label dans la fenêtre App Inventor pour afficher la valeur de la résistance montrée dans le canvas.
On place donc dans chaque “.AfterPicking” une fonction “ValeurOhm.text” avec comme valeur le 1er, 2ème et troisième (avec des “join”):

Embricage de plusieurs “join” pour former un chiffre
Source : LP2I

J’ai ajouter un “text” au début pour l’espace après les deux points de “Valeur de la résistance :” (note : on aurait pu la mettre dans l’autre label)

Affichage des zéros après les trois chiffre :

On pourrait juste afficher le contenu de la sélection “multiplicateur” (puissances de 10) après les trois chiffres mais j’ai voulu afficher les zéros derrière pour faire un chiffre uni.
J’ai donc créé une autre variable “nbrZero” comme ceci:

Des 0 de 0 à 10 !
Source : Image LP2I

On appelle donc un “.SelectionIndex” et on le place à la fin de “ValeurOhm.Text”:

La fin de “ValeurOhm.Text”
Source : Image LP2I

Voila je poste le code source pour y jeter un coup d’oeil ou l’amélioré si vous le souhaiter :
Code_source_Resistance

Pour faire fonctionner l’appli sans bug il faut choisir d’abord le multiplicateur

Ouvrir une page HTML dans une application Android avec App Inventor

Voici comment ouvrir des pages HTML dans une apllication Android, avec App Inventor, depuis un composant de type WebViewer :

– Uploader vos fichiers HTML dans votre application depuis App Inventor : aller dans la fenêtre Media, située sous la fenêtre Components, puis cliquer sur Upload New.
– Ajouter un composant  de type WebViewer (dans les composants “Not ready for prime time”).
– Dans le blocs editor, ajouter un bloc WebViewer1.GoToUrl avec un bloc text contenant l’adresse de la page HTML.
Ce bloc peut être utilisé dans n’importe que évènement (butoon1.click par exemple, screen1. initialyse, …)

Attention à l’adresse de la page html :
Pour l’émulation utiliser : file:///mnt/sdcard/AppInventor/assets/nomfichier.html
Pour la compilation utiliser : file:///android_asset/nomfichier.html

Exemple de blocs :

Ouvrir une page appelée ici Essai3_300113.html, par exemple lors de l’appui d’un bouton appelé lien1_html_Interne, dans notre cas. Le texte dessus est pour le développement, dessous pour la compilation finale. (Source : LP2I)

Le fichier HTML peut contenir ce qu’on veut avec le formatage souhaité. Cela est très utile pour afficher simplement du texte formaté.
Le fichier html peut faire appel à un gif animé. Uploader le fichier .gif comme la page html.

Exemple de fichier html avec un gif annimé :

<!doctype html>
<head>
<meta charset=”utf-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″>
<title>Animated Gif</title>
</head>
<body>
<p>
<img src=”ani.gif” width=”100%” alt=”” title=””>
</p>
</body>
</html>

Source : http://puravidaapps.com/snippets.php#ani

 

Utiliser la résolution de l’écran de la tablette avec App Inventor

Par défaut, l’application développée avec App Inventor utilisera une résolution maximale de 480×320 au moment d’être exécutée sur la tablette. Pour éviter cela il faut désactiver le mode de compatibilité de l’affichage pour que la résolution de l’écran de la tablette soit prise en compte. Ce paramètre n’est pas rendu accessible directement par Android. Des applications permettent d’accéder à ce paramètre comme par exemple Spare parts, Marketizer, …

– Installer l’application Spare parts.
– Décocher l’option Compatibility Mode.
– Redémarrer la tablette.

Votre application créée avec App Inventor peut maintenant utiliser la résolution de la tablette (1280×800 dans mon cas au lieu de 480×320).
Ceci fonctionne sur ma tablette sous Android 4.0.3, mais pas sous les versions antérieures à Android 3.2, mais peut-être pas non plus sous Jelly Bean.
Attention, contrairement à ce qu’on peut lire parfois, il n’est pas nécessaire de rooter la tablette pour changer ce paramètre d’affichage.

Décocher Compatibility Mode avec Spare Parts (source : vodeblog.com)

Quelques liens :
http://developer.android.com/guide/practices/screen-compat-mode.html