Cours:InfoEmbarquee : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 9 : Ligne 9 :
 
*d'associer chaque led avec un numéro de patte
 
*d'associer chaque led avec un numéro de patte
  
[[Fichier:SchemaDe.png|200px]]
+
 
  
 
SchemaDe
 
SchemaDe
 
{|
 
{|
 
|-
 
|-
| [[Fichier:SchemaDe.png|200px]] || [[Fichier:simonsay.png|200px]]
+
| [[Fichier:SchemaDe.png]] || [[Fichier:simonsay.png]]
 
|}
 
|}
  

Version du 5 septembre 2023 à 08:46

Attiny10

support utilisé

Les schémas suivants vous permettent :

  • de comprendre sur quel état logique les leds s'allument
  • de trouver la liste des sorties
  • d'associer chaque led avec un numéro de patte


SchemaDe

SchemaDe.png Simonsay.png



ATTINY10-pinout.jpg

Le tableau donne la correspondance entre patte de sortie du µcontrôleur et position de(s) led(s) sur le dé :


PB0 PB1
PB3 PB2 PB3
PB1 PB0

Sleep modes

Afin de limiter la consommation de la carte, nous allons utiliser les modes d'économie d'énergie disponibles sur le µcontrôleur utilisé.

Le principe sera le suivant :

  1. On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation
  2. Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
  3. On affiche un nombre aléatoire
  4. Retour au mode faible consommation après quelques secondes

Vous vous servirez des fonctions disponibles dans le fichier avr/sleep.h pour passer en économie d'énergie.

Les différents modes sont détaillés Attiny10.pdf dans la partie 7. Le tableau donne la correspondance entre le mode de consommation et la valeur à utiliser dans les fonctions du fichier avr/sleep.h.

Sleep Mode valeur programme c
idle SLEEP_MODE_IDLE
ADC Noise Reduction SLEEP_MODE_ADC
Standby SLEEP_MODE_PWR_DOWN
Power-Down SLEEP_MODE_STANDBY

script shell

mqtt

HA mqtt sensor

/usr/local/bin/createHaSensor :
#!/bin/bash

echo "name : $1"
echo "device class : $2"
echo "unit : $3"

topic="homeassistant/sensor/$1/config"
payload="{\"name\": \"$1\", \
          \"unique_id\": \"$1\", \
          \"state_topic\": \"homeassistant/sensor/$1/state\", \
          \"device_class\":\"$2\", \
          \"unit_of_measurement\":\"$3\" \
         }"


mosquitto_pub -t "$topic" -m "$payload" -h 192.168.0.7


/usr/local/bin/deleteHaSensor :
#!/bin/bash

echo "name : $1"
echo "device class : $2"
echo "unit : $3"

topic="homeassistant/sensor/$1/config"

mosquitto_pub -t "$topic" -m "" -h 192.168.0.7


/usr/local/bin/publishHaSensor :
#!/bin/bash

echo "name : $1"
echo "valeur : $2"

topic="homeassistant/sensor/$1/state"
payload="{\"name\": \"$1\", \
          \"unique_id\": \"$1\", \
          \"state_topic\": \"homeassistant/sensor/$1/state\", \
          \"device_class\":\"$2\", \
          \"unit_of_measurement\":\"$4\" \
         }"


mosquitto_pub -t "$topic" -m "$2" -h 192.168.0.7