# AQUARIOFILIA MARINHA > DIY - Faça Você Mesmo >  Arduino - enviar SMSs

## Nuno Prazeres

Boa tarde,

Resolvi abrir este tópico autónomo porque para mim esta é das melhores funcionalidades que se podem extrair dum Arduino. Caso se use uma das versões mais simples e baratas, por menos de 50 eur, constroi-se um dispositivo relativamente acessível que nos pode avisar se o aquário deixou de receber energia eléctrica que é o factor mais crítico para a sua sobrevivência.

No meu caso vou usar um Arduino Mega 2560 e uma placa GSM Siemens TC35.

Ambos são fáceis de encontrar no Ebay:

http://www.ebay.co.uk/itm/MEGA2560-A...#ht_5371wt_802

http://www.ebay.co.uk/itm/Arduino-Wi...#ht_7209wt_987

À medida que for desenvolvendo o projecto, irei partilhando conclusões com o Forum.

----------


## Hugo Figueiredo

Boa!!!

Confesso que ainda tenho um bloqueio mentar quanto à utilidade disto num aquário, mas pelo preço baixo e porque me interessa para outras coisas da casa, estarei atento!

1ª dúvida: Como é que isto se liga ao arduino?
2ª dúvida: Para que serve aquela porta (Série?!!?)? :Admirado:

----------


## Pedro Ferrer

Boa noite




> Boa!!!
> Confesso que ainda tenho um bloqueio mental quanto à utilidade disto num aquário, mas pelo preço baixo e porque me interessa para outras coisas da casa, estarei atento!


Já que insistes na dúvida quanto à utilização de um GSM num aquário, vi-me 'obrigado' a uma pesquisa de uma resposta que sabia que existia no fórum...
Já tinha dado o exemplo, mas com o post do próprio, a resposta será certamente mais explicita...

http://www.reefforum.net/showthread....l=1#post155754

Abraço
Pedro Ferrer

----------


## João Seguro

Isso é muito bom, eu perdi 2 peixes por causa duma falha de electricidade... Um simples aviso por sms dessa falha e eu tinha evitado essa situação

----------


## Hugo Figueiredo

> Boa noite
> 
> 
> 
> Já que insistes na dúvida quanto à utilização de um GSM num aquário, vi-me 'obrigado' a uma pesquisa de uma resposta que sabia que existia no fórum...
> Já tinha dado o exemplo, mas com o post do próprio, a resposta será certamente mais explicita...
> 
> http://www.reefforum.net/showthread....l=1#post155754
> 
> ...


Obrigado Pedro, mas não te esforces muito! Isto é um bloqueio mental (como eu lhe chamo) que depressa vai desaparecer. Já tive outros: Osmose, Peristaltica, etc...

Mas sem dúvida que este vai ser bem fáil de desaparecer, aliás já desapareceu! O custo disto é tão diminuto que ter um bloqueio sobre isto é pura patetice  :Smile:

----------


## JoaoCAlves

Força nisso!

Ter um arduino e não ter modulo sms, é como ter um ferrari parado na garagem...  :Big Grin:

----------


## Pedro Ferrer

Boa noite

Ok!
Parece que estamos todos a falar em uníssono.

Abraço
Pedro Ferrer

----------


## Nuno Prazeres

> 1ª dúvida: Como é que isto se liga ao arduino?
> 2ª dúvida: Para que serve aquela porta (Série?!!?)?


1 - em princípio liga-se aos RX e TX do Mega: por exemplo os pinos 18 e 19 que são o Serial1. Depois há que ligar massas e Vcc mas aqui ainda tenho dúvidas já que a placa do TC35 tem alimentação própria. Quando tiver certezas coloco aqui. Se alguém já souber, faça favor.  :Smile: 

2 - é para ligações em série mas via RS-232 que para um Arduino se torna desnecessário.


Entretanto aqui fica a foto da placa. O catão SIM fica num socket na parte inferior (não visível).

TC35.jpg

----------


## JoaoCAlves

Boas.

Aproveito para dizer, que é possivel fazer isto com um telemovel desde que se tenha cabo.

Quem tiver por aí chaços velhos que não precise com cabo de dados, é aproveitar. 

Existe até código para isso.

 :Wink:

----------


## Nuno Prazeres

> Boas.
> 
> Aproveito para dizer, que é possivel fazer isto com um telemovel desde que se tenha cabo.
> 
> Quem tiver por aí chaços velhos que não precise com cabo de dados, é aproveitar. 
> 
> Existe até código para isso.


E há videos no youtube a comprovar!

Entretanto, quanto às ligações penso que se liga o RX da placa ao TX do arduino e vice-versa. O resto é ligar as massas (GND).
Hoje à noite experimento.

----------


## Hugo Figueiredo

> Boas.
> 
> Aproveito para dizer, que é possivel fazer isto com um telemovel desde que se tenha cabo.
> 
> Quem tiver por aí chaços velhos que não precise com cabo de dados, é aproveitar. 
> 
> Existe até código para isso.


Mas o quê? Colocar o cartão no telemóvel em vez de colocar no zingarelho?
Esta agora do telemóvel não percebi... :Admirado:

----------


## Nuno Prazeres

Liga-se o cabo de dados do telemóvel ao Arduino (resta saber via que protocolo e com que ligações) e depois usam-se comandos standard para o controlares. Como digo acima há material no youtube sobre isso.

http://www.youtube.com/watch?v=FL7J1...e_gdata_player

----------


## Hugo Figueiredo

> Liga-se o cabo de dados do telemóvel ao Arduino (resta saber via que protocolo e com que ligações) e depois usam-se comandos standard para o controlares. Como digo acima há material no youtube sobre isso.
> 
> http://www.youtube.com/watch?v=FL7J1...e_gdata_player


Sim mas qual é o interesse especial disso, comparado com a ligação directa por pinos como referiste atrás?

----------


## Nuno Prazeres

O interesse é que te permite fazer o mesmo serviço de forma ainda mais económica.

Ou seja: por 10 eur, custo do Arduino Nano, fazes tudo. Tens é que utilizar um telemóvel velho e o transformador dele. Dá mais trabalho mas ficas com um gingarelho de 10 eur que te pode salvar o aquário.

----------


## Hugo Figueiredo

> O interesse é que te permite fazer o mesmo serviço de forma ainda mais económica.
> 
> Ou seja: por 10 eur, custo do Arduino Nano, fazes tudo. Tens é que utilizar um telemóvel velho e o transformador dele. Dá mais trabalho mas ficas com um gingarelho de 10 eur que te pode salvar o aquário.


Aaaaaaaaaaaahhhhhhhhhhhhhhhhhhh não tinha percebido isso, por isso não percebi!

A ideia é em vez de usar o módulo, usar um telemóvel, é isto?

Assim já percebi e...
e...
e...

Consigo arranjar muitos telemóveis velhos :yb665:

----------


## JoaoCAlves

Então arranja que te vai dar jeito!!

E vais ver que a funcionalidade sms até dá mt jeito...  :Wink:

----------


## PauloEduardo

Bem!
Isso é mesmo uma boa ideia!  :Smile: 

Tou comprador de uma cena dessas caso alguém queira fazer esse sistema dos sms!  :Smile: 

Obrigado e cumprimentos,

Paulo Eduardo

----------


## Baltasar Parreira

Ok aqui fica uma solução exemplo para quem tem o GSM TC35.

Esquema de conexões usando ligação directa ao Arduino Mega sem usar transformador ligado ao TC35 e usando um dos pares adicionais serial (TX/RX) que só o Mega tem, neste caso o Serial1:


Os 5V que vêm do Arduino podem ser ligados em qualquer dos 5 pontos marcados a vermelho na imagem em cima, aconselho a soldar aqui um header de forma a ser mais simples a ligação.
O pino do TC35 marcado como IGT quando momentaneamente ligado à massa (GND) é o mesmo que pressionar o botão para inicializar o modem (indicado a lilás na imagem em cima) e este ficar em modo de receber comandos, quem quiser automatizar para em caso de falha de corrente o modem entre em modo de receber comandos automaticamente terá de perder/usar uma porta do Arduino e ligar aqui, depois no código ao inicializar teremos de mandar GND por essa porta com um delay depois de forma a simular o pressionar do botão antes de o Arduino receber os comandos de inicialização do modem em si, está operação ainda esta em fase de testes pois até pode ser que um vulgar pull-down resistor faça o mesmo efeito e evita-se usar uma porta do Arduino.

Agora fica aqui o código já postado anteriormente noutro post de outro tópico, mas esta versão já está alterada para trabalhar com o Mega de acordo com o esquema de ligações apresentado na imagem em cima:




> // serial speed to use with phone
> #define PHONE_SERIAL_BUAD 9600
> //  Puts teh phone into SMS texting mode ( as opposed to MMS, etc.)
> #define PHONE_SET_SMS_TXT_MODE_COMMAND "AT+CMGF=1" 
> //  Command used to send a message
> #define PHONE_SEND_MSG "AT+CMGS=" 
> // Command to dial a call
> #define PHONE_DIAL_CALL "ATD" 
> #define PHONE_END_CALL "ATH" 
> ...


*NOTA: Após fazer upload deste código para o Arduino e antes de abrir a janela do "Serial Monitor" do IDE para se poder dar comandos e ver a coisa a funciona tem de se pressionar o botão de inicializar do TC35 (mais uma vez indicado a lilás na imagem em cima) de forma a este estar em modo de receber comandos. Este modo é indicado pelo led vermelho perto do mesmo botão a piscar alternadamente.*

----------


## Nuno Prazeres

:tutasla: 

Obrigado Baltasar!

Eu por cá vou avançando lentamente.

Ainda não consegui comandar a placa quando tenho lá o cartão SIM inserido.

Vou arranjar outro para testar se é do cartão. Já tive SIMs que não arrancavam num telemóvel mas noutros funcionavam na perfeição.

Aquela ideia de fazer o Arduino alimentar a placa GSM e fazer o reset é excepcional!

A fonte da placa é de 1000mA mas admito que tenha esse dimensionanento apenas para sustentar voz. Para SMSs a coisa deve ser mais fraca.

Já agora fica a nota de que consigo ter a placa a funcionar (sem SIM como disse antes) alimentada com os 3,3V do Arduino ligando aos primeiros pinos do header do lado esquerdo.

Se assim se aguenta, não sei. Acho mais seguro fazer como tu dizes e alimentar com os 5V.

Abraço

----------


## Hugo Figueiredo

Categoria de informação!

Como já foi referido anteriormente, eu acho que este tema do Arduino já merecia um forum próprio :Admirado:

----------


## Nuno Prazeres

Conclusões fresquinhas

1 - Comprei um cartão SIM da UZO por 5 eur e deram-me uma senha de gasolina de 5 eur da Galp! custo = ZERO. Trás 10 eur em chamadas e 100 sms grátis; apenas tenho que ter o cuidado de o utilizar uma vez de 3 em 3 meses por exemplo tentando ligar para ele. Ganda negócio em tempos de crise...  :SbRiche: 

2 - Testado o software do amigo Baltasar  :tutasla:  com algumas simplificações, funciona na perfeição...

Aqui vai um código alternativo simplificadíssimo para o Arduino Mega (usando o Serial2 - pinos 16 e 17):
_
void setup() {
   Serial2.begin(9600);                             //inicializa comunicação com a placa GSM
   delay(1000);                                        //aguarda um segundinho para acalmar as coisas 
   Serial2.println("AT&F");                         //inicializa GSM 
   Serial2.println("AT+CMGF=1");             //define modo de mensagens como SMS texto
   delay(1000);                                       //dá um tempinho à placa para aceitar a definição
   Serial2.print("AT+CMGS=");                 //comando para enviar SMS
   Serial2.println("123456789");               // aqui coloquem o número de telefone de destino
   delay(500);                                         //mas sem demasiada pressa
   Serial2.print("\"");
   Serial2.print("Sem o Balta nada disto seria possivel!");           //escrever uma string até 160 caracteres
   Serial2.print("\"");
   Serial2.print((char)26);                        //termina o comando
}

void loop(){                                           // não faz nada porque o código só deve correr uma vez
}                                                          // senão se tem cuidado com os loops isto começa a enviar SMSs em catadupa_

