transmission_433mhz
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | Prochaine révisionLes deux révisions suivantes | ||
transmission_433mhz [2018/04/30 09:55] – [Utilisation] 88.164.131.165 | transmission_433mhz [2018/04/30 10:08] – [Utilisation] 88.164.131.165 | ||
---|---|---|---|
Ligne 89: | Ligne 89: | ||
{{:: | {{:: | ||
+ | |||
+ | ===== Reproduction du code ===== | ||
+ | |||
+ | Une fois que le code lu, vous pouvez utiliser le code ci dessous pour le revoyer facilement vers un transmetteur 433Mhz. | ||
+ | |||
+ | Indiquer les temps en micro seconde à l' | ||
+ | <code csharp> | ||
+ | unsigned int TimeHighLevelHigh = 1088; | ||
+ | unsigned int TimeLowLevelHigh = 272; | ||
+ | unsigned int TimeHighLevelLow = 408; | ||
+ | unsigned int TimeLowLevelLow = 952; | ||
+ | </ | ||
+ | |||
+ | <code csharp |main.ino> | ||
+ | #include " | ||
+ | |||
+ | RfManager rfManager = RfManager(); | ||
+ | |||
+ | unsigned char code[] = { 1, | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(4, OUTPUT); | ||
+ | |||
+ | rfManager.setTransmitPin(4); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | if (digitalRead(6) == 0) | ||
+ | { | ||
+ | rfManager.send(code, | ||
+ | //Attend 10 ms | ||
+ | delay(10); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | <code csharp |RfManager.cpp> | ||
+ | #include " | ||
+ | |||
+ | unsigned char TransmitPin = 0; | ||
+ | |||
+ | unsigned int TimeHighLevelHigh = 1088; | ||
+ | unsigned int TimeLowLevelHigh = 272; | ||
+ | unsigned int TimeHighLevelLow = 408; | ||
+ | unsigned int TimeLowLevelLow = 952; | ||
+ | |||
+ | RfManager:: | ||
+ | |||
+ | } | ||
+ | |||
+ | void RfManager:: | ||
+ | { | ||
+ | for (int i = 0; i <length; i++) { | ||
+ | if (code[i] == 1) | ||
+ | transmit(1); | ||
+ | else | ||
+ | transmit(0); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void RfManager:: | ||
+ | { | ||
+ | TransmitPin = pin; | ||
+ | pinMode(TransmitPin, | ||
+ | } | ||
+ | |||
+ | void RfManager:: | ||
+ | |||
+ | if (bit == 1) | ||
+ | { | ||
+ | digitalWrite(TransmitPin, | ||
+ | delayMicroseconds(TimeHighLevelHigh); | ||
+ | digitalWrite(TransmitPin, | ||
+ | delayMicroseconds(TimeLowLevelHigh); | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | digitalWrite(TransmitPin, | ||
+ | delayMicroseconds(TimeHighLevelLow); | ||
+ | digitalWrite(TransmitPin, | ||
+ | delayMicroseconds(TimeLowLevelLow); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <code csharp |RfManager.h> | ||
+ | #ifndef _RfManager_h | ||
+ | #define _RfManager_h | ||
+ | |||
+ | #if defined(ARDUINO) && ARDUINO >= 100 | ||
+ | #include " | ||
+ | #endif | ||
+ | |||
+ | #include < | ||
+ | |||
+ | class RfManager { | ||
+ | |||
+ | public: | ||
+ | RfManager(); | ||
+ | void send(unsigned char* code, unsigned int length); | ||
+ | void setTransmitPin(unsigned char pin); | ||
+ | |||
+ | private: | ||
+ | void transmit(unsigned char bit); | ||
+ | }; | ||
+ | |||
+ | #endif | ||
+ | </ | ||
transmission_433mhz.txt · Dernière modification : 2018/05/01 16:21 de 88.164.131.165