Ir ao conteúdo

Hiago Martins

Membro Pleno
  • Posts

    57
  • Cadastrado em

  • Última visita

Reputação

32
  1. Boa noite gurizada! Seguinte, preciso usar um botão para selecionar itens de um menu. Se eu pressionar o botão uma vez (de forma rápida) mudo a opção. Se eu pressionar por 3s o mesmo botão, eu seleciono aquela opção. Alguém pra me dar uma luz?
  2. Eu estou usando um módulo relé com um esp8266-01 para acionar uma carga. O problema é que quando o esp reinicia ele aciona as suas saídas rapidamente e aciona o relé. Eu precisaria de um meio de caminho pra isso não acontecer.
  3. Fala pessoal. Preciso de um circuito que acione um rele somente após um certo tempo pressionando uma chave, como 1 ou 2 segundos. Existe algum circuito simples que eu possa usar?
  4. Eu não posso ligar o coletor de um mosfet no gate de outro? Daí o primeiro funciona como um inversor para o segundo.
  5. Fala pessoal. Preciso acionar um mosfet com um pulso negativo, só que eu tenho vários mosfet de canal N em casa. Tem alguma forma de juntar dois para ativar com o pulso negativo? Fico no aguardo!
  6. Eu preciso de uma porta xor. Alguma ideia de como fazer ela?
  7. Fala pessoal. Tô precisando de ajuda pra conseguir umas saídas lógicas, as quais são: IN1 | IN2 -> OUT1 | OUT2 0 | 0 -> 0 | 0 1 | 1 -> 1 | 0 0 | 1 -> 0 | 1 Porém, elas têm que ser feitas com transistores e amplificadores operacionais, porque na minha cidade não tem portas lógicas. Alguém tem uma dica?
  8. @Isadora Ferraz e @Renato.88 , basicamente o meu circuito e composto por um microcontrolador e alguns relés que funcionam como uma ponte H. Eu ainda não fiz nenhum programa específico, apenas um blink para os relés para testar a placa. Porém, mesmo sem o microcontrolador, os relés permanecem acionados. Esse é o esquemático da parte do microcontrolador.E esse é o esquemático dos relés.
  9. Olá pessoal. Recentemente fiz uma placa de circuito impresso com um circuito que possui 4 relés e 4 transistores. Antes de fazer a placa eu montei o circuito em uma protoboard e funcionou perfeitamente. O problema é que na placa os relés já estão saindo acionados sem o atmega328p mandar 5v. Medi a tensão na base dos transistores e sempre tem aproximadamente 0.7v. O que pode ser?? Fico no aguardo!
  10. Fala pessoal. Estou usando o ESP32 para enviar dados ao Google Sheets. O código está funcionando, porém a conexão com o host cai a partir da do 5 envio e o ESP32 já não consegue mais conectar. Alguém pode me dar uma força?? Segue o código: #include "HTTPSRedirect.h" #include <WiFi.h> const char* ssid = "Martins07"; const char* password = "casa0285"; const char *ID = "AKfycbzgQ11whfJjj4Kd5Bq0LYfn13rRvCO8k5Px2nw64tNRu47r3TA0"; const char* host = "script.google.com"; const char* googleRedirHost = "script.googleusercontent.com"; const int httpsPort = 443; HTTPSRedirect client(httpsPort); const long intervalo = 1000; long previusMillis; int tentativas; String url = String("/macros/s/") + ID + "/exec?"; const char* fingerprint = "4f649cbf7ed629ad3808a904c5be664897e5da19"; void setup() { Serial.begin(9600); void ConectaWIFI(); void ConectaSheets(); } void loop() { if (millis() - previusMillis >= intervalo) { MantemConectado(); int data = 10; enviaDados("SoilMoisture", data); previusMillis = millis(); } } void ConectaSheets(){ Serial.print(String("Conectando a: ")); Serial.println(host); if (!client.connected()){ if(client.connect(host, httpsPort)){ Serial.println("---Conectado ao host!---"); } else Serial.println("---Falha ao conectar ao host!---"); } if (client.verify(fingerprint, host)) Serial.println("---Certificado de segurança correspondente!---"); else Serial.println("---Certificado de segurança não correspondente!---"); } void ConectaWIFI(){ if(WiFi.status() == WL_CONNECTED) return; else { //WiFi.config(local_IP, gateway, subnet, DNS); WiFi.begin(ssid, password); Serial.print("AGUARDE - Conectando ao WIFI"); while((WiFi.status() != WL_CONNECTED)&& (tentativas < 10)){ Serial.print("."); delay(500); tentativas++; } if(tentativas == 10 ){ Serial.println("\nERROR - Não foi possível conectar a rede!"); Serial.print("Reenicie o sistema!"); } else{ Serial.println("\nConectado ao WIFI com sucesso!"); Serial.print("IP: "); Serial.println(WiFi.localIP()); tentativas = 0; } } } void enviaDados(String tag, float value){ String urlFinal = url + "tag=" + tag + "&value=" + String(value); client.printRedir(urlFinal, host, googleRedirHost); } void MantemConectado(){ if (WiFi.status() != WL_CONNECTED) ConectaWIFI(); if(!client.connected()) ConectaSheets(); }
  11. Fala pessoal. Coloquei um SSD no lugar do meu HDD e coloquei o HDD no lugar do dvd-r. Percebi que o HDD não desliga junto com o notebook e acaba "desligado errado". Faz o mesmo som que faz quando acontece uma queda de energia subida (desliga direto no botão ou puxa da tomada). Alguém sabe como posso resolver isso?? Alguma configuração que faça com que o notebook só desligue depois do HDD??
  12. Estou precisando criar um programa que SELECIONE um ARQUIVO dentro de um cartão SD ("exemplo.csv") e envie via bluetooth. Não quero enviar os dados do arquivo e sim o arquivo. Não encontrei nada semelhante a isso na internet. Alguém pode me ajudar?
  13. @devair1010 muito obrigado!! de novo Meu código ficou assim, só falta terminar o que minha tarefa me pede. #include <stdio.h> struct { long data = 0; float temp = 0.0; float press = 0.0; float vel = 0.0; int hora = 0; int dir = 0; int umid = 0; }lin, media; int conta_linha( char arq [50] ){ FILE*entrada = fopen(arq, "r"); int y; int conta = -1; char aux[50]; fgets(aux, 50, entrada); while(!feof(entrada)){ fgets(aux, 50, entrada); for(y=0; y<50; y++){ if(aux[y] == '\n') conta ++; } } fclose(entrada); return conta; } int x = 1; int i, final, teste, l_total; char nome_in[50]; int pred[100][2]; FILE*entrada; FILE*saida; int main(){ scanf("%s", &nome_in); entrada = fopen(nome_in, "r"); saida = fopen("mediahora.csv", "w"); l_total = conta_linha(nome_in); while(final <= l_total){ fscanf(entrada, "%ld;%d;%f;%d;%f;%d;%f \n", &lin.data, &lin.hora, &lin.temp, &lin.umid, &lin.press, &lin.dir, &lin.vel); if(lin.hora == 0){ for(i = 0; i<1000; i++){ teste = 0; if(pred[i][0] == lin.dir) { teste++; break; } } if(teste) pred[i][1]++; else{ for(i = 0; i<1000; i++){ if(pred[i][0] == 0){ pred[i][0] = lin.dir; pred[i][1] = 1; break; } } } } final++; } int pos; int inicial = pred[0][1]; for(i = 0; i<100; i++){ if(pred[i][1]>inicial){ inicial = pred[i][1]; pos = i; } } printf("O numero %d apareceu %d vezes!\n", pred[pos][0], inicial); fclose(entrada); fclose(saida); return 0; }
  14. Tenho que fazer leituras de linhas e no fim imprimir um determinado valor predominante ( o que mais apareceu e não uma média). No exemplo abaixo, o valor predominante é o 5, então, no fim do processo, eu deveria imprimir algo como: "O número 5 é o predominante!". Como posso fazer isso? 20190101;0000;23.2;89;1011.5;9;3.3 20190101;1200;26.8;88;1011.8;5;3.3 20190101;1800;29.2;79;1010.2;5;3.3 20190102;0000;27.2;83;1009.5;5;3.3 20190102;1200;28.2;84;1007.5;5;0.7 20190102;1800;39.4;47;1002.2;32;3.6 20190103;0000;26.3;96;1003.5;5;1.3 20190103;1200;22.8;95;1005.2;32;0.7

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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!