Menu English Ukrainian Russo INÍCIO

Biblioteca técnica gratuita para amadores e profissionais Biblioteca técnica gratuita


ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA
Biblioteca gratuita / Esquemas de dispositivos radioeletrônicos e elétricos

USB-anunciador da hora de tomar medicamentos. Enciclopédia de rádio eletrônica e engenharia elétrica

Biblioteca técnica gratuita

Enciclopédia de eletrônica de rádio e engenharia elétrica / Medicina

Comentários do artigo Comentários do artigo

Os idosos que são forçados a tomar medicamentos regularmente muitas vezes têm dificuldade em manter o seu próprio regime. Mas às vezes não só a saúde, mas também a própria vida depende da implementação oportuna das instruções do médico. Além dos métodos organizacionais usuais para resolver o problema, também podem ser utilizados meios técnicos. Entre eles está o alarme proposto, que envia sinais todos os dias de acordo com o horário nele inserido, lembrando da necessidade de tomar medicamentos.

Compreensivelmente, muitos idosos têm dificuldade em trabalhar com produtos de software modernos. Quanto aos dispositivos de alarme, a maioria deles são, na verdade, despertadores um tanto modernizados, incapazes de funcionar dentro de um horário mesmo com dois ou três tipos de medicamentos e ergonomicamente inadequados para uso por idosos.

A visão geral do alarme desenvolvida pelo autor, que possui oito canais independentes (de acordo com o número de células para medicamentos), cada um dos quais pode ser configurado para enviar até quatro sinais de lembrete por dia (um total de 32 sinais podem ser enviado), é mostrado na Fig. 1. Para inserir ou ajustar um horário de medicação, este dispositivo é conectado através de uma interface USB a um computador no qual um programa especial é executado. Quando a programação é carregada, o alarme funciona de forma autônoma.

Temporizador de Medicação USB
Arroz. 1. Visão geral do dispositivo de sinalização

Tanto o hardware como o software do alarme são concebidos tendo em conta a sua utilização por pessoas idosas, incluindo pessoas com deficiência visual. O manuseio do dispositivo é extremamente simplificado e o programa utiliza soluções algorítmicas e de interface que aumentam significativamente a facilidade de uso. Além disso, foram tomadas medidas de segurança eléctrica na concepção do alarme.

O alarme é alimentado por uma rede de ~230 V e, em caso de falha de energia, ele muda automaticamente para a bateria recarregável integrada. A energia consumida da rede não ultrapassa 5 W, o tempo de operação de uma bateria com capacidade de 800 mAh chega a três dias. Isso garante a segurança da programação mesmo durante uma queda de energia de longo prazo.

O circuito de alarme é mostrado na Fig. 2. O princípio de seu funcionamento é simples: o programa do microcontrolador compara o valor do tempo atual a cada segundo com o tempo do sinal especificado. Caso haja correspondência, o aparelho emite um sinal sonoro, que é uma das diversas melodias, selecionáveis ​​à vontade, e acende o indicador luminoso da célula correspondente ao medicamento. Neste mesmo momento, o horário de envio deste sinal é transferido para o dia seguinte. Para desligar os sinais sonoros e luminosos, basta pressionar o botão de confirmação SB1.

Temporizador de Medicação USB
Arroz. 2. Circuito do dispositivo de sinalização (clique para ampliar)

O microcontrolador ATmega8A-PU (DD1) utilizado no dispositivo de alarme é capaz de operar com tensão de alimentação reduzida para 2,7 V. A frequência de clock do microcontrolador de 12 MHz é definida pelo ressonador de quartzo ZQ1. A unidade de alarme sonoro é montada em um microcircuito do sintetizador musical UMS8-08 (DD2). O microcontrolador liga o sinal de áudio enviando um nível alto para a entrada S do chip sintetizador. O sinal soa continuamente até que o botão SB1 seja pressionado. A fonte sonora é o emissor piezo HA1. O volume é controlado pelo resistor variável R16. As melodias são classificadas pressionando o botão SB2 durante a reprodução. Informações mais detalhadas sobre os microcircuitos da série UMS são fornecidas em [1].

O dispositivo de alarme possui uma fonte transformadora de tensão estabilizada de 5 V, não mostrada no diagrama, montada conforme circuito tradicional em um estabilizador integrado 7805. Em caso de perda de tensão na rede de alimentação, o dispositivo passa para alimentação da bateria GB1. A corrente média consumida não excede 5 mA. Se houver tensão na rede, a bateria é recarregada continuamente graças ao circuito VD5, VD6, R18. Porém, é recomendável desligá-lo uma vez por mês e realizar um ciclo completo de descarga para tensão de 3 V e carregamento com carregador externo.

O microcircuito do sintetizador musical UMS8-08 pode ser substituído por outro das séries UMS7 e UMS8. Eles diferem apenas no conjunto de melodias. É permitido substituir o transistor KT3102B por um KT3102G, KT3102E ou BC547 importado, bem como por um KT315B ou KT315G, se a resistência do resistor R17 for reduzida para 51 kOhm. Em vez de diodos KD522B, KD521A, KD521B, KD522A, 1N4148 e similares são adequados. Todos os resistores fixos são C2-33N ou MLT. Capacitores de óxido C3 e C6 - K50-83, K50-16 ou importados. Os capacitores restantes são cerâmicos K10-73-1b, K10-17v. Quaisquer LEDs são adequados em caixas com diâmetro de 5 mm da cor de brilho desejada. Na versão do autor, um LED verde é instalado como HL1, para não incomodar desnecessariamente o paciente, os demais são vermelhos. Conector XS1 - tomada USB-BF.

A bateria GB1 é composta por três baterias Ni-Mh tamanho AA com capacidade de 80 mAh. Você pode usar baterias de outras capacidades, mas é aconselhável selecionar um resistor R18 com tal resistência que a corrente de carga inicial de uma bateria descarregada a uma tensão de 3 V seja numericamente igual a 0,1 de sua capacidade nominal.

O alarme é montado em uma placa de montagem perfurada padrão medindo 70x50 mm com passo de perfuração de 2,54 mm. Método de instalação: articulado com fixação adesiva hot-melt. Devido à simplicidade do circuito, não foi utilizada fiação impressa. Todos os elementos do dispositivo, exceto os LEDs HL2-HL9, são colocados em uma caixa de distribuição elétrica plástica de design IP67 com dimensões de 80x80x40 mm.

O conector XS1 está localizado em uma pequena placa de circuito impresso, em frente a ele é feito um furo de tamanho adequado na parede da caixa. Os elementos HA1, HL1, GB1, R16, SB1 são fixados na tampa da caixa com cola quente. O botão SB2, que não está relacionado aos controles operacionais, está localizado na placa de circuito. Na Fig. A Figura 3 mostra a posição relativa da placa de circuito e dos elementos remotos dentro da caixa de distribuição.

Temporizador de Medicação USB
Arroz. 3. A posição relativa da placa de circuito e dos elementos remotos dentro da caixa de junção

Os medicamentos são colocados em um cassete padrão para componentes de rádio, composto por oito células com gavetas. Cada célula tem dimensões de 112x55x120 mm. As dimensões gerais do porta-cassete são 224x110x120 mm. Como as células não são lacradas, mas são bastante espaçosas, os medicamentos devem ser armazenados em suas embalagens originais. O porta-cassete também oferece proteção contra luz, necessária para armazenar certos tipos de medicamentos. Os painéis frontais das células possuem ranhuras para placas com nomes de medicamentos.

A caixa de distribuição é fixada na parede lateral esquerda da caixa do cassete com parafusos e porcas M3. Os LEDs HL2-HL9 estão localizados um de cada vez no painel frontal de cada célula e são conectados ao dispositivo por fios flexíveis colocados em tubos de PVC dentro das células e agrupados na parte traseira da caixa do cassete. A reserva de comprimento de cada par de fios que vai para os LEDs deve garantir a extensão livre da célula até 75...80% do estado totalmente aberto.

O arquivo USB_HID_Note.hex anexado ao artigo deve ser carregado na memória de programa do microcontrolador. A configuração do microcontrolador deve corresponder à mostrada na tabela. 1. Um dispositivo montado corretamente não requer instalação. O brilho desejado dos LEDs pode ser definido alterando sua corrente entre 5...10 mA usando uma seleção de resistores R7-R15.

Tabela 1

Descargas Состояние
CKOPT 0
CKSEL [3: 0] 1111
SUT [1: 0] 10
BODEN 1
W.D.E. 1
RSTDISBL 1

Do ponto de vista da especificação USB, o dispositivo pertence à classe HID [2] com uma implementação de software da interface USB baseada no conhecido driver AVR V-USB [3]. Deixe-me lembrar que neste caso é necessário mudar a interface para o modo USB 1.1 de baixa velocidade, o que, de acordo com a especificação, é feito usando um resistor conectado entre as linhas de interface D e Vônibus (neste caso é o resistor R4).

Foi utilizada uma das opções padrão para conectar o microcontrolador com sua fonte de alimentação em tensão reduzida através dos diodos VD1 e VD2. A utilização desses diodos é desejável apesar da presença de bateria, pois elimina a influência de sua tensão na coordenação dos níveis lógicos do barramento USB e do microcontrolador.

O microcontrolador opera a uma frequência de clock de 12 MHz, uma das faixas permitidas para V-USB. Seu programa é escrito em C no ambiente de desenvolvimento AVR Studio 4. O texto do programa (arquivo main.c) contém comentários detalhados. Foram utilizados o driver release vusb-20100715 [4] e o compilador WinAVR-20100110 [5].

A biblioteca V-USB está bem documentada, portanto apenas pontos diretamente relacionados à implementação do projeto ou relacionados às suas funcionalidades serão considerados aqui. O processo passo a passo de criação de um programa baseado na biblioteca V-USB é descrito detalhadamente em [6].

Pontos-chave a serem observados ao criar um programa no AVR Studio:

- todos os arquivos da pasta usbdrv do arquivo V-USB devem ser copiados para a pasta do projeto;

- os arquivos usbdrv.c, usbdrvasm.S, oddebug.c devem ser adicionados ao projeto AVR Studio (através do item do menu de contexto "Adicionar arquivo(s) fonte(s) existente(s)..." na árvore do projeto);

- nas configurações do projeto (Projetos → Opções de configuração → Geral → Frequência, Hz), a frequência do clock do microcontrolador deve ser definida como 12000000 Hz. Com base neste valor, o AVR Studio determinará ao compilador a constante F_CPU que o V-USB utiliza.

A configuração V-USB necessária está contida no arquivo usbconfig.h, que também deve estar localizado na pasta do projeto. O arquivo de configuração padrão deve ser substituído pelo arquivo anexado ao artigo. Na tabela 2 lista as constantes mais importantes definidas neste arquivo. A possibilidade de livre desenvolvimento de dispositivos USB HID está associada a um ponto importante - deve-se utilizar pares de identificadores VID/PID conforme documento USB-IDs-for-free.txt da biblioteca V-USB [3].

Tabela 2

Constante Valor Conteúdo
USB CFG IOPORTNAME D Porta de conexão de ônibus
USB CFG D MENOS BIT 4 O bit da porta à qual a linha D está conectada
USBCFGDPLUSBIT 2 Bit da porta à qual a linha D+ está conectada (deve ser conectada à entrada de interrupção INTO)
CLASSE DE INTERFACE USB CFG 3 (ESCONDIDO) Classe do dispositivo
USB CFG MAX POTÊNCIA DE ÔNIBUS 100 Consumo máximo de corrente do barramento USB. mA
COMPRIMENTO DO RELATÓRIO USB CFG HID 22 * Comprimento do descritor de relatório HID
ID DO VENDEDOR USB CFG OxCO, 0x16 ID do fabricante do dispositivo
ID DO DISPOSITIVO USB CFG 0xDF, 05xXNUMX ID do produto

*) Este valor deve ser igual ao tamanho da matriz de caracteres PROGMEM usbHidReportDescriptor no programa.

O programa utiliza o formato de hora UNIX, onde o valor da hora é o número de segundos que se passaram desde 00:00:00 UTC de 01.01.1970/XNUMX/XNUMX. O alarme não exibe a hora visualmente, o que evita complicações desnecessárias do circuito e algoritmo do seu funcionamento. A variável pdata é usada para transmitir carimbos de data/hora - valores de tempo UNIX de quatro bytes.

O número máximo de sinais enviados por dia é especificado no programa pela constante NUM_CALLS. Para armazenar valores de tempo, uma matriz u_time de tamanho NUM_CALLS+1 é usada. Neste caso, o elemento da matriz u_time[NUM_CALLS] contém a hora atual e o restante - a hora em que os sinais foram enviados. Cada canal (célula do cassete de medicamento) possui quatro elementos de matriz alocados. Por exemplo, a primeira célula contém elementos de u_time[0] a u_time[3], a segunda - de u_time[4] a u_time[7], etc. Se o valor de um elemento da matriz for zero, o sinal correspondente é considerado inativo. Esta abordagem permite simplificar o algoritmo de transmissão e processamento de informações.

O descritor que descreve a estrutura do pacote e os procedimentos de transferência de informações usbFunctionWrite e usbFunctionRead são criados com base em soluções padrão. As funções básicas são descritas em detalhes no arquivo de cabeçalho usbdrv.h de [3]. Os procedimentos são complementados com condições de verificação do número de canais processados. O número de elementos do array recebidos pelo dispositivo do computador é um a mais que o enviado, pois o computador sempre transmite a hora atual para sincronização.

No início do procedimento principal main(), os registros de E/S são configurados, o fator de divisão da frequência do clock é definido como 256 e o ​​registro do temporizador TCNT1 é inicialmente carregado com o número necessário para formar um intervalo de tempo de 1 segundo. As interrupções de estouro do temporizador estão desabilitadas por padrão.

Depois disso, o programa entra no loop principal. Se não houver conexão USB, as interrupções serão habilitadas globalmente e no overflow do timer 1. No loop for, cada elemento do array u_time[i] com valor diferente de zero será verificado para ver se é igual ao atual tempo. Caso seja detectado empate, o buzzer e o LED da célula correspondente serão acesos, e o tempo de resposta deste canal será aumentado em 86400 s (por dia).

Em seguida, o nível na entrada PB0 é verificado. Se estiver baixo (o botão SB1 é pressionado para confirmar a recepção do sinal), todas as saídas serão configuradas para níveis lógicos baixos, o que desligará os sinais.

Paralelamente a isso, a cada segundo quando o temporizador 1 transborda, o procedimento de tratamento de interrupções TIMER1_OVF_vect é iniciado. Ele restaura o preset do contador TCNT1, incrementa o valor do tempo atual no elemento da matriz u_time[NUM_CALLS] e altera o estado da saída PB1 (o LED HL1 conectado a ela pisca com um período de 2 s).

Quando um dispositivo está conectado ao USB, a entrada PC5 recebe um nível alto da linha Vbus do barramento USB. Neste caso, a condição if (PINC & (1<<5)) desativa as interrupções de overflow do temporizador 1 e ativa o driver V-USB. O LED HL1 acende e acende continuamente.

Após ativar o driver V-USB, é possível trocar informações via USB. O loop chama a função usbPoll(), que mantém a interface ativa na ausência de troca de informações. O processo de transferência de informações é descrito com mais detalhes na seção do artigo referente ao programa de computador.

Vamos considerar o programa de computador para inserir uma programação no dispositivo de sinalização USB_HID_Note. Como pode ser visto em sua janela principal (Fig. 4), atenção especial durante o processo de desenvolvimento foi dada à otimização da interface para garantir facilidade de uso para usuários mais antigos. O programa é executado no Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2003, Windows Server 2008. Seu desempenho no Windows 10 e Windows Server 2012 não foi testado, mas há motivos para supor que funcionará normalmente.

Temporizador de Medicação USB
Arroz. 4. A janela principal do programa de computador para inserir a programação no dispositivo de sinalização

Após iniciar o programa com o dispositivo de alarme conectado ao computador, pressione o botão na tela "Conectar". Uma mensagem será exibida indicando o resultado da tentativa de conexão. Se tiver sucesso, os botões na tela ficarão disponíveis "ler tudo" e "Salvar".

Para inserir uma programação, basta selecionar o número da célula na primeira lista suspensa (seletor) e o número do sinal para esta célula na segunda lista. Em seguida, defina o tempo de sinal desejado, clique na bandeira à esquerda do número para permitir ou desabilitar a combinação selecionada de célula e sinal (a cor da bandeira muda) e escreva o nome do medicamento na única linha disponível. O nome do medicamento está vinculado ao número do celular, portanto o conteúdo da linha muda somente quando o primeiro seletor é trocado. O sinalizador de habilitação refere-se à combinação selecionada de números de célula e sinal.

Portanto, preencha todas as células necessárias. O estado padrão das células é desativado; não há necessidade de ativar todas elas. Se necessário, as configurações da célula podem ser alteradas. Os valores inseridos são salvos dinamicamente.

Ao pressionar o botão na tela A programação é transferida para o dispositivo de alarme e gravada no arquivo de configuração. Uma mensagem será exibida indicando o resultado da transferência. A programação armazenada no dispositivo de alarme pode ser lida pressionando o botão na tela . Depois disso, você pode visualizá-lo na janela do programa, editá-lo se necessário e carregá-lo novamente no dispositivo de alarme. Pressionando um botão na tela apaga o nome do medicamento na janela correspondente, dando a oportunidade de escrever outro.

Uma característica importante do alarme é que ele interrompe o cronômetro atual quando conectado ao USB. No momento em que o programa do computador é fechado, a programação e a hora atual são automaticamente registradas no alarme (sincronização). Portanto, após fechar o programa, você deve desconectar o cabo USB do dispositivo de alarme o mais rápido possível para minimizar a diferença entre a hora verdadeira e a do “sistema”.

No entanto, mesmo uma diferença de vários minutos no caso em consideração não é crítica, pelo que não foram tomadas medidas para eliminar esta característica. Se, após concluir o programa USB_HID_Note, o dispositivo de alarme permanecer acidentalmente conectado ao computador por muito tempo, basta iniciar este programa novamente e pressionar o botão na tela em seguida e ali mesmo ou simplesmente feche o programa. O tempo correto do alarme será restaurado, após o que o cabo USB poderá ser desconectado.

Os nomes dos medicamentos são armazenados no arquivo de configuração do programa e exibidos na tela do computador quando o dispositivo de alarme é conectado. Além de inserir a programação no programa, você deve certificar-se de que cada célula do cassete esteja equipada com uma etiqueta com a inscrição apropriada.

O programa USB_HID_Note é escrito em C++ no ambiente de programação Qt 5.3.2. A escolha deste ambiente se deve à sua natureza livre, plataforma cruzada, amplas capacidades e ferramentas integradas exclusivas para criação e depuração de aplicações de qualquer nível, aliadas à flexibilidade das soluções de interface. O tipo de implementação do aplicativo é Qt Widget. O texto fonte do widget é o arquivo widget.cpp. Todo o projeto é compilado no arquivo USB_HID_Note_ pro.zip, anexado ao artigo.

Uma característica especial do programa é o acesso direto às funções das bibliotecas SetupAPI e HID. Portanto, o computador no qual ocorre a compilação deve possuir os arquivos setupapi.lib e hid.lib correspondentes à versão do seu sistema operacional. Esses arquivos geralmente estão incluídos no pacote WinDDK. Para evitar a necessidade de instalação completa de todo o pacote WinDDK, os arquivos de diversas versões do WinDDK 7600 foram coletados pelo autor em uma pasta winddk_libs, que está disponível no servidor FTP da redação. A compilação e a depuração podem ser realizadas no Windows 16385.1, Windows Server 7 R2008, Windows Vista SP2, Windows Server 1 SP2003, Windows XP SP1 ou posterior. O arquivo .pro deve indicar explicitamente os caminhos completos para as bibliotecas, por exemplo, como na tabela. 3.

Tabela 3

Temporizador de Medicação USB

O arquivo executável compilado do programa junto com os arquivos de configuração (.cfg) e estilo (.qss) estão localizados na pasta USB_HID_Note anexada ao artigo. As bibliotecas dinâmicas Qt necessárias (arquivos .dll) também estão localizadas lá. Como você sabe, este requisito é obrigatório para qualquer aplicação desenvolvida em Qt. A lista dessas bibliotecas para o caso em consideração é apresentada na Tabela. 4.

Tabela 4

Temporizador de Medicação USB

Todas as bibliotecas são copiadas da pasta ..ToolsQtCreator in, com exceção das duas últimas, que são copiadas de ..5.3mingw482_32pluginsplatforms e colocadas na subpasta correspondente da pasta de trabalho do programa. Você também pode copiá-los do computador no qual o programa foi compilado para a pasta de trabalho ou de sistema do programa (tamanho do arquivo - 126 MB, descompactado - 400 MB).

O algoritmo do programa é baseado em soluções padrão fornecidas em [7]. As características de implementação estão associadas, em primeiro lugar, ao uso de diferentes linguagens de programação (em contraste com as descritas na fonte Delphi e C#). Para usar as funções HID API e SetupAPI, você deve incluir os arquivos de cabeçalho hidsdi.h e setupapi.h, respectivamente.

O manipulador de cliques de botão na tela é o procedimento on_Connect Button_clicked(). Primeiro, a função do driver HidD_GetHidGuid determina o GUID associado ao HID. As funções SetupAPI são então chamadas para criar o enumerador de interface e obter o nome HID do dispositivo. Isso é descrito em detalhes em [7] na pág. 333. Neste caso, as funções de determinação do nome do produto ou do seu número de série não foram deliberadamente utilizadas. Apenas o par VID/PID é verificado. Isso é feito para evitar a possibilidade de uso comercial do dispositivo. Os valores VID/PID são especificados pela constante Dev_VID_PID no arquivo global_vars.h.

Assim que o dispositivo for detectado, o controle será transferido de volta para o driver HID. A função CreateFile solicita seu identificador, HidD_GetPreparsedData retorna um ponteiro para um buffer contendo informações sobre os parâmetros do dispositivo e HidP_GetCaps retorna uma estrutura com os valores desses parâmetros.

Ao contrário do método comumente usado com o tamanho do relatório atribuído diretamente no programa, aqui seu valor é determinado pelo elemento de estrutura Caps.FeatureReportByteLength obtido do descritor. Isso permite criar uma solução mais universal que não requer alterações no programa e sua recompilação quando o tamanho do relatório no descritor de dispositivo muda.

A troca real de informações ocorre por meio das funções HidD_Get Feature (leitura) e HidD_SetFeature (gravação), chamadas nos procedimentos correspondentes data_read() e data_transfer() em ciclos de acordo com o número de células. Como já observado, o número de elementos do array recebidos pelo dispositivo de sinalização é um a mais que os enviados, pois para sincronização o computador sempre transmite a hora atual.

Um comentário detalhado descrevendo a finalidade dos procedimentos mais importantes está disponível no texto do programa. O objetivo dos procedimentos restantes é padrão ou intuitivo, por exemplo, on_comboBox_ currentIndexChanged() - manipulador para o evento de alteração do índice comboBox. As linhas comentadas do qDebug e as que as acompanham destinavam-se apenas à depuração do programa. Se você precisar depurar e visualizar o progresso da troca de informações na janela integrada do depurador Qt, todas essas instruções devem ser descomentadas.

O programa armazena a configuração geral no arquivo settings.cfg. Está em formato de texto normal e pode ser editado manualmente, se necessário. Sua seção [General] contém o número de células NUM_BOX=8 e o número de sinais por célula NUM_BOX_CALL=4, na seção [view] a posição da janela do programa na tela é especificada em números inteiros. A seção [nomes] contém os nomes dos medicamentos por célula, a seção [usado] - sinalizadores de atividade da célula, a seção [tempos] - valores de tempo de resposta no formato de carimbo de data / hora UNIX. Estes últimos são principalmente de natureza informativa, uma vez que os valores operacionais estão localizados na memória do microcontrolador detector. Ao editar manualmente o arquivo, observe que os parâmetros de nome estão no formato de código-fonte C/C++/Java (por exemplo, u3256).

E para finalizar, algumas recomendações para quem deseja alterar de forma independente a quantidade de sinais enviados pelo dispositivo. Se o número de células for fixo, é relativamente fácil alterar o número de sinais por célula. No programa do microcontrolador, para isso é necessário, primeiramente, alterar a constante NUM_CALLS. Seu valor deve ser igual ao produto do número de células pelo número máximo de sinais por célula. No caso considerado no artigo, é igual a 8x4=32. Em segundo lugar, no procedimento switch... case..., o número de instruções case em cada linha deve ser igual ao número de sinais por célula. Neste caso, os argumentos das instruções case devem formar uma sequência contínua de 0 a NUM_CALLS-1. O corpo da função e a instrução break permanecem inalterados. O programa deve então ser salvo e recompilado.

Não são necessários ajustes no programa de computador. Basta alterar o valor da constante NUM_BOX_CALL (o número de sinais por célula) no arquivo settings.cfg. Deve corresponder estritamente ao que está incluído no programa do microcontrolador.

Os programas para o microcontrolador e o computador podem ser baixados em ftp://ftp.radio.ru/pub/2017/01/signal.zip.

Literatura

  1. Drinevsky V., Sirotkina G. Sintetizadores musicais da série UMS. - Rádio, 1998, nº 10, p. 85.
  2. Barramento serial universal. Informações HID. - URL: usb.org/developers/hidpage/.
  3. V USB. - URL: obdev.at/products/vusb/index.html.
  4. Driver archivevusb-20100715. - URL: obdev.at/downloads/vusb/vusb-20100715.tar.gz.
  5. Compilador WinAVR-20100110. - URL: sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-201 0 0110-install.exe/download.
  6. USB para AVR. Parte 2. Classe HID em V-USB. - URL: we.easyelectronics.ru/electro-and-pc/usb-dlyaavr-chast-2-hid-class-na-v-usb.html.
  7. Agurov P. Prática de programação USB. - São Petersburgo: "BHV-Petersburgo", 2006.

Autor: D. Pankratiev

Veja outros artigos seção Medicina.

Leia e escreva útil comentários sobre este artigo.

<< Voltar

Últimas notícias de ciência e tecnologia, nova eletrônica:

Couro artificial para emulação de toque 15.04.2024

Em um mundo tecnológico moderno, onde a distância está se tornando cada vez mais comum, é importante manter a conexão e uma sensação de proximidade. Os recentes desenvolvimentos em pele artificial por cientistas alemães da Universidade de Saarland representam uma nova era nas interações virtuais. Pesquisadores alemães da Universidade de Saarland desenvolveram filmes ultrafinos que podem transmitir a sensação do toque à distância. Esta tecnologia de ponta oferece novas oportunidades de comunicação virtual, especialmente para aqueles que estão longe de seus entes queridos. As películas ultrafinas desenvolvidas pelos investigadores, com apenas 50 micrómetros de espessura, podem ser integradas em têxteis e usadas como uma segunda pele. Esses filmes atuam como sensores que reconhecem sinais táteis da mãe ou do pai e como atuadores que transmitem esses movimentos ao bebê. O toque dos pais no tecido ativa sensores que reagem à pressão e deformam o filme ultrafino. Esse ... >>

Areia para gatos Petgugu Global 15.04.2024

Cuidar de animais de estimação muitas vezes pode ser um desafio, especialmente quando se trata de manter a casa limpa. Foi apresentada uma nova solução interessante da startup Petgugu Global, que vai facilitar a vida dos donos de gatos e ajudá-los a manter a sua casa perfeitamente limpa e arrumada. A startup Petgugu Global revelou um banheiro exclusivo para gatos que pode liberar fezes automaticamente, mantendo sua casa limpa e fresca. Este dispositivo inovador está equipado com vários sensores inteligentes que monitoram a atividade higiênica do seu animal de estimação e são ativados para limpeza automática após o uso. O dispositivo se conecta à rede de esgoto e garante a remoção eficiente dos resíduos sem a necessidade de intervenção do proprietário. Além disso, o vaso sanitário tem uma grande capacidade de armazenamento lavável, tornando-o ideal para famílias com vários gatos. A tigela de areia para gatos Petgugu foi projetada para uso com areias solúveis em água e oferece uma variedade de recursos adicionais ... >>

A atratividade de homens atenciosos 14.04.2024

O estereótipo de que as mulheres preferem “bad boys” já é difundido há muito tempo. No entanto, pesquisas recentes conduzidas por cientistas britânicos da Universidade Monash oferecem uma nova perspectiva sobre esta questão. Eles observaram como as mulheres respondiam à responsabilidade emocional e à disposição dos homens em ajudar os outros. As descobertas do estudo podem mudar a nossa compreensão sobre o que torna os homens atraentes para as mulheres. Um estudo conduzido por cientistas da Universidade Monash leva a novas descobertas sobre a atratividade dos homens para as mulheres. Na experiência, foram mostradas às mulheres fotografias de homens com breves histórias sobre o seu comportamento em diversas situações, incluindo a sua reação ao encontro com um sem-abrigo. Alguns dos homens ignoraram o sem-abrigo, enquanto outros o ajudaram, como comprar-lhe comida. Um estudo descobriu que os homens que demonstraram empatia e gentileza eram mais atraentes para as mulheres do que os homens que demonstraram empatia e gentileza. ... >>

Notícias aleatórias do Arquivo

Equipamento de comutação de fibra óptica de ultra alta densidade 05.06.2014

A Siemon lançou o LightStack, um sistema de fibra óptica "plug and play" de ultra-alta densidade. Este sistema completo de fibra óptica oferece alto desempenho, densidade e alta disponibilidade em um chassi de última geração. Ele foi projetado para oferecer suporte aos mais recentes ambientes de rede de data center e área de armazenamento e fazer a transição rápida e sem problemas para 40 Gb e 100 Gb.

O LightStack possui um chassi patenteado que pode acomodar 144 fibras LC ou 864 fibras MTP em uma única plataforma. Suas rotas de cabos horizontais combinam jumpers tradicionais e de tubo único e apresentam organizadores flip-out fáceis de abrir para acesso total. Os pontos de fixação giratórios na parte traseira do gabinete mantêm o raio de curvatura adequado.

A bandeja inferior traseira desliza para facilitar o acesso às conexões quando os gabinetes são empilhados um em cima do outro. Quando estendida, a bandeja traseira serve como uma barreira de cabos entre os gabinetes empilhados. Os módulos "plug and play" de baixa perda são fáceis de inserir ou remover da parte frontal ou traseira do chassi, e a porta magnética estética fácil de abrir elimina os riscos da fibra e apresenta uma rotulagem clara e suspensa.

Os módulos "plug and play" ultrafinos e de baixa perda do LightStack LC-MTP em configurações OM4 multimodo e monomodo têm uma baixa perda de fibra flexível de 0,35dB. Adaptadores de ponta a ponta LightStack MTP com baixa perda de 0,2 dB e suporte total de 40 Gb e 100 Gb estão disponíveis em configurações de duas, quatro e seis portas, bem como orientações de chave combinadas e invertidas para acomodar todos os métodos de polaridade. O LightStack também oferece suporte a placas de adaptador de passagem LC de 12 fibras para SANs atuais na forma de Ethernet de 10 Gb ou canal de fibra.

Outras notícias interessantes:

▪ Foguete espacial movido a carvão

▪ Corrente elétrica contra incrustações

▪ Dispositivo RFID de baixa frequência ATA5558

▪ Smartphone LG G Pro Lite Dual (D686)

▪ O primeiro controlador de sistema Ethernet do mundo tipo ENC28J60

Feed de notícias de ciência e tecnologia, nova eletrônica

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Notas de aula, folhas de dicas. Seleção de artigos

▪ artigo Vamos dar as mãos, amigos, para não sumirmos um a um. expressão popular

▪ Artigo Quem, segundo Albert Einstein, faz grandes descobertas? Resposta detalhada

▪ artigo Motorista de guindaste. Instrução padrão sobre proteção do trabalho

▪ artigo Siren para o modelo. Enciclopédia de rádio eletrônica e engenharia elétrica

▪ artigo Instalações de soldadura eléctrica. Requisitos para instalações para instalações de soldagem elétrica e estações de soldagem. Enciclopédia de rádio eletrônica e engenharia elétrica

Deixe seu comentário neste artigo:

Имя:


E-mail opcional):


Comentário:





Todos os idiomas desta página

Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site

www.diagrama.com.ua

www.diagrama.com.ua
2000-2024