3 -  Ora aqui vem uma notícia menos feliz... usando o esquema de alimentação via Arduino só com este a puxar corrente do USB do computador, consigo falar com o GSM no que toca a comandos de diagnóstico mas a placa parece não receber corrente suficiente para receber e enviar chamadas.
Li não sei onde que uma chamada num local com pouca rede pode puxar brutalidades como 2 amperes. Ora não estou a ver um pino do arduino a largar tal corrente.
Usando a fonte de 5V 1000mA que vinha com a placa, tudo corre bem.
Como o GSM é para me avisar de problemas um dos quais é a falta de corrente, vou ter que resolver este assunto e, eventualmente por via de um 7805 ligado à bateria de UPS que vou usar, garantir assim que o GSM estará capaz.
Não sei se com o Arduino a receber corrente à bruta pelo Vin em vez da USB a coisa melhora mas vou testar. Dava muito jeitinho ser o raças do Arduino a alimentar o GSM... :SbOk5:

----------


## Pedro Ferrer

Boa noite Nuno




> 1 - Comprei um cartão SIM da UZO por 5 eur e deram-me uma senha de gasolina de 5 eur da Galp! custo = ZERO. Trás 10 eur em chamadas e 100 sms grátis; apenas tenho que ter o cuidado de o utilizar uma vez de 3 em 3 meses por exemplo tentando ligar para ele. Ganda negócio em tempos de crise...


E sem carregamentos obrigatórios? UZO... isso pertence a quem!?
Mas queres fazer telefonemas para quê?
Forças uma SMS Arduino -> Tlm... não chega assim?





> 3 -  Ora aqui vem uma notícia menos feliz... usando o esquema de alimentação via Arduino só com este a puxar corrente do USB do computador, consigo falar com o GSM no que toca a comandos de diagnóstico mas a placa parece não receber corrente suficiente para receber e enviar chamadas.
> Li não sei onde que uma chamada num local com pouca rede pode puxar brutalidades como 2 amperes. Ora não estou a ver um pino do arduino a largar tal corrente.





> Sending an SMS (a tiny burst of data) will generally draw around less than 400 mA, which is within our normal Arduino specification. If you are using your shield to make or receive actual telephone calls, the shield can draw up to two amps of current. The actual current draw will vary depending on the strength of network reception in your location. For example, I live in direct line-of-sight of a network tower, use a carphone aerial and have full reception. When using the shield to make a call the current draw is around 420 mA. If in doubt, use the ammeter function of a multimeter to monitor current draw.





> Não sei se com o Arduino a receber corrente à bruta pelo Vin em vez da USB a coisa melhora mas vou testar. Dava muito jeitinho ser o raças do Arduino a alimentar o GSM...


Porque razão não ligas 12v 2A ao Arduino -> TC 35?
O meu TC35 vem a caminho!

Abraço
Pedro Ferrer

----------


## Hugo Figueiredo

Eu tinha UZO antes de ter da empresa e a minha patroa também tem UZO. Não tem carregamentos obrigatórios...

Quanto à questão da alimentação quase de certeza que dará para alimentar via arduino seja la de que forma for, mas não dará para fazer um DIY com uma bateria de telemóvel? :Admirado:

----------


## Pedro Ferrer

Boa noite




> Quanto à questão da alimentação quase de certeza que dará para alimentar via arduino seja la de que forma for, mas não dará para fazer um DIY com uma bateria de telemóvel?


Aqui fica...



> the shield would use maximum transmit/receive power and pull the two amps. Therefore if communicating in this way you *cannot* run your Arduino and this shield from the USB port or the DC socket. And don’t be lazy by trying it anyway.
> 
> *Instead, power your project with a high-capacity 5V 2 amp power supply to the 5V and GND pins on your shield*.


Abraço
Pedro Ferrer

----------


## Baltasar Parreira

Humm não sei o que podem estar a fazer diferente, tenho o meu ligado como descrevi no post anterior e uso directamente o que sai dos pinos do Arduino e este somente ligado por USB e consigo mandar os SMS sem problema.

----------


## Pedro Ferrer

Bom dia Baltasar

O problema do Nuno não são as SMS, mas sim chamadas telefónicas (para quê!?) que pretende efectuar, pois as chamadas são mais exigentes ao nível de consumo…

Já agora aproveito para questionar como se faz para anular a necessidade de carregar no start do TC35 sempre que este é reiniciado?

Abraço
Pedro Ferrer

----------


## Nuno Prazeres

Bom dia!

Obrigado a todos!

Respondendo por partes:
O local onde vivo tem algumas zonas em que o sinal é fraco pelo que diria que não podendo ser essa a causa única do problema, pelo menos deve contribuir.

De facto, pensando melhor, o teste que eu fiz foi com base em comandos ATD (chamadas) e não de envio de sms mas gostava de poder ligar para o cartão como forma simples e barata dele depois me devolver um sms com os parametros do tanque.

Como vou ter 8 relays a bulir e muitas portas em pull-up tenho algum receio de estar a esticar demasiado a corda do Arduino.

Entretanto, como o Arduino vai ser alimentado a 9V pelo Vin não tenho ali 5V regulados à mão mas um 7805 e dois condensadores de 100nF fazem a festa. 

Ou seja: acho mais seguro usar alimentação autónoma. É um elemento crítico de todo o sistema de segurança que estou a tentar montar. Faz todo o sentido evitar dúvidas quanto à sua capacidade de resposta.

Já agora..
Forçando um reset pelo pin que o Balta descobriu é possível aumentar brutalmente a segurança disto tudo. Exemplo: mandar o comando AT (diagnóstico) diariamente e se não devolver OK, forçar o Reset. Pode-se fazer diariamente ou assincronamente sempre que se vai enviar uma mensagem. Essee pin vale milhões!!!

----------


## Baltasar Parreira

Pedro@ sorryyy, ehhehe não tinha lido bem essa parte, pois de facto chamada de voz requer maior potencia de emissão/recepção logo maior consumo.

Quanto ao eliminar o start ainda não testei se um resistor pull down ligado ao pin que indiquei (IGT) faz o efeito de pressionar o botão para arrancar o TC35, pois em ultimo caso como referi também basta usar uma porta do Arduino para temporariamente (como tenho no código que postei, acho...) no boot fazer a entrada de massa nesse mesmo pino do TC35 depois uma pausa e arrancar o resto do código.

Nuno@, acho que já tinha dito isto varias vezes ou arranjas uma fonte exterior de 5V @2A mínimo e assim só tens de ligar em tudo que diga 5V a ela, ou seja nada é alimentado por retirar do Arduino. Claro que poderá ser uma fonte de 9V desde que tenhas exteriormente também o circuito rectificador/regulador para os 5V até a amperagem que queres (2A mínimo).
Agora não usaria nunca o VIN do Arduino pois vai provocar algum aquecimento no seu regulador integrado e este também não suporta grandes amperagens para depois retirares os 5V do Arduino para ligares tantas coisas assim.

----------


## Nuno Prazeres

Boas!

Obrigado Baltasar!

Eu quanto a fonte não tenho problema. Uso a do carregador de bateria da ups diy que larga watts à grande.

Assim sendo vou substituir o 7809 que tenho a alimentar o Arduino e uso um 7805 mas em vez de o alimentar pelo Vin experimento fazê-lo pelo jack de alimentação propriamente dito.

Quanto à placa GSM, é só fazer o mesmo.

----------


## Baltasar Parreira

Não Nuno o jack do Arduino é o mesmo que o pino VIN, no Arduino tens de usar mesmo um qualquer terminal/pino que diga 5V.

No TC35 é que o jack já aceita e somente os 5V.

----------


## Pedro Ferrer

Boa tarde

Recebi hoje o TC35 (com a fonte incluída  :Smile:  ).
Nuno, podes-me dizer onde posso adquirir um cartão UZO. O tal de 10€...

Grato pela atenção
Pedro Ferrer

----------


## Pedro Ferrer

Boa noite

Obrigado ao Nuno que já teve a amabilidade de me informar por outro mecanismo.  :Palmas: 

Abraço
Pedro Ferrer

----------


## Pedro Ferrer

Boa noite

Hoje peguei no Arduino e no TC35 e procedi às ligações. Tudo funcionava bem e quando fazia um último teste às ligações, eis que me engano e coloco 12V no jack do TC35... em de ter colocado no Arduino...
Só me apercebi quando um vejo um led vermelho do TC35 a piscar...
Desde então, ligando o TC35 ao Arduino, este último desliga-se, dando a ideia que o TC35 está em curto-circuito...

*Ou foi de ter colocado os 12V ou pelo facto de ter solda num dos oríficios do TC35 assinalalos para os 5V, Ou seja, tenho um fio soldado e outro furo com solda por descuido... ambos 5V...
*
Sugestões?

Edição:
Experimentei o transformador de 5V que vinha (tenho cá em casa um adaptador universal e permite usar este transformador) e carregando no reset do TC35, este não funciona...
Penso que algum componente tenha queimado...

Grato pela atenção
Pedro Ferrer

----------


## LuisFernandes

Boa noite,

Por acaso Pedro podes dizer aonde compraste o teu TC35?!
Outra questão é se isto funciona mesmo, ou seja em caso de falta de energia envia um sms?!

Obrigado

----------


## Baltasar Parreira

Pedro, o regulador integrado que faz os 3.3V pode ter queimado e aparenta que o chip principal sem essa voltagem não funciona correctamente, pelo que sei é a voltagem de uma bateria de backup para qualquer coisa, não testei mais coisas ainda.
Vê o esquema da board que aqui coloco e vê o meu post atrás (http://www.reefforum.net/showthread....l=1#post191529) para tentares ligar directo como indico tirando as voltagens retiradas do Arduino e de acordo com o esquema tenta ligar os 3.3V também saídos do Arduino ao pino da mesma voltagem na board, penso ser no header JP5 qualquer pino do 1 ao 6, pode ser com as voltagens directas e se o regulador ou outro qualquer componente não estiver em curto isso funcione normal de novo.

Caso contrario só passando por aqui para com o multímetro fazermos uns testes e ver o que possa ser comparando os sinais/voltagens com o meu TC35.


TC35 V1.1 Sch&PCB.pdf

Hummm... não percebi essa do furo com solda? Podes detalhar isso melhor? Na board existe um shunt que faz a troca do TX com RX e assim serem ligados directos ao Arduino em vez de TX a RX e vice versa, o shunt cruzado na board faz já essa troca, não te referes a isto pois não?

----------


## Pedro Ferrer

Bom dia Baltasar

Já liguei os 3.3V do arduino à ficha JP5 do TC35, e o que acontece é que o led indicador de corrente do arduino fica extremamente fraca...

A outra azelhice da soldadura tem a ver com os furos (10) junto à resistência D4.
Aí soldei um fio que liga aos 5V. Tudo funcionava... e de repente começaram as azelhices...
Um pingo a mais num desses furos... e transformador de 12V no jack do TC35...

(...)

Luís, tem neste tópico um link para um local no ebay onde se pode adquirir o TC35.
Em caso de energia envia uma SMS, mas tens que elaborar um plano de contigência... UPS, mini-UPS... programação...

Grato pela atenção
Pedro Ferrer

----------


## Nuno Prazeres

Pedro, podes vir cá buscar o neu se isso te ajudar no diagnóstico. É só dizeres.

----------


## LuisFernandes

Bom dia,

Pedro obrigado pela dica, mas esse link diz que não enviam para portugal, e nos que encontrei após pesquisa, todos a mesma coisa, não enviam para portugal.
Quanto a resposta de envia um sms, sei que disseram que sim, mas ainda não entendi essa parte e como...
Desculpem qualquer coisa, mas as vezes eu tenho uma parada e só mesmo com desenho.

Obrigado pela atenção.

----------


## Baltasar Parreira

Pois aparentemente demos cabo do stock no Ebay dos TC35 ehehhe  :yb624: , o mais barato agora que encontro é este:
http://www.ebay.co.uk/itm/GSM-SIEMEN...item3a6ea293f7

ou este depois mais caro ainda:
http://www.ebay.co.uk/itm/GSM-SIEMEN...item27bc5f6121

----------


## Baltasar Parreira

Existe esta outra board GSM com outro chipset mais barata:
http://www.ebay.co.uk/itm/SIMCOM-SIM...item415e8d63a3

Nunca trabalhei com ela, as geralmente são todas iguais o que muda é os comandos AT.

----------


## LuisFernandes

Boa tarde,

Muito obrigado amigo Baltasar, pelo menos já tenho aonde comprar um TC35, agora falta a parte do desenho, pois ainda não entendi como faltando a energia, a "coisa" envia um sms a informar isso mesmo, pois penso que para mandar um sms deve ter uma ups ou o que se queira chamar ligada a coisa e ao arduino (que por acaso não sei qual comprar).
Portanto para um inculto destas coisas, só mesmo um desenho...
Desculpem a ignorancia ou o que queiram chamar.

Obrigado

----------


## Pedro Ferrer

Boa noite




> Pedro, podes vir cá buscar o neu se isso te ajudar no diagnóstico. É só dizeres.


Obrigado Nuno pela tua disponibilidade!
Entretanto já o Baltasar havia demonstrado a sua disponibilidade e assim foi.

Foi descoberto o malandro que estava a impedir o correcto funcionamento do TC35!
O diodo Zener identificado na board como D4, estava em curto-circuito...
Para que serve? Como o substituímos?
Resposta, não serve para grande coisa e não o substituímos... apenas por um breve período de tempo para testes.
Neste momento a board está a trabalhar sem esse diodo.

Outra situação que identificámos, já num outro âmbito, visto que o Baltasar fez questão de analisarmos de forma detalhada o correctoo funcionamento do TC35, foi que o led vermelho junto à resistência R1, pisca de forma mais insistente enquanto o cartão SIM se regista na rede, após esse registo, o led passa a piscar de forma mais temporizada.
Só após esse registo (vamos apontar para ~15-25 segundos) é que se pode marcar um número de telefone.
Também aqui é preciso notar qual a rede que se está a usar. Identificámos diferentes tempos de registo entre cartões SIM da rede 93 e 96, pois depende da força do sinal.
Com e sem antena, o TC35 até funciona, mas não vale a pena facilitar e coloquemos a antena, pois o tempo de registo na rede, desce de forma notária.
Dependendo da localização, varia o sinal da serviço e o da rede, pode ser necessário socorrermo-nos de um transformador directamente ligado ao TC35. Experimentámos com USB e funcionou.
Mas o TC35 não é muito linear... por vezes conseguimos efectuar chamada telefónica, outras não...
Irei tentar consolidar a forma ideal de proceder a essa ligação.

Confirma-se que o o pin (e são 2) IGT necessita de ~<1 segundo de GND para fazer o RESET automático ao TC35.

Resta-me agradecer de forma sincera a disponiblidade (e foi uma tarde inteira!) demonstrada pelo Baltasar  :Palmas:  na tentativa de resolução deste problema, criado por mim de forma ridícula (já devia estar a dormir na hora em causa).

Está a funcionar! Agora vem a outra parte...

Grato pela atenção
Pedro Ferrer

----------


## Nuno Prazeres

Muito bom!

Já agora acho que é um bom princípio, forçar o reset por software do arduino cada vez que se quiser fazer uso do módulo. Se um dos usos for para ler mensagens ou coisa que o valha, terá que estar sempre disponível pelo que vale a pena fazer um reset preventivo por dia.

Já agora... como é que fizeram? Algo assim?

setup() {

pinMode(ResetGSM, OUTPUT);
digitalWrite(ResetGSM, LOW);
delay(20000);
digitalWrite(ResetGSM, HIGH);

}

Agora respondendo ao Luís Fernando...

Podes encontrar informação sobre UPS aqui.

Agora para aquilo que queres, se pretenderes algo mais simples e barato, penso que basta uma simples pilha de 9V, desde que tenhas o cuidado de a ir trocando regularmente.

Se o módulo de SMS for alimentado por um pino do arduino basta ligares a pilha à alimentação do arduino que em princípio haverá potência suficiente para enviar a mensagem.

Assim, a alimentação fica independente do fornecimento de energia doméstica.

Precisas é de detetar se esse mesmo fornecimento está ativo, coisa que fazes ligando um simples transformador de que dê ligeiramente menos de 5V a uma tomada e lendo a sua saída via resistência de 10K por uma porta analógica do arduino.

Caso a leitura vá para um valor próximo de zero, mandas a mensagem. Se a energia voltar, o pino vai ler algo perto de 1024 se a tensão for exatamente 5V e então mandas um sms a dizer que a energia voltou. 
Para maior tolerância podes usar 512 como um valor de limiar para cima ou para baixo mas o melhor é mesmo ver quanto é que o pin lê com a energia ligada, dividir por dois e usar esse valor

----------


## LuisFernandes

Bom dia,

Muito obrigado amigo Nuno Prazeres pela explicação, agora o desenho esta mais completo.  :yb677: 
Consegui perceber a questão da alimentação ao Arduino e ao TC35, agora como sou um gajo que percebe de electronica como de poda  :yb665: , podias ou alguem explicar como faço isso de "lendo a sua saída via resistência de 10K por uma porta analógica do arduino".

Mais uma vez um muito OBRIGADO pela paciencia dispensada por todos.

----------


## Nuno Prazeres

> Bom dia,
>  podias ou alguem explicar como faço isso de "lendo a sua saída via resistência de 10K por uma porta analógica do arduino".


Boas!

A electrónica para mim é como o sexo oposto: gosto imenso, consigo até relacionar-me mas agora perceber realmente o que está do outro lado...  :Admirado: 

Ora bem... precisas de ter uma forma de dizer ao teu Arduino: "atenção que faltou a luz por isso dá cordinha aos teus bytes e manda uma mensagem ao Luís a avisar senão o aquário derrete!"

Se o Arduino estiver a ser alimentado por uma bateria, não vai perceber quando falta a luz. Se estivesse a ser alimentado por um transformador, assim que percebesse, ia abaixo e quanto a SMS, népias.

Como se resolve isto?

A maneira mais expedita, é teres alguma coisa ligada a uma tomada que deite cá para fora uma tensão que o arduino possa ler por exemplo um transformador corrente daqueles de carregar telemóveis. Pode então fazer isso de duas formas: ou a tensão de saída do transformador é inferior a 5 Volts e aí o Arduino tolera-a a entrar por um pino, ou então, se for superior, o melhor é montares ali um divisor de tensão que nada mais é que duas resistências entre o + e o - do transformador com um fio a sair entre elas sendo que a diferença de potencial entre esse fio e uma das resistências é igual à tensão total menos a diferença de potencial entre esse mesmo fio e a outra resistência. Assim podes baixar a voltagem para um valor mais tolerável.

Confuso?

Vê aqui o que é com mais detalhe.

As portas analógicas do arduino devolvem um inteiro de valor 0 (zero), se a tensão lida for igual à da massa, e 1023 se for sensivelmente igual a 5 V. No meio é praticamente linear. Se meteres mais de 5V aquilo fica um bocado errático pelo menos comigo. Se meteres muito mais de 5V podes queimar a porta ou mesmo o arduino.

Se arranjares um transformador de 2,5V, por exemplo, e o ligares à entrada A0 dum arduino esse pino deve dar-te um valor perto de 512.

Ora com essa realidade já saberás como fazer...

Lês sucessivamente o valor desse pino, se ele estiver a zero ou perto disso, é porque faltou a luz. Se voltar a 512 ou perto é porque a a luz voltou.

Está mais claro?

----------


## LuisFernandes

Boas amigo Nuno,

Eu de electronica não percebo mesmo nada, de sexo oposto se calhar penso que percebo e depois no fim ando a ser enganado  :Admirado: 

No entanto depois da explicação que colocaste, fiquei mais contente, pois penso que entendi, mas na volta é como eu e o sexo oposto  :yb624: 

Muito OBRIGADO pela explicação, agora entendi perfeitamente, vou então avançar para a compra do mega e para o TC35 que o amigo Baltasar indicou, todas as vossas ajudas são do melhor que se pode ter e avançar com os meus testes, e depois avançar para outras coisas que tanto tenho aprendido com vocês todos.

Mais uma vez um MUITO OBRIGADO a todos pelas explicações, e por todo o tempo despendido com as minhas questões.

Abraço

----------

