-
Posts
266 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
O post de codigo rapido em Preciso converter a resistência em temperatura do NTC no arduino uno foi marcado como solução
Sem a curva caracteristica do seu NTC não tem como fazer isso.
Uma solução... descobrir a curva caracteristica do seu NTC
você vai precisar saber a faixa de operação que você quer trabalhar.
Por exemplo...
Se quiser que funciona de 10 graus à 50 graus, a ideia é arrumar um termometro e medir a resistencia para alguns pontos entre 10% a menos do seu minimo e 10% a mais do seu máximo.
Então vai encontrar um secador de cabelo ou uma geladeira e medir a resistencia quando seu termometro marcar :
5°, 15°, 30°, 45° e 55°
Ai, junto com as resistencias, precisará fazer o ajuste de curvas. Quando eu tenho esse tipo de problema, eu uso o metodo dos quadrados minimos. Esse é um exemplo de como encontar a curva caracteristica de uma função exponencial. A formula é igual para qualuqer caso:
https://www.youtube.com/watch?v=CgBpe6h0pDw
Ai, com essas medições de resistencia, encontrar a formular que representente a curva caracteristica do seu NTC. Sempre que trocar o seu NTC e você não tiver a curva caracteristica, vai precisar refazer esses calculos usando o mesmo método.
O seu caso é mais de eletrônica do que de programação.
Acho que seu topico deveria ser movido para Eletrônica. Lá, certeza, que se você mostrar uma foto do seu NTC ou der as especificações os usuários lá saberão te informar melhor que os daqui que é de programação.
-
O post de codigo rapido em Preciso converter a resistência em temperatura do NTC no arduino uno foi marcado como solução
Sem a curva caracteristica do seu NTC não tem como fazer isso.
Uma solução... descobrir a curva caracteristica do seu NTC
você vai precisar saber a faixa de operação que você quer trabalhar.
Por exemplo...
Se quiser que funciona de 10 graus à 50 graus, a ideia é arrumar um termometro e medir a resistencia para alguns pontos entre 10% a menos do seu minimo e 10% a mais do seu máximo.
Então vai encontrar um secador de cabelo ou uma geladeira e medir a resistencia quando seu termometro marcar :
5°, 15°, 30°, 45° e 55°
Ai, junto com as resistencias, precisará fazer o ajuste de curvas. Quando eu tenho esse tipo de problema, eu uso o metodo dos quadrados minimos. Esse é um exemplo de como encontar a curva caracteristica de uma função exponencial. A formula é igual para qualuqer caso:
https://www.youtube.com/watch?v=CgBpe6h0pDw
Ai, com essas medições de resistencia, encontrar a formular que representente a curva caracteristica do seu NTC. Sempre que trocar o seu NTC e você não tiver a curva caracteristica, vai precisar refazer esses calculos usando o mesmo método.
O seu caso é mais de eletrônica do que de programação.
Acho que seu topico deveria ser movido para Eletrônica. Lá, certeza, que se você mostrar uma foto do seu NTC ou der as especificações os usuários lá saberão te informar melhor que os daqui que é de programação.
-
O post de codigo rapido em snprintf e comandos que peguem os dados e transforme em string de forma generica foi marcado como solução
Obrigado, Lucca!
Eu sei que não existem recursos como reflection em C, mas como a linguagem é bem conhecida e relevante imagino que algo semelhante ou uma construção dinâmica seja feita pelos mais experientes. Sua sugestão já ajuda bastante. Obrigado!
Em em se tratando de umas 200 variaveis, eu terei que encontrar uma forma mais organizada e fácil de contornar minhas falhas nesse ponto.
-
O post de codigo rapido em Existe comando equivalente à fseek mas que pare o cursor sobre uma linha? foi marcado como solução
Obrigado a todos pelas respostas!
Mas pelo que eu li, infelizmente isso que estou querendo não é possivel em C.
Não existe como o cursor, como um fseek, parar sobre um "\n" especifico.
Eu seria obrigado a ter mapeado todas as quebras de linha. A solução para mim é fazer como o convencional do fseek e tratar os dados de outro modo.
-
O post de codigo rapido em Socket: Como pegar variaveis de um POST após um accept? foi marcado como solução
Olá pessoal!
Obrigado pela atenção de todos! Consegui pegar as variaveis. Era mais fácil que pensei... eu não sabia que tinha que ser depois de um \r\n. Olha a parte do codigo que permitiu isso:
childfd = accept(parentfd, (struct sockaddr *) &clientaddr, &clientlen); if (childfd < 0) { error("ERROR on accept"); } /* determine who sent the message */ hostp = gethostbyaddr((const char *)&clientaddr.sin_addr.s_addr, sizeof(clientaddr.sin_addr.s_addr), AF_INET); if (hostp == NULL) { error("ERROR on gethostbyaddr"); } hostaddrp = inet_ntoa(clientaddr.sin_addr); if (hostaddrp == NULL) { error("ERROR on inet_ntoa\n"); } /* open the child socket descriptor as a stream */ if ((stream = fdopen(childfd, "r+")) == NULL) { error("ERROR on fdopen"); } /* get the HTTP request line */ fgets(buf, BUFSIZE, stream); sscanf(buf, "%s %s %s\n", method, uri, version); printf("======================================\n"); printf("%s", buf); /* tiny only supports the GET method */ if (strcasecmp(method, "POST")==0) { char var_nome[BUFSIZE]; char var_str[BUFSIZE]; int linha = 1; int tamanho = -1; while( strcmp(buf, "\r\n") ) { printf("linha: %i = ", linha); fgets(buf, BUFSIZE, stream); printf("%s", buf); sscanf(buf, "%s %s\n", var_nome, var_str); //printf("Nome var: %s conteudo: %s\n", var_nome, var_str); if(strcmp(var_nome,"Content-Length:")==0) { tamanho = atoi(var_str); //printf("tamanho: %i \n", tamanho); } if(strcmp(buf, "\r\n")==0) { // tem que pegar o tamanho da query_string (Content-Length) acrescido de 1 // no caso, aqui pra mim usando firefox o resultado veio, na 14 linha, depois de \r\n\: fgets(buf, tamanho+1, stream); printf("%s\n", buf); printf(" - - leu - - -\n"); break; } linha++; } continue;
Foi chatinho... valeu a diversão.
t+ pra todos
-
O post de codigo rapido em Dimmer com triac BT138x ou BT138? foi marcado como solução
Para quem tem dificuldades com essas nomenclaturas e codigos dos componentes eu sugiro procurar por:
JEDEC system;
European based Pro-electron system;
JIS system.
No caso do triac que estou usando, ele segue o padrão Pro-Electron Numbering System.
Foi a solução para todos os meus problemas.
Obrigado a todos.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais