Ir ao conteúdo
  • Cadastre-se

Paulo Capel

Membros Plenos
  • Total de itens

    21
  • Registro em

  • Última visita

  • Qualificações

    0%
  1. Para projetos mais robustos eu indicaria aqueles Powerbank de carregadores de telefone celular... 3,5 ~~ 4,1V Só comprar um e desmontar e fica show!
  2. Olá, venho compartilhar um problema que estou tendo em um de meus projetos com as ESP8266. O projeto e simples e já funciona normal é ligar e desligar 2 relés via app no telefone até aí tudo bem o projeto funciona normal até umas 24horas após ligado depois desse tempo o ESP-01 não responde mais aos comandos enviados do aplicativo para a ESP, porém se eu fazer um teste de ping no IP funciona normal com o tempo ideal, procurei aqui no fórum algo relacionado mas não achei, acredito que a ESP esteja entrando em algum modo de Standby por falta de conexão ou algo do tipo... Estou usando uma fonte 12v 1A para alimentação da mesma que passa por um regulador 7833 cujo data sheet me garante 1A mas pela devida queda de tensão acredito que ele esteja fornecendo no máximo 400mA... Consumo operação da placa 150mA Consumo sem receber dados 80mA Estou elaborando uma programação para deixar a ESP me enviando dados a cada 10 minutos para que posso testar a conexão e saber exatamente a hora que ele está parando seu funcionamento...
  3. Eu pensei em manter a porta IO13 em nível logico baixou ou alto, para o acionamento do circuito, não preciso controlar a corrente e nada só preciso que o transistor se comporte como uma chave, como um rele exemplificando, só que como tenho pouco domínio em transistores ainda recorro a ajuda para não usar um rele a mais... sei que tem como mas não sei como utilizar, poderia iniciar o Arduíno com o pino 13 em nível logico alto e o o transistor para de conduzir e quando ele voltar para o estado de nível logico baixo ele conduziria... depois de um pequeno delay( 2 ou 1 seg)... nesta imagem seria o momento de corte nesta seria o momento condução
  4. @Isadora Ferraz , eu tentei limpar as saídas, mas to proteus tudo é lindo e funciona na placa desenvolvida esta exatamente igual no proteus mas vivemos em um mundo cheio de interferências, consegui resolver o problema, mas nao tirando a interferência e sim anulando as saídas selecionadas no momento que se liga o circuito, eu pensei da seguinte forma como o 12V É COMUM nos reles posso temporizar esta entrada por um pino do Arduíno usando um transistor, fiz da seguinte forma, nos primeiros 2 segundo que o circuito fica sem a alimentação do 12V sendo impossível ligar as saídas mesmo se tiver interferência no 595, coloquei um delay de 2 segundo e logo apos esses 2 segundo o transistor é acionado, só que sou iniciante em eletrônica ainda fico meio em duvida de como executar este trabalho com a transistor, olhando em algumas apostilas, consegui chegar em uma solução mas não sei se é a adequada, to usando tip147 fico em duvida nas polarizações pois entrará 12v e a base sera acionada e sairá 12v...
  5. Salve galera, estou tendo um pequeno problema com os registradores de deslocamento 74hc595, fiz um pequeno sistema de automação residencial por pushbutton, e o problema é o seguinte toda vez que eu ligo o sistema na energia mesmo, ele seta as saídas como se tivessem sido acionadas, e ao chegar perto do c'i com o dedo ele fica louco, já foi acionado capacitor de desacoplamento, esta dentro dos padrões do datasheet, o problema em sí é só quando liga ele pela primeira vez, mas pensa imagina se anoite acaba a energia e volta rapidamente e as saídas ligam e desligam rapidamente seria um grande incomodo, vou postar o circuito somente da saída que esta com problema, LEMBRANDO que ele opera normal o problema apresenta somente na primeira inicialização mesmo sem o arduino conectado
  6. Irei fazer os testes agora, pesquisei uma coisa também sobre os CD4xxx eles possuem alta impedância de entrada que é proveniente a ruídos no pino 11 ( serial Input), olhei que é bom colocar esta entrada ou em nível logico alto ou baixo... vou testar agora, logo voltarei com respostas... edit 2 Consegui a solução para o problema como falei acima precisava colocar o pino 11 em algum nível logico o nível alto me deu melhor precisão, mas as vezes ainda flutuava um pouco, só parou com todos resitores pull/down, e adicionei o capacitor de 100nf no VCC ao terra como desacoplamento por precaução... Muito obrigado pela ajuda, quando projeto estiver pronto posto fotos ... valeu @Isadora Ferraz @Bommu Perneta
  7. Eu separei por partes tipo os Register Input fiz um código separado depois juntei mas meu problema como disse é apenas no de entrada... E eu usei exemplos do Arduino.cc endereço relacionado a Shifth_in e Shifth_Out, modificando e trazendo para minha necessidade neste video abaixo o programa foi tirado do Arduino.cc também pra ver que o problema meu é HARDWARE! https://www.arduino.cc/en/Tutorial/ShiftIn Eu utilizo proteus 8.6 com as bibliotecas para utilizar o Arduino AVR do próprio proteus, mandei os 3 arquivos masa programação acredito que terá que inseri-la novamente.. aqui esta funcional! O problema eu acredito que to deixando passar algo despercebido, por que no proteus é tolamente FUNCIONAL não tem algum erro se quer! alias vou testar com outro Arduíno para teste, com um nano que eu tenho aqui! Shift_In.rar
  8. Galera, estou com um grande problema tenho trabalhado já em um tempo em uma pequena automação residencial de pushbutton... MEU PROBLEMA ESTA APENAS NO CD4021 IGNOREM OS 74HC595... Meu problema é o seguinte: Programação OK Funcional proteus ? OK Protoboard ? Desloca bit a bit sozinho no monitor serial sem ter nenhum pino da entrada paralela conectada... como pode ver na imagem não sei se é por que não coloquei todos resistor de pull-up Ci usado na Pratica CD4021BNC CI usado proteus CD4021 mas olhei nos datasheet eles são identicos... tanto que na pratica liguei somente um para ver se era algum problema entre os 2 Testes efetuados Troquei de pino do arduino Alimentei o arduino com uma fonte e o cd4021 com outra aterrei a saída serial Se alguém tiver tido algum problema parecido ou por acaso souber o que pode estar acontecendo agradeceria muito a ajuda...
  9. Galera boa noite, estou tentando trabalhar com expansão de portas em um Arduíno, só que a maior parte do conteúdo que achei na net trabalha com as entradas ou saídas todas juntas, eu estou precisando trabalhar com cada uma separadamente, estou tentando fazer algumas modificação em uma programação que eu achei no Arduino.cc mas ta me complicando a principio é um registrador de deslocamento, que esta funcionando em PISO, (paralela input, serial output) o meu maior problema é que, este programa le e guarda qual botão que foi pressionado e imprime, porém ao invés de imprimir quero correlacionar o botão de entrada precionado com uma saída do arduino exemplo : Quando botão do registrador 1 for precionado ligar saida 1 espero que alguem consiga me ajudar... /define where your pins are int latchPin = 8; int dataPin = 9; int clockPin = 7; //Define variables to hold the data //for shift register. //starting with a non-zero numbers can help //troubleshoot byte switchVar1 = 72; //01001000 //define an array that corresponds to values for each //of the shift register's pins char note2sing[] = { 'C', 'd', 'e', 'f', 'g', 'a', 'b', 'c'}; void setup() { //start serial Serial.begin(9600); //define pin modes pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, INPUT); } void loop() { //Pulse the latch pin: //set it to 1 to collect parallel data digitalWrite(latchPin,1); //set it to 1 to collect parallel data, wait delayMicroseconds(20); //set it to 0 to transmit data serially digitalWrite(latchPin,0); //while the shift register is in serial mode //collect each shift register into a byte //the register attached to the chip comes in first switchVar1 = shiftIn(dataPin, clockPin); //Print out the results. //leading 0's at the top of the byte //(7, 6, 5, etc) will be dropped before //the first pin that has a high input //reading Serial.println(switchVar1, BIN); //This for-loop steps through the byte //bit by bit which holds the shift register data //and if it was high (1) then it prints //the corresponding location in the array for (int n=0; n<=7; n++) { //so, when n is 3, it compares the bits //in switchVar1 and the binary number 00001000 //which will only return true if there is a //1 in that bit (ie that pin) from the shift //register. if (switchVar1 & (1 << n) ){ //print the value of the array location Serial.println(note2sing[n]); } } //This following is a away to examine the whole //byte at once and create combinations //of settings. //By passing the switchVar1 variable to //a "switch" statement and comparing it against //a set nemerical value (written in binary) //you can create special cases switch (switchVar1) { case B00101010: Serial.println("D minor"); break; case B00010101: Serial.println("C major"); break; case B01010100: Serial.println("E minor"); break; case B00101001: Serial.println("F major"); break; case B01010010: Serial.println("G major"); break; case B00100101: Serial.println("A minor"); break; case B01001010: Serial.println("B diminished"); break; default: // if nothing else matches, do the default Serial.println("Play It, Joe"); } //white space Serial.println("-------------------"); //delay so all these print satements can keep up. delay(500); } //------------------------------------------------end main loop ////// ----------------------------------------shiftIn function ///// just needs the location of the data pin and the clock pin ///// it returns a byte with each bit in the byte corresponding ///// to a pin on the shift register. leftBit 7 = Pin 7 / Bit 0= Pin 0 byte shiftIn(int myDataPin, int myClockPin) { int i; int temp = 0; int pinState; byte myDataIn = 0; pinMode(myClockPin, OUTPUT); pinMode(myDataPin, INPUT); //we will be holding the clock pin high 8 times (0,..,7) at the //end of each time through the for loop //at the begining of each loop when we set the clock low, it will //be doing the necessary low to high drop to cause the shift //register's DataPin to change state based on the value //of the next bit in its serial information flow. //The register transmits the information about the pins from pin 7 to pin 0 //so that is why our function counts down for (i=7; i>=0; i--) { digitalWrite(myClockPin, 0); delayMicroseconds(0.2); temp = digitalRead(myDataPin); if (temp) { pinState = 1; //set the bit to 0 no matter what myDataIn = myDataIn | (1 << i); } else { //turn it off -- only necessary for debuging //print statement since myDataIn starts as 0 pinState = 0; } //Debuging print statements //Serial.print(pinState); //Serial.print(" "); //Serial.println (dataIn, BIN); digitalWrite(myClockPin, 1); } //debuging print statements whitespace //Serial.println(); //Serial.println(myDataIn, BIN); return myDataIn; }
  10. bom galera eu estou tentando imprimir um estado do led se ele esta ligado ou desligado só q to com problemas, não consigo apagar o q foi escrito anteriormente... por exemplo cliquei no botão o led acendeu e indiquei o estado no lcd como ligado cliquei no botão novamente e o led desligou, quando eu vou tentar indicar o estado do led aparece ligado e desligado ao mesmo tempo queria saber como solucionar ... segue o codigo fonte const int led = 7; //constante led refere-se ao pino digital 7. const int botao = 10; //constante botão refere-se ao pino digital 2. #include <Wire.h> // inclui biblioteca #include <LiquidCrystal_I2C.h> // inclui biblioteca lcd I2C int estadobotao = 1; // Inicializa o display no endereco 0x3F LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE); void setup() { digitalWrite(led,LOW); pinMode(led,OUTPUT); //Definindo pino digital 8 como de saída. pinMode(botao,INPUT); //Definindo pino digital 2 como de entrada. lcd.begin (20,4); } void loop(){ if(digitalRead(botao)==HIGH){ delay(10); if(digitalRead(botao)==LOW){ digitalWrite(led,estadobotao); estadobotao=!estadobotao; } } {if(estadobotao==HIGH){ lcd.setCursor(0,0); lcd.print("DESLIGADO");} {if (estadobotao==LOW) lcd.setCursor(0,1); lcd.print("LIGADO"); } }}
  11. no lugar do lm317 eu estou usando o lm338 pois no proteus não possui ele na bibioteca, meu problema faller não é com a ponte retificadora pois quando testei, eu não estava usando o LM apenas a o trafo e a ponte, , pelos meu cálculos cada transistor esta dimencionado para 6A e o lm338 esta dimensionado para +- 3A totalizando 21A A ponte esta sobre um dissipador igual ao da foto de processador de placa-mãe, e o LM338 esta sobre um dissipador de 118cmx 10cm, com refrigeração na pratica eu coloquei os capacitores 1uf eletrolítico
  12. Estou com um problema, montei esta fonte baseando nos cálculos e no esquema do faller, só que ja queimei 2 ponte refiticadoras kbpc5010 e 1 lm338k, no circuito usei o lm317 pois ano tinha o lm338, queria que se alguém poder me ajudar se diz alguma coisa errado No proteus funcionou perfeitamente, o problema acho que era o lm338k pois quando eu coloquei a fonte para funcionar, eu ligava ela ela regulava de 1,3 a 20 v porém quando acionava uma carga de uma lâmpada incandescente de carro 12v 10W caia para 3v ... se alguém poder me ajudar fico grato desde já. Dados que consegui... Saída do trafo Antes de retificado : 16v Após retificação: 14,6v Saída após filtragem capacitiva Capacitor 11 Capacitores de 4700uf 50v Saida 24,3 V Obs: eu testei meu trafo com 40 A de carga com resistência de chuveiro a tensão caiu apenas 1,1v Meu trafo foi feito de microondas, retirei o 2 enrolamento e fiz 14 espiras com fio 6mm, totalizando saida 16v os dados que consegui retirar foi esse após o lm338 queimar...
  13. Eu tinha feito um anteriomente que sempre queimava o CI 555 agora entendi por que , Muito obrigado vou terminar e vou postar aqui depois para voc..... valeu

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×