Índice:

Salve meu filho: o assento inteligente que envia mensagens de texto se você esquecer a criança no carro: 8 etapas
Salve meu filho: o assento inteligente que envia mensagens de texto se você esquecer a criança no carro: 8 etapas

Vídeo: Salve meu filho: o assento inteligente que envia mensagens de texto se você esquecer a criança no carro: 8 etapas

Vídeo: Salve meu filho: o assento inteligente que envia mensagens de texto se você esquecer a criança no carro: 8 etapas
Vídeo: APRESENTAÇÃO NA ESCOLA 2024, Novembro
Anonim
Salve meu filho: o assento inteligente que envia mensagens de texto se você esquecer a criança no carro
Salve meu filho: o assento inteligente que envia mensagens de texto se você esquecer a criança no carro

Está instalado em automóveis e, graças a um detector colocado na cadeira infantil, avisa - por SMS ou chamada telefónica - se fugirmos sem levar a criança connosco

Etapa 1: introdução

Introdução
Introdução

Entre os acidentes mais tristes (e pelo menos raros) noticiados, estão os de pais que - por causa da agilidade, problemas de saúde ou falta de atenção - saem do carro e “esquecem” os filhos na cadeirinha., em um ambiente quente ou frio. Certamente, tais acidentes poderiam ter sido evitados se alguém ou algo lembrasse ao motorista que ele deixou a criança no carro; sem dúvida a tecnologia pode ajudar e oferecer soluções, a serem implementadas no veículo pelo fabricante ou do tipo “retrofit”, como o projeto aqui descrito. Trata-se de um dispositivo baseado em um celular GSM que detecta alguns parâmetros, a partir dos quais se avalia o comportamento do motorista e se executam as ações necessárias: em particular, é enviado um SMS para o telefone do motorista que está fugindo do carro. O dispositivo é instalado no carro e é alimentado pelo sistema elétrico deste; verifica se a criança está sentada (por meio de um sensor composto por alguns botões de baixo perfil, montado em uma protoboard a ser colocada sob a capa da cadeira de criança): se verificar que os botões estão pressionados (portanto, a criança está sentada), o circuito também verificará se o veículo parou (por meio de um acelerômetro triaxial), em caso afirmativo e decorrido o tempo definido, enviará uma mensagem SMS de alarme para o telefone do motorista e vai soltar um som de campainha.

Além disso, realiza uma chamada para o mesmo número de telefone e possivelmente para outros, para que pais, amigos e outras pessoas liguem para o motorista para verificar o que está acontecendo. Embora a aplicação escolhida seja a mencionada, o projeto foi criado em nosso laboratório como uma plataforma que pode ser adaptada para os outros dois propósitos. O primeiro é um dispositivo de corrente residual para idosos e pessoas frágeis, enquanto o segundo é um alarme remoto, que funciona em caso de apagão (e útil para evitar que o congelador descongele e que os alimentos nele contidos se tornem perigosos)

Etapa 2: Diagrama de Circuito Salve Meu Filho

Diagrama de Circuito Salve Meu Filho
Diagrama de Circuito Salve Meu Filho

Vamos ver então do que se trata e analisar o diagrama elétrico do circuito, cuja gestão foi confiada a um microcontrolador PIC18F46K20-I / PT da Microchip, que foi programado através do nosso firmware MF1361, para que leia o estado de as entradas (às quais o sensor de peso da cadeira de criança e um possível dispositivo de detecção estão conectados), e adquire os sinais fornecidos pelo acelerômetro (U5), e fala com a EEPROM externa (U4) (contendo as configurações para o funcionamento do sistema) e faz interface com um possível receptor de rádio (U6) e gerencia um módulo celular (GSM).

Observe que o circuito considera elementos que podem ser montados ou não, já que o concebemos como uma plataforma de desenvolvimento expansível, para aqueles que desejavam criar sua própria aplicação, a partir do firmware base. Vamos começar descrevendo o microcontrolador, que - após o power-on-reset - inicializa as linhas RB1 e RB2 como entradas fornecidas com um resistor pull-up interno, que será necessário para ler alguns contatos normalmente abertos que estão conectados ao IN1 e IN2; os diodos D2 e D3 protegem o microcontrolador no caso em que uma tensão acima da da fonte de alimentação do PIC seja aplicada erroneamente nas entradas. Atualmente IN1 é utilizado para o sensor de peso da cadeira de criança, enquanto IN2 está disponível para outros controles possíveis: podemos utilizá-lo, por exemplo, para a detecção de abertura e fechamento de portas, através da leitura da tensão nas luzes de cortesia; a respeito disso, por favor, considere que em alguns carros modernos as luzes de teto são gerenciadas (em PWM) por uma caixa de junção (a fim de garantir um ligar e desligar gradual), enquanto nós apenas temos que ler o estado das luzes instantaneamente acesas e desligado (caso contrário, a leitura será anormal); depois disso, teremos que filtrar o PWM por meio de um capacitor colocado entre a entrada do microcontrolador e o terra (após o diodo). Outra entrada é a RB3, ainda fornecida com resistor pull-up interno, necessário para a leitura do botão P1 (que serve para ligar à força o módulo celular, normalmente desligado). Ainda durante a inicialização das E / Ss, RB4 é colocado como entrada com a finalidade de ler - por meio dos divisores de tensão R1 e R2 - a partida do circuito, realizada pelo duplo desvio SW1b; o divisor de tensão é necessário, pois o microcontrolador tolera uma tensão inferior à de entrada encontrada no conector de alimentação. A função do RB4 está reservada para desenvolvimentos futuros, é explicado considerando que o circuito pode ser alimentado tanto por uma rede de alimentação via tomada USB como por meio de uma bateria de lítio que é ligada à saída do regulador de carga dedicado.

Etapa 3: Diagrama de Circuito

Diagrama de circuito
Diagrama de circuito

Quando SW1 é movido nos contatos marcados com uma cruz no diagrama de circuito, o resto do circuito é isolado da bateria e, portanto, desligado; se na entrada da fonte de alimentação (USB) for aplicada uma tensão de 5 volts, apenas o estágio carregador estará operando (é alimentado pelo diodo D1, que o protege de inversões de polaridade). Ao mover SW1 para a posição ligada, SW1b traz a tensão de entrada para a linha RB4 e SW1a alimenta o microcontrolador e outros enfeites, por meio da tensão nas extremidades da bateria (cerca de 4 V quando em carga total), além de ligar o conversor de chaveamento elevador assinado como U3, que gera os 5V necessários para o resto do circuito.

No que se refere ao funcionamento do circuito alimentado por USB, o SWb traz a tensão de entrada para o RB4, que - ao realizar sua leitura no firmware - permite entender se a fonte de alimentação da rede foi encontrada; tal função é útil para o propósito de criar o alarme anti-blackout. Por outro lado, durante o funcionamento a bateria, o RB4 permite ao microcontrolador saber disso e realizar possíveis estratégias para diminuir o consumo de energia (por exemplo, reduzindo os intervalos em que o telemóvel é ligado). A linha RB4 é a única maneira que o firmware tem de entender quando o circuito é operado por bateria, pois se U1 estiver recebendo energia mesmo se RB4 estiver em zero volts, significa que o circuito é operado por bateria, enquanto se houver outra fonte de alimentação, ele estará funcionando graças à voltagem retirada do USB. Vamos voltar agora para a inicialização de I / Os e ver que as linhas RC0, RE1, RE2 e RA7 são inicializadas como entradas, que foram fornecidas com um resistor pull-up externo, uma vez que não podemos ativá-lo internamente para tais linhas; serão necessários para a leitura dos canais do receptor híbrido, que de qualquer forma é um acessório reservado para desenvolvimentos futuros. Esse receptor pode ser útil para o uso doméstico como um alarme remoto, para aqueles que têm seus movimentos prejudicados ou são forçados a deitar-se; ao detectar a variação nas saídas do rádio RX, fará um telefonema para pedir ajuda ou enviará um SMS semelhante. Esta é uma aplicação possível, mas existem outras; de qualquer maneira, deve ser implementado no firmware. RC3, RC4, RB0 e RD4 são as linhas que foram atribuídas ao acelerômetro U4, que mais especificamente é uma placa breakout baseada no acelerômetro triaxial MMA8452 da NXP: RC3 é uma saída e é necessária para enviar um sinal de relógio, RC4 é uma E / S bidirecional e aciona o SDA, enquanto os outros dois pinos são entradas que foram reservadas para a leitura das interrupções INT1 e INT2, que são geradas pelo acelerômetro quando determinados eventos ocorrem. As linhas RA1, RA2 e RA0 ainda são entradas, mas foram multiplexadas no conversor A / D e são utilizadas para a leitura do acelerômetro triaxial U5, que também está na placa de breakout e que é baseado no módulo acelerômetro MMA7361; tal componente pretende ser uma alternativa ao U4 (que é o esperado atualmente pelo nosso firmware) e fornece informações sobre as acelerações detectadas nos eixos X, Y, Z por meio de tensões analógicas que saem das linhas correspondentes. Neste caso, o firmware é simplificado, uma vez que não é necessária a rotina de gerenciamento do MMA8452 (requer leitura de registros, implementação do protocolo I²C-Bus, e assim por diante). Ainda no assunto ADCs, a linha An0 é utilizada para leitura do nível de tensão, que é fornecida pela bateria de lítio, que alimenta o microcontrolador e o resto do circuito (exceto para o receptor do rádio); se o firmware o considerar, ele permite a possibilidade de desligar o todo quando a bateria está fraca, ou quando está abaixo de um determinado limite de tensão. A linha RC2 é inicializada como uma saída e gera uma série de pulsos digitais quando o buzzer piezoelétrico BUZ1 deve emitir a nota acústica de advertência que foi indicada pelo firmware; outras duas saídas são RD6 e RD7, às quais foi confiada a tarefa de acender os LEDs LD1 e LD2.

Etapa 4: Diagrama de Circuito PCB

Diagrama de Circuito PCB
Diagrama de Circuito PCB

Vamos completar a análise dos I / Os com RD0, RD2, RD3, RC5, que junto com os RXs e TXs do UART da interface para o módulo celular SIM800C por SIMCom; no circuito, o último é montado em uma placa dedicada para ser inserido no conector específico encontrado na placa de circuito impresso. O módulo troca os dados das mensagens enviadas (alarmes) e recebidas (configuradas) com o microcontrolador, via UART do PIC, que também é necessário para os comandos de configuração do telemóvel; o resto das linhas diz respeito a alguns sinais de estado: RD2 lê a saída para o LED “sinal” que se repete pelo LD4, enquanto RD3 lê o Indicador de toque, ou seja, o contato do celular que fornece o nível lógico alto quando um chamada de telefone é recebida. A linha RD0 possibilita o reset do módulo e o RC5 trata do ligar e desligar; reset e ON / OFF são implementados pelo circuito na placa na qual o SIM800C está montado.

A placa, cujo diagrama de circuito foi mostrado - junto com a pinagem do conector de inserção - na Fig. 1, contém o telefone celular SIM800C, um conector de antena MMX 90 ° e uma tira de pinos macho 2 × 10 de 2 mm na qual a alimentação fonte, a linha de controle de ignição (PWR), todos os sinais e as linhas de comunicação serial de e para o módulo GSM, conforme mostrado na Fig. 1.

Etapa 5: Diagrama de Circuito PCB

Diagrama de Circuito PCB
Diagrama de Circuito PCB

Uma vez que as E / Ss do microcontrolador foram definidas, podemos dar uma olhada nas duas seções envolvidas na alimentação do circuito: o carregador e o conversor elevador DC / DC.

O carregador é baseado no circuito integrado MCP73831T (U2), fabricado pela Microchip; como entrada normalmente aceita 5 V (a faixa tolerável é entre 3,75 V e 6 V), vindo neste circuito do conector USB; ele fornece - na saída - a corrente necessária para carregar elementos de íon de lítio ou polímero de lítio (Li-Po) e fornecer até 550mA. Uma bateria (a ser conectada aos contatos +/- BAT) pode ter uma capacidade teoricamente ilimitada, pois no máximo seria carregada em um tempo muito longo, porém considere que por meio de uma corrente de 550mA, um elemento de 550mAh é cobrado em uma hora; como escolhemos uma célula de 500 mAh, ela será carregada em menos de uma hora. O circuito integrado opera na configuração típica, em que o diodo de luz LD3 é acionado pela saída STAT, que é levado ao nível lógico baixo ao carregar, enquanto permanece em nível lógico alto ao parar o carregamento; o mesmo é levado a uma alta impedância (aberto) quando o MCP73831T é desligado ou quando verifica-se que nenhuma bateria está conectada à saída do VB. VB (pino 3) é a saída usada para a bateria de lítio. O circuito integrado realiza o carregamento com corrente e tensão constantes. A corrente de carga (Ireg) é definida por meio de um resistor conectado ao pino 5 (no nosso caso, é R6); seu valor está conectado à resistência pela seguinte relação:

Ireg = 1.000 / R

em que o valor R é expresso em ohm se a corrente Ireg é expressa em A. Por exemplo, com 4,7 kohm uma limitação de 212 mA é obtida, enquanto com R sendo 2,2 kohm a corrente vale cerca de 454 mA. se o pino 5 for aberto, o circuito integrado passa para o estado inativo e absorve apenas 2 µA (desligamento); o pino pode, portanto, ser usado para habilitar. Vamos completar a descrição do diagrama de circuito com o conversor elevador, que extrai 5 volts estabilizados da tensão da bateria; o estágio é baseado no circuito integrado MCP1640BT-I / CHY, que é um regulador de reforço síncrono. Dentro dele há um gerador PWM que aciona um transistor cujo coletor fecha periodicamente a bobina L1 à terra, por meio do pino SW, carrega e deixa liberar a energia acumulada durante as pausas - por meio do pino 5 - para os condensadores de filtro C2, C3, C4, C7 e C9. O grampo de diodo que protege o transistor interno também é interno, reduzindo assim os componentes externos necessários ao mínimo: na verdade, existem os capacitores de filtro entre Vout e terra, o indutor L1 e o divisor resistivo entre Vout e FB que trata com a reativação do gerador PWM via amplificador de erro interno, por meio da estabilização da tensão de saída no valor desejado. Ao modificar a relação entre R7 e R8, é, portanto, possível modificar a tensão fornecida pelo pino Vout, mas isso não é do nosso interesse.

Etapa 6: Configurações e comandos para Save My Child

Configurações e comandos para Save My Child
Configurações e comandos para Save My Child
Configurações e comandos para Save My Child
Configurações e comandos para Save My Child

Assim que a instalação for concluída, você terá que configurar a unidade; tal operação é realizada via SMS, portanto, insira um SIM operacional no suporte SIM do módulo 7100-FT1308M e anote o número de telefone correspondente. Depois disso, dê todos os comandos necessários por meio de um telefone celular: eles são mostrados na Tabela 1.

Entre as primeiras coisas a fazer está a configuração dos números de telefone na lista daqueles para que o sistema irá ligar ou para os quais serão enviadas as mensagens SMS de alarme, no caso de criança na cadeirinha que porventura tenha estado “esquecido abandonado”. Para facilitar o procedimento, visto que o sistema está protegido por senha quanto a esta operação, foi projetado um modo Easy Setup: na primeira vez que for iniciado, o sistema salvará o primeiro número de telefone que ligar para ele, e considera-o como o primeiro número da lista. Este número poderá realizar modificações, mesmo sem senha; de qualquer forma os comandos podem ser enviados por qualquer telefone, desde que o SMS correspondente inclua a senha, e ainda que - para acelerar alguns comandos - tenhamos permitido que os enviados pelos números de telefone da lista fossem dados sem necessidade de senhas. Quanto aos comandos de adição e exclusão de números de telefone da lista, a solicitação de senha faz com que a lista seja administrada apenas por pessoa habilitada para tal. Passemos agora à descrição dos comandos e à sintaxe correspondente, com a premissa de que o circuito também aceita mensagens SMS contendo mais de um comando; nesse caso, os comandos devem ser separados do seguinte, por meio de uma vírgula. O primeiro comando examinado é o que altera a senha, consiste em um SMS do tipo PWDxxxxx; pwd, no qual a nova senha (composta por cinco números) deve ser escrita no lugar de xxxxx, enquanto pwd indica a senha atual. A senha padrão é 12345.

A memorização de um dos oito números habilitados para enviar comandos de configuração é realizada através do envio de um SMS, cujo texto contém o texto NUMx + nnnnnnnnnnnnn; pwd, no qual a posição (cujo número está sendo memorizado) deve ser escrita no lugar de ox, o número do telefone vai no lugar do ns, enquanto pwd é a senha atual. Tudo deve ser escrito sem espaços. Nos telefones celulares são permitidos números com 19 algarismos, enquanto o + substitui 00 como prefixo da ligação internacional. Por exemplo, para adicionar o número de telefone 00398911512 na terceira posição, você terá que enviar um comando como este: NUM3 + 398911512; pwd. A senha só é necessária quando você tenta salvar um número de telefone em uma posição que já foi ocupada por outro; por outro lado, se for necessário adicionar um número na posição vazia, basta enviar um SMS com o seguinte texto: NUMx + nnnnnnnnnnnnn. A exclusão de um número é executada por meio de um SMS contendo o texto NUMx; pwd; no lugar de x você deverá escrever a posição do número de telefone a ser apagado, enquanto pwd é a senha usual. Por exemplo, para excluir o quarto número de telefone da lista memorizada, uma mensagem contendo o texto NUM4; pwd é necessária. Para solicitar a lista dos números de telefone memorizados no circuito, deverá enviar um SMS contendo o seguinte texto: NUM?; Pwd. A diretoria atende ao número de telefone de onde vem o interrogatório. É possível saber a qualidade do sinal GSM enviando o QUAL? comando; o sistema responderá com um SMS contendo a situação atual. A mensagem será enviada para o telefone que enviou o comando. Vamos passar agora para o estado de entrada e mensagens de configuração: LIV? permite saber o estado das entradas; IN2 pode operar tanto em nível de tensão (é definido via LIV2: b, que dispara o alarme quando a entrada está aberta) e em variação um (é definido via LIV: v). Quanto às entradas, é possível definir um tempo de inibição, via comando INI1: mm (os minutos de interdição vão no lugar de mm) para IN1 e via INI2: mm para IN2; a inibição é necessária para evitar o envio de avisos contínuos se a entrada - no modo nível - permanecer aberta. Para definir quais os números da lista que devem receber chamadas, deve enviar a mensagem VOCxxxxxxxx: ON; pwd, com as mesmas regras utilizadas para a gestão dos números de telefone para os quais se deseja enviar SMS. A mensagem de resposta é muito semelhante: “Número memorizado: Posx V + nnnnnnnnnnnn, Posy V + nnnnnnnnnnn.” O S de SMS foi substituído pelo V de voz. Mesmo neste caso, existem dois comandos diferentes para a desativação: SMSxxxxxxxx: OFF; pwd desativa o envio de mensagens e VOCxxxxxxxx: OFF; pwd desativa a possibilidade de fazer chamadas. Os xs representam as posições dos números que não devem receber os avisos de alarme. Precisamos esclarecer algo a respeito do comando para a configuração dos números de telefone para ligar ou para os quais enviar as mensagens SMS de alarme: conforme as configurações padrão do firmware e após cada reset total, o sistema irá direcionar as chamadas e os SMS mensagens, para todos os números memorizados. Consequentemente, para omitir alguns deles, é necessário enviar os comandos de desativação: SMSxxxxxxxx: OFF; pwd ou VOCxxxxxxxx: OFF; pwd, e indicar as posições a omitir. O sistema envia um SMS para o número de telefone que ocupa o primeiro lugar na lista, sempre que é ligado novamente. Tal função pode ser desabilitada / habilitada por meio dos comandos AVV0 (desativar) e AVV1 (ativar); o texto padrão é INICIALIZAÇÃO DO SISTEMA. Passemos agora aos comandos que permitem memorizar ou sobrescrever as mensagens SMS a enviar: a sintaxe é como a de TINn: xxxxxxxxx, em que n é o número da entrada a que se refere a mensagem, enquanto os xs correspondem à mensagem de texto, que não deve exceder o comprimento de 100 caracteres. Uma configuração imprescindível é a do tempo de observação IN1, que se realiza através do comando OSS1: ss, em que o tempo (variando entre 0 e 59 segundos) vai no lugar de ss: indica ao circuito quanto tempo que os botões devem permanecer pressionados desde o momento em que foi detectado que o carro parou e antes da geração do alarme. A demora é fundamental, para evitar que surja um alarme falso quando você parar por um curto período de tempo. Sob este ponto de vista o firmware, quando o circuito é alimentado (quando o painel é ligado), aguarda um tempo que seja o dobro do definido, a fim de permitir ao motorista realizar operações como fechar o portão da garagem ou fixação dos cintos de segurança, etc. Também pode ser definido um tempo de observação para IN2, com os mesmos procedimentos, mediante o comando OSS2: ss; também é possível solicitar os horários atualmente configurados via SMS (comando OSS?). Vamos concluir esta visão geral dos comandos com aquele que retorna as configurações padrão: RES; pwd. A mensagem de resposta é “Reiniciar”. O restante dos comandos foi descrito na Tabela 1.

Etapa 7: Lista de componentes

C1, C8, C10: capacitor de cerâmica de 1 µF (0805)

C2, C6, C7, C9: capacitor de cerâmica 100 nF (0805)

C3, C4: 470 µF 6,3 VL capacitor de tântalo (D)

C5: 4, 7 µF 6,3 VL capacitor de tântalo (A)

R1, R2, R4: 10 kohm (0805)

R3, R12: 1 kohm (0805)

R5: 470 ohm (0805) R6: 3,3 kohm (0805)

R7: 470 kohm (0805) 1%

R8: 150 kohm (0805) 1%

R9 ÷ R11: 470 ohm (0805)

R13 ÷ R16: 10 kohm (0805)

R17: -

U1: PIC18F46K20-I / PT (MF1361)

U2: MCP73831T

U3: MCP1640BT-I / CHY

U4: cód. Quadro breakout. 2846-MMA8452

U5: cód. Quadro breakout. 7300-MMA7361 (não utilizado)

P1: Microinterruptor 90 °

P2: -

LD1: LED amarelo de 3 mm

LD2, LD4: LEDs verdes de 3 mm

LD5: - LD3: LED vermelho de 3 mm

D1 ÷ D3: MBRA140T3G

D4: MMSD4148

DZ1: diodo Zener 2.7V 500mW

L1: indutor enrolado em fio 4,7 µH 770mA

BUZ1: Campainha sem eletrônica

Strip-splitter feminino de 8 vias

Strip-splitter feminino de 9 vias

6 vias macho strip-splitter

2mm pitch 2 × 10 conector fêmea

Terminal bidirecional de 2,54 (3 unidades)

Conector JST de 2 vias de 2 mm de passo para PCBs

Bateria LiPo 500mA com conector JST de 2 mm

Placa de circuito impresso S1361 (85 × 51 mm)

Etapa 8: Conclusão

Conclusão
Conclusão

O projeto que propomos aqui é uma plataforma aberta; é possível utilizá-lo para criar muitas aplicações, entre as quais estão: o alarme para evitar o esquecimento de crianças no carro, o sistema de atendimento remoto e o alarme remoto que mencionamos anteriormente. Mais em geral, trata-se de um sistema capaz de gerar avisos e notificações via telefone, quando ocorrem determinados eventos - que não são necessariamente emergências - e, portanto, também servem para fins de monitoramento remoto.

Recomendado: