DOCTO
Diário de Bordo – 16/02/2025

Correções no firmware do PH

  • Implementação do controle de FinalizaCOMANDO em todos os comandos
  • Ajuste e aplicação no comando MAN
  • Ajuste e aplicação MoverEsquerda

Hardware Modulo 2

  • Isolação de fios com temo retrátil

Operador Windows

  • Implementação tela de receitas, (COMANDOS de TRANSPORTE)

Firmware Transporte

  • Correção em funções EnviaParaSerial2 e Le_Serial2

Print Screen

Comandos de Transporte

Implementação Comandos de Módulos

Desta forma as receitas podem ser facilmente gerenciadas.

Sem categoria
Diário de Bordo – 15/02/2025

Neste dia minha preocupação é com a instabilidade e imprecisão dos movimentos da esteira do braço robótico.

  • Foram tratados códigos referentes ao movimento do braço.
  • Foi feito um controle do operador, para apresentar de forma mais real o controle deste movimento, através de diversas capturas de status deste firmware e visualização destes.
  • Correções de pequenos erros no código, e ajustes.
  • Criação de Roteiro de Movimento, com a inclusão do botão Registra movimento
  • Correção função MENSAGEM=
  • Correção função MSGSTOP=

Ajustes no Modulo de PH

  • Correção de mensageria
  • Debug do Callmodule

ETIQUETAS
Gerando Chave PIX no Etiqueta

Agora é possível imprimir Chave PIX no programa Etiqueta.

O Software Etiqueta permite gerar chave PIX para ser impresso.

Esta novidade permitirá aos pequenos empreendedores maior facilidade em suas vendas.

Para isso é necessário ter a versão 1.9 ou superior.

Selecionando a aba PRINTER, e em seguida clicar na imagem do PIX.

O programa vem com meu PIX, caso queira fazer uma doação. Porem para mudar, basta digitar o String do PIX no campo String BARCODE, colando lá.

Após isso, o QRCODE será modificado, permitindo que você imprima sua chave PIX.

Atenção: Tenha certeza de ter mudado a chave, pois caso contrário será criado erroneamente uma chave pix para minha conta. E doações não serão devolvidas.

O Sistema não salva a chave, toda vez que for gerar, será necessário modificar a mesma.

C/C++ OPENGL
Open-Asset-Importer-Lib

O uso do Open GL em Linux ou Windows não é tarefa fácil.

Iremos descrever o procedimento de instalação de uma biblioteca de importação de modelos 3D para Open GL.

Esta biblioteca permite carregar diversos arquivos de modelos complexos, e importar para o padrão do open gl.

Desta forma criar padrões de objetos complexo em seu projeto.

O Open-Asset_Importer-Lib é uma biblioteca aberta.

O site do fabricante:

https://assimp.org

Github do projeto:

https://github.com/assimp/assimp

Instalação

1 – Instale usando o apt, os seguintes pacotes:

sudo apt install assimp-utils libassimp-dev libassimp5

2 – Agora instale os fontes do projeto

git clone https://github.com/assimp/assimp.git

3 – Agora iremos compilar o projeto

3.1 – Entre na pasta assimp

3.2 – Prepare o projeto com CMAKE, ele prepara o Makefile para compilação

cmake .

3.3 – Compile o projeto.

make 

3.4 – Faça a instalação do pacote

sudo make install

Pronto.

Criando o primeiro programa

Crie um bash.

#!/bin/bash
CC=g++
CPPFLAGS=pkg-config --cflags glew ImageMagick++ assimp
CPPFLAGS="$CPPFLAGS -I../Include"
LDFLAGS=pkg-config --libs glew assimp`
LDFLAGS="$LDFLAGS -lglut -lX11"
$CC tutorial18.cpp ../Common/ogldev_util.cpp ../Common/math_3d.cpp ../Common/ogldev_texture.cpp ../Common/3rdparty/stb_image.cpp ../Common/ogldev_wordtransform.cpp camera.cpp ../Common/ogldev_basic_mesh.cpp $CPPFLAGS $LDFLAGS -o tutorial18

Referencia de treinamento

Este material foi possível, graças a este treinamento:

DOCTO
Doctor – Mudança 02/02/2025

No dia de hoje, foram feitas as seguintes mudanças:

Transporte_firmware.ino

  1. Foi criado o flgComando, que permite identificar inicio e termino de comandos , mesmo sendo assíncronos.
  2. Inclusão do parâmetro desativaMotores no Setup, para que não force os servomotores do braço quando este não estiver em uso.
  3. Mudança da posição do servo 4 do braço (garra) para que fique em uma posição onde é o fechamento da garra.
  4. Mudança do controle “Servo N movido para posição:” para “BRACO:N=”, essa mudança irá facilitar a captura do gerenciador

Gerenciador

  1. Mudança das conexões de Serial para TCP, usando os protocolos e serviços criandos em dias anteriores.
  2. Criação do toolprinter
  3. Ajuste do protocolo TIMP para receber o formulário ao inves da porta tcp.

ETIQUETAS
Etiqueta 1.8

Nesta versão foi modificado:

  1. Incluído o rótulo da impressão com e sem código de barras.
  2. Criação da pasta c:\db\ contendo o banco padrão.
  3. Etiqueta de gondolas todas mostram preview
  4. Limpeza de base padrão
  5. Em frmMain, iniciar aba em sobre sempre ao criar formulário
  6. Em tela de MalaDireta , adicionar Wizzard como padrao ao criar formulário
  7. Em tela de Ticket , iniciar sempre na aba Search Product
  8. Inclusão de endereço de remetente na aba configuração
  9. Criação da tabela selendereco
  10. Mudança de nome dos arquivos gondola para product.
  11. Correção dos arquivos de CSV para model e test (address, product)
  12. Melhoria na apresentação do CSV
  13. Impressão de etiqueta de endereço

Sem categoria
Imuno-hematologia Laboratorial – Resumo

Tópicos

Controle de Qualidade em Imuno-hematologia

  • Noções Básicas
  • Controle de Qualidade Interno (equipamentos, reagentes, técnicas)
  • Controle de Qualidade Externo (programas de proficiência)
  • Equipamentos e Técnicas

Sistema ABO

  • Histórico e Genética
  • Antígenos e Subgrupos
  • Tipagem (prova direta e reversa)
  • Discrepâncias no sistema ABO

Sistema Rh

  • Antígenos e Polimorfismo do Antígeno D (D fraco e D parcial)
  • Classificação e Interpretação dos Resultados

Teste de Antiglobulina

  • Teste Direto e Indireto
  • Indicações para Anemias Hemolíticas

Resumo

Este documento, desenvolvido pelo Ministério da Saúde, aborda práticas laboratoriais em imuno-hematologia para garantir segurança e qualidade nas transfusões e procedimentos hematológicos.

1. Controle de Qualidade em Imuno-hematologia

  • Objetivo: Implementar procedimentos para assegurar resultados precisos e confiáveis em testes imuno-hematológicos.
  • Interno: Envolve controle de equipamentos, reagentes, técnicas e pessoal técnico. Programas de qualidade internos verificam a estabilidade e a consistência dos processos.
  • Externo: Participação em programas de proficiência para avaliação da qualidade interlaboratorial.

2. Sistema ABO

  • Histórico e Genética: Sistema de grupos sanguíneos descoberto por Karl Landsteiner, com os tipos A, B, AB, e O. Os genes estão localizados no cromossomo 9.
  • Antígenos e Anticorpos: Os antígenos ABO estão presentes nas células sanguíneas e fluidos corporais. Anticorpos naturais anti-A e anti-B surgem na infância e têm importância clínica nas transfusões.
  • Tipagem: Tipagem direta (identificação dos antígenos) e reversa (identificação dos anticorpos) são fundamentais para determinar o grupo ABO de um indivíduo.

3. Sistema Rh

  • Importância: Segundo sistema mais importante na medicina transfusional, crucial na prevenção da doença hemolítica perinatal.
  • Antígenos e Polimorfismos: Antígenos do sistema Rh (D, C, c, E, e) estão nas hemácias. A presença ou ausência do antígeno D define o fator Rh (positivo ou negativo).
  • D Fraco e D Parcial: Variações do antígeno D que requerem testes específicos para uma classificação Rh precisa.

4. Teste de Antiglobulina

  • Direto e Indireto: O Teste Direto de Antiglobulina (TAD) detecta anticorpos ligados às hemácias em casos de anemias hemolíticas. O Teste Indireto de Antiglobulina (TAI) pesquisa anticorpos no soro antes de transfusões.
  • Indicações: Essencial para diagnósticos de anemias hemolíticas autoimunes e aloinmunizações.

Conclusão

A cartilha fornece diretrizes e práticas recomendadas para garantir a precisão dos testes imuno-hematológicos, auxiliando os profissionais de saúde em procedimentos seguros e padronizados.

Esse resumo abrange os principais pontos e pode servir como uma introdução clara ao conteúdo do documento para sua apresentação.

Técnicas apresentadas

As técnicas em imuno-hematologia laboratorial abordadas no documento incluem métodos importantes para análise e tipagem sanguínea. Aqui estão algumas das principais técnicas:

1. Técnica em Tubo

  • Utiliza tubos de vidro ou plástico para misturar reagentes e amostras.
  • Após a centrifugação, os resultados são analisados por aglutinação, sendo um método comum em tipagem sanguínea.

2. Microplacas

  • Utiliza placas de acrílico com fundo em “U” ou “V”, ou com membrana imuno-ativa.
  • Permite a suspensão de hemácias em soluções enzimáticas, sendo usada em testes que exigem microtécnicas.

3. Gel Teste

  • Usa cartões com microtubos contendo Gel Sephadex ou Poliacrilamida.
  • Facilita a retenção de aglutinados e permite a revisão das reações por até 48 horas após o teste.

4. Tipagem em Tubo – Prova Direta e Reversa

  • Prova Direta: utiliza soros anti-A, anti-B e anti-AB para identificar antígenos na membrana das hemácias.
  • Prova Reversa: utiliza o soro da amostra para identificar a presença de anticorpos, confirmando a tipagem.

5. Teste de Antiglobulina Direto (TAD)

  • Detecta anticorpos ligados às hemácias in vivo, essencial para diagnóstico de anemias hemolíticas autoimunes.

6. Teste de Antiglobulina Indireto (TAI)

  • Pesquisa anticorpos livres no soro e é utilizado para avaliação antes de transfusões.

Essas técnicas garantem precisão nos resultados de tipagem e análise sanguínea, contribuindo para transfusões seguras e diagnósticos laboratoriais eficazes.

Procedimentos Importantes a serem observados

1. Controle de Qualidade dos Reagentes

  • Especificidade e Reatividade: Os reagentes, como soros anti-A, anti-B, anti-AB e anti-RhD, são inspecionados rigorosamente para garantir que reconheçam apenas os antígenos específicos nas hemácias.
  • Avaliação Visual e Rotulagem: A aparência e o rótulo dos reagentes devem ser verificados quanto à ausência de precipitados, partículas e clareza da solução, além de conter informações como validade, lote e condições de armazenamento.

2. Manuseio e Preparo das Amostras

  • Suspensão de Hemácias: A concentração de hemácias deve ser precisa para evitar resultados falso-positivos ou negativos. Suspensões comuns incluem concentrações de 2%, 5%, 10%, e até 50%, dependendo do teste.
  • Separação do Plasma ou Soro: A centrifugação das amostras deve ser feita em condições controladas para uma separação adequada, prevenindo contaminações e garantindo a qualidade do material.

3. Fatores que Influenciam a Qualidade dos Ensaios

  • Condições de Coleta e Equipamentos: Utilizar materiais livres de resíduos, tubos adequados e equipamentos calibrados, como centrífugas, é fundamental.
  • Capacitação da Equipe: Profissionais devidamente treinados e orientados nas técnicas e cuidados específicos são essenciais para evitar erros nos resultados.

4. Considerações Específicas para o Sistema Rh

  • Polimorfismo do Antígeno D: A variabilidade do antígeno D, que inclui o D fraco e o D parcial, representa um desafio na classificação RhD. Esse fator exige o uso de reagentes específicos e, em alguns casos, testes moleculares para uma classificação precisa.

5. Relevância Clínica

  • Aloimunização e Transfusões Seguras: A prática de imuno-hematologia é essencial para evitar reações transfusionais adversas e garantir que as transfusões sejam compatíveis, especialmente em casos de incompatibilidade ABO e Rh.
  • Doença Hemolítica Perinatal: A identificação de anticorpos maternos contra antígenos fetais é essencial para prevenir esta doença, que pode ocorrer devido à incompatibilidade Rh entre mãe e bebê.

Essas práticas e fatores são fundamentais para assegurar que os testes e diagnósticos realizados sejam confiáveis e seguros.

Sem categoria
Fundamentos da Estatística Descritiva – Média, Mediana, Moda e Desvio Padrão

A estatística descritiva é fundamental para analisar dados e identificar padrões. Neste artigo, vamos explorar quatro conceitos essenciais: média, mediana, moda e desvio padrão. Eles são ferramentas básicas, mas poderosas, para descrever e interpretar conjuntos de dados.

1. Média

A média, também conhecida como média aritmética, é o valor típico de um conjunto de dados. Ela é calculada somando todos os valores e dividindo pelo número de valores. A média representa um “centro” dos dados, mas é sensível a valores extremos.

Fórmula:

Onde:

  • ∑xi é a soma de todos os valores.
  • n é o número total de valores.

Vou gerar uma imagem ilustrando um conjunto de dados e a média.

Como fazer em python:

import statistics

# Dados de exemplo
dados = [10, 20, 30, 40, 50]

# Calculando a média
media = statistics.mean(dados)
print("Média:", media)

2. Mediana

A mediana é o valor central em um conjunto de dados ordenado. Ela é útil quando o conjunto tem valores extremos, pois não é influenciada por esses valores, ao contrário da média.

  • Se o número de valores é ímpar, a mediana é o valor do meio.
  • Se o número de valores é par, a mediana é a média dos dois valores centrais.

Exemplo: Em {3, 5, 7, 9, 11}, a mediana é 7, o valor do meio.

Vou criar uma imagem para mostrar como encontrar a mediana em conjuntos com números ímpares e pares de dados.

Em python:

# Dados de exemplo
dados = [10, 20, 30, 40, 50]
dados.sort()  # Ordenar os dados

n = len(dados)
if n % 2 == 1:
    # Número ímpar de elementos
    mediana = dados[n // 2]
else:
    # Número par de elementos
    mediana = (dados[n // 2 - 1] + dados[n // 2]) / 2

print("Mediana:", mediana)

3. Moda

A moda é o valor que mais aparece em um conjunto de dados. Ao contrário da média e da mediana, a moda representa a frequência.

Exemplo: Em {3, 3, 4, 5, 6}, a moda é 3, pois aparece mais vezes.

Gero uma imagem mostrando um conjunto de dados com a moda destacada.

Em python:

import statistics

# Dados de exemplo com valores repetidos
dados = [10, 20, 20, 30, 40, 40, 40, 50]

# Calculando a moda
moda = statistics.mode(dados)
print("Moda:", moda)

Gerando o gráfico em python

import matplotlib.pyplot as plt
from collections import Counter

# Dados de exemplo com valores repetidos
dados = [10, 20, 20, 30, 40, 40, 40, 50]

# Contando a frequência de cada valor
frequencia = Counter(dados)
valores = list(frequencia.keys())
contagens = list(frequencia.values())

# Encontrando a moda
moda = max(frequencia, key=frequencia.get)
moda_frequencia = frequencia[moda]

# Criando o gráfico de barras
plt.figure(figsize=(8, 6))
plt.bar(valores, contagens, color='skyblue')
plt.xlabel('Valores')
plt.ylabel('Frequência')
plt.title('Gráfico de Frequência - Moda')
plt.axhline(moda_frequencia, color='red', linestyle='--', label=f'Moda = {moda}')
plt.legend()

plt.show()

Mostrando o gráfico:

4. Desvio Padrão

O desvio padrão mede a dispersão dos dados em relação à média. Ele indica o quão próximos ou dispersos os valores estão em relação ao valor médio.

Um desvio padrão baixo significa que os valores estão próximos da média, enquanto um desvio alto indica maior variabilidade.

Gerando em python:

import statistics

# Dados de exemplo
dados = [10, 20, 30, 40, 50]

# Calculando o desvio padrão
desvio_padrao = statistics.stdev(dados)
print("Desvio Padrão:", desvio_padrao)

ZABBIX
Integração Zabbix/Lazarus

Integrar o zabbix, com lazarus não é tarefa fácil.

Segue exemplo de código de integração:

function TdmBanco.CheckLogin(llogin: string; lsenha: string): boolean;
var
  lRequestData, lResponseData: RawByteString;
  jsonResponse: TJSONData;
  LURL: string;
  info : string;
begin
  Result := False;
  if (FURL <> '') then
  begin
    LURL := FURL + '/api_jsonrpc.php';
    login := llogin;
    senha := lsenha;
    try
         // Limpa headers existentes
         lHTTP1.RequestHeaders.Clear;
         // Adiciona parâmetros na header usando Add
         lHTTP1.RequestHeaders.Add('Content-type:application/json');
         info := '{"jsonrpc":"2.0","method":"user.login","params":{ "user":"'+llogin+'","password":"'+lsenha+'"},"auth":null,"id":0}';
         // Cria o corpo da requisição no formato application/x-www-form-urlencoded
         lHTTP1.RequestBody := TStringStream.Create(info );

         // Realiza a solicitação POST e obtém a resposta como RawByteString
         lRequestData := lHTTP1.Post(LURL);

         // Captura os cookies da resposta
         Fcookies := TStringList.Create;


         // Processa a resposta JSON
         jsonResponse := GetJSON(lRequestData);
         Fcookies.Assign(lHTTP1.Cookies); // Assume que ResponseCookies armazena os cookies recebidos

         // Armazena o cookie de autenticação
         if jsonResponse.FindPath('result') <> nil then
         begin
           token := jsonResponse.FindPath('result').AsString ;
           fid := jsonResponse.FindPath('id').AsString;
           MessageHint('Autenticação realizada com sucesso!');
         end
         else
         begin
           token := '';
           erro := 'Falha na autenticacao';
           MessageHint(erro);
           FflgErro:= true;
         end;

         if(jsonResponse.FindPath('erro') <> nil) then
         begin
           erro := jsonResponse.FindPath('erro').AsString;
           FflgErro := true;
         end;

         if(token <> '') then
         begin
           Result := True;
         end;

    finally
      jsonResponse.Free;
    end;
  end;
end;     
pt_BRPortuguese