Différences entre versions de « Arduino HC12 »
Aller à la navigation
Aller à la recherche
(Page créée avec « = Partie électronique = == Le composant == Le HC12 existe utilise le contrôleur TI C1101 auquel à été ajouté un contrôleur UART qui permet de transmettre des inform... ») |
|||
(7 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
= Partie électronique = | = Partie électronique = | ||
+ | Voici la documentation du [[:Media:hc12.pdf|HC12]] | ||
== Le composant == | == Le composant == | ||
− | Le HC12 | + | Le HC12 utilise le contrôleur TI C1101 auquel à été ajouté un contrôleur UART qui permet de transmettre des informations en utilisant un port série. |
{|align=center | {|align=center | ||
|- | |- | ||
Ligne 8 : | Ligne 9 : | ||
|align=center| ''TI C1101'' sur platine ''HC12'' | |align=center| ''TI C1101'' sur platine ''HC12'' | ||
|} | |} | ||
− | Le HC12 intègre un contrôleur qui permet de modifier la puissance d'émission, le canal, la vitesse de modulation, de | + | Le HC12 intègre un contrôleur qui permet de modifier la puissance d'émission, le canal, la vitesse de modulation, de le mettre en mode veille, etc... |
== Le montage == | == Le montage == | ||
Le montage suivant utilise 5 fils : 2 pour l'alimentation, 1 pour le paramétrage (''SET'') et 2 pour le port série (Rx et Tx) | Le montage suivant utilise 5 fils : 2 pour l'alimentation, 1 pour le paramétrage (''SET'') et 2 pour le port série (Rx et Tx) | ||
[[Fichier:HC12_diagram.png|centré|600px]] | [[Fichier:HC12_diagram.png|centré|600px]] | ||
+ | |||
+ | N'oubliez pas qu'il faut le même montage de l'autre côté pour pouvoir émettre et recevoir... | ||
= Partie logicielle = | = Partie logicielle = | ||
== Envoyer un message == | == Envoyer un message == | ||
− | Voila un exemple qui | + | Voila un exemple qui, grâce à la console, permet d'envoyer et recevoir des messages. |
<source lang="c"> | <source lang="c"> | ||
#include <SoftwareSerial.h> | #include <SoftwareSerial.h> | ||
String msg; | String msg; | ||
− | int rxPin = | + | int rxPin = 5; |
− | int txPin = | + | int txPin = 6; |
int setPin = 7; | int setPin = 7; | ||
SoftwareSerial hc12(rxPin , txPin); | SoftwareSerial hc12(rxPin , txPin); | ||
Ligne 49 : | Ligne 52 : | ||
if(hc12.available()){ | if(hc12.available()){ | ||
Serial.print(F("RCV : ")); | Serial.print(F("RCV : ")); | ||
− | Serial. | + | Serial.println(hc12.readString()); |
} | } | ||
} | } | ||
</source> | </source> |
Version actuelle datée du 25 août 2019 à 05:36
Partie électronique
Voici la documentation du HC12
Le composant
Le HC12 utilise le contrôleur TI C1101 auquel à été ajouté un contrôleur UART qui permet de transmettre des informations en utilisant un port série.
TI C1101 sur platine HC12 |
Le HC12 intègre un contrôleur qui permet de modifier la puissance d'émission, le canal, la vitesse de modulation, de le mettre en mode veille, etc...
Le montage
Le montage suivant utilise 5 fils : 2 pour l'alimentation, 1 pour le paramétrage (SET) et 2 pour le port série (Rx et Tx)
N'oubliez pas qu'il faut le même montage de l'autre côté pour pouvoir émettre et recevoir...
Partie logicielle
Envoyer un message
Voila un exemple qui, grâce à la console, permet d'envoyer et recevoir des messages.
#include <SoftwareSerial.h>
String msg;
int rxPin = 5;
int txPin = 6;
int setPin = 7;
SoftwareSerial hc12(rxPin , txPin);
void setup() {
pinMode(setPin,OUTPUT);
// passage en mode commande
digitalWrite(setPin,LOW);
Serial.begin(9600);
hc12.begin(9600);
// Passage du module sur le canal 1, en 9600bps et à 20dBm
hc12.print(F("AT+DEFAULT"));
// Délais pour que le module traite la commande
delay(100);
// passage en mode transparent
digitalWrite(setPin,HIGH);
}
void loop() {
if(Serial.available()){
msg = Serial.readString();
Serial.print(F("SND : "));
Serial.println(msg);
hc12.print(msg);
}
if(hc12.available()){
Serial.print(F("RCV : "));
Serial.println(hc12.readString());
}
}