4788

Build your own SMS Remote Control with an Atmega328 at 16 Mhz and a SIM800L EVB, Arduino code. PCB gerber files included. Two codes available : French version (version Française) English version : SMS_COMMANDE_ELEKTOR_LAB_EU

Build your own SMS Remote Control with an Atmega328 at 16 Mhz and a SIM800L EVB, 
Arduino code, English version : SMS_COMMANDE_ELEKTOR_LAB_EU
PCB gerber files included.
  • Measure ambient temperature with a TMP36Z sensor.
  • Active frost protection mode management with possibility to set the high and low thresholds.
  • Control and pairing by SMS Three phone numbers in memory (phone numbers are hard-coded for France( +33),)

Adapt the code for your country code ::
L93 #define COUNTRY_CODE         ("+33")   // YOUR COUNTRY CODE
L94 #define NUMBER_LENGTH           (12)   // EQUAL SIZE TO THE NUMBER RECEIVED WITH THE '+' 

 Relay card driver mode settings Arduino_Chinese type by definition RELAY_OMRON -> 0
  or, if OMRON relay PCB type assembly by                             definition RELAY_OMRON -> 1

  Sensor presence settings on module, by definition SENSOR_TMP36Z -> 1
  or possible, module without sensor if      definition SENSOR_TMP36Z -> 0
  If no sensor, in fact, no frost mode management.
  If sensor, the settings for frost protection mode activated by definition FROST_PROTECTION_MODE -> 1

  FROST_PROTECTION_MODE active, set the high and low threshold definitions.

  FROST_PROTECTION -> (5.0) This is the Low threshold, 5°C, the value at which the heating will be activated (if it is not already:)
  ACTION: Antifreeze mode active if the temperature read by TMP < ANTIFREEZE value (here 5°C)
  Save the current state of the relays, activate the relays of the heating group (1,2)

  TEMP_H ->(7.0) This is the High threshold, 7°C, the value at which the heating will stop.
  ACTION: End of frost protection mode active as soon as the temperature > TEMP_H value (here 7°C)
  Return to initial state of heating relays (1,2)

  MANAGEMENT AND PAIRING BY SENDING SMS 12345

   Three phone numbers in memory       Place in structure NUM
   1 the master  -> Phone number 1         -> 0
   2 the guest 1 -> Phone number 2         -> 1
   3 the guest 2 -> Phone number 3         -> 2

   Only the master can choose to:
   -> Memorize guest 1 (access to x functions) by sending the sms: Guest1 +the num with country code
   French Exemple Guest1 = 06 54 18 23 25 do send sms: Guest1 +33654182325
   The module returns the number 2 (guest1) stored in the module whith the country code +..)

   -> Memorize guest 2 (access to x function) by sending the sms: Guest2 +the num with country code.
   The module returns the number 3 (guest2) stored in the module.

   -> Delete a guest number, send by sms: Erase guest1 or, Erase guest2
   The module returns the number X is erased.

   -> Receive the list of saved guest numbers.
   Send by sms: List num

  Remote control sms

  Reminder of orders : :
  Heating all                 ----> relay 1,2 = ON  ----> return sms system status + temperature (if sensor!)
  Stop heating             ----> relay 1,2 = OFF ----> return sms system status + temperature (if sensor!)
  Relay1 on (off)          ----> relay 1 ON ou (OFF) ----> return sms relay1 status + temperature (if sensor!)
  Relay2 on (off)          ----> relay 2 ON ou (OFF) ----> return sms relay2 status + temperature (if sensor!)
  Relay3 on (off)          ----> relay 3 ON ou (OFF) ----> return sms relay3 status
  Relay4 on (off)          ----> relay 4 ON ou (OFF) ----> return sms relay4 status
  Temp                     ,,   ----> Return ambiant temperature if sensor
  Status                        ----> Return sms system Status and ambiant temperature (if sensor!)
  Order(s)                     ----> Return list of orders

  __Master Only
  Guest1 +cc, Guest2 +cc        ----> Return the number 2 or 3 saved in the module
  Erase guest1, Erase guest2  ----> Return Tel guest 1 (or 2) is erased
  List num                                   ----> Return an sms with the guest numbers in memory (or returns empty)
 
Refer to the attachments. Read: 
  • EU Command SMS Module Functional Summary
  • Manuel_SMS_4R_ELEKTOR_EU

 The code published here is open source, you can modify it, but don’t forget to give credit.
 
 Depending on the load to drive, the relays of the module may have to switch power contactors. See note of mounting in switch board. 
 // VERSION FRANCE 
CODE::  SMS_COMMANDE_ELEKTOR_LAB
 Construisez votre Télécommande par SMS avec Atmega328_16Mhz et SIM800L_EVB, Arduino code. Gerber de PCB inclus. Vous pouvez utiliser un Nano et une carte type relais Arduino bleu chinois :) équipé d'un shield SIM800L_EVB. (voir pièces jointes)

 Mesure la température du lieu d'emplacement du module à l'aide d'un TMP36Z
 Gestion de mode hors gel active, possibilité de régler par définitions le seuil haut et bas. 
 PILOTAGE  ET APPAIRAGE PAR ENVOI DE SMS 
 Trois numéros de téléphone en mémoire 
  1 le maitre  -> Numéro de téléphone 1 
  2 l'invité 1  -> Numéro ""     ""    2  
  3 l'invité 2  -> Numéro ""     ""    3 
 Les commandes initialisées dans le code. (vous pouvez adapter les textes) : 
 Allumer chauffe    --> relais 1,2 = ON  ----> retourne sms état de l'automate + température (si capteur !)  
 
 Stop chauffe         --> relais 1,2 = OFF ----> retourne sms état de l'automate + température (""     ""   ) 
 
 Relais1 oui (non)  --> relais 1 ON ou (OFF) ----> retourne sms état du relais 1 + température (si capteur !)  
 
 Relais2 oui (non)  --> relais 2 ON ou (OFF) ----> retourne sms état du relais 2 + température (""     ""   )  
 
 Relais3 oui (non)  --> relais 3 ON ou (OFF) ----> retourne sms état du relais 3
 
 Relais4 oui (non)  --> relais 4 ON ou (OFF) ----> retourne sms état du relais 4  
 
 Temp                      --> retourne la température si capteur  
 Dis moi                   --> retourne l'état automate (état des 4 RELAIS) et température si capteur  Commande(s)      --> retourne la liste des commandes des ordres acceptés  
 
 ___________________________seulement le maitre________________________________________  
 Num2 +33, Num3 +33              ----> retourne le numéro 2 ou 3 enregistré dans le module  
 Efface num2, Efface num3      ----> retourne num 2 ou 3 effacé 
 Liste num                                    ----> retourne les numéros de téléphone en mémoire EEPROM
 
 Reportez-vous aux pièces jointes
 Lire :
 Résumé fonctionnelle du module SMS Commande. 
 Manuel_SMS_4R_ELEKTOR 
 Le code en ligne est open source, vous pouvez, le découper, le triturer, y apporter vos modifications, mais, n'oubliez pas de rendre à César ! :) 
 Suivant la charge à piloter, les relais du module doivent piloter des contacteurs de puissances .
 Voir note de montage en tableau. 
 Bonne commande AT
 Arduino47
 Bruno C.