-
Posts
771 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que rjjj postou
-
Sensor de nível de luminosidade com ldr e temporizador 555
rjjj respondeu ao tópico de Kátia Johandra em Eletrônica
@Mestre88 Rodei no Simulink um circuito não-linear semelhante ao que você postou, com tensão de 9V de alimentação e de valor inicial do capacitor. A resistência de carga é diferente, mas também está na faixa de 100Ω a 1kΩ, além do transistor genérico ter um ganho igual a 100 . Nota-se que a corrente de coletor, em verde, mantém uma forma quase idêntica à da corrente de base, em azul. Se a carga fosse um LED, ele ficaria sujeito a uma corrente com esse gráfico, teoricamente variando a luminosidade conforme o decaimento deste. Espero ter ajudado . -
Sensor de nível de luminosidade com ldr e temporizador 555
rjjj respondeu ao tópico de Kátia Johandra em Eletrônica
@Mestre88 O circuito poderia efetuar as temporizações RC com tiristores SCR em vez de transistores NPN. Assim, durante os 5 segundos de descarga as luminosidades dos LEDs não decairiam . Um SCR comercial apropriado seria o BT169. O mesmo, como o transistor BC548, é um dispositivo para aplicações de baixa potência. Espero ter ajudado . -
@Steffane Exatamente. Se qualquer uma dessas alternativas estivesse correta, haveria sobreposição de espectros de Fourier referentes ao sinal original e à amostragem, isto é, ruído . O ideal é que não haja sobreposição, como mostrado acima. Isso inclusive possibilita uma posterior recuperação, através de um filtro, do sinal original a partir da versão amostrada. Espero ter ajudado .
-
Pelo Teorema de Nyquist, a mínima frequência de amostragem é o dobro da máxima frequência de harmônica. Logo: Espero ter ajudado .
-
@albert_emule Esta ferramenta web é útil para calcular filtros básicos : http://sim.okawa-denshi.jp/en/RLClowkeisan.htm Com L = 1mH e C = 680μF no filtro passa-baixa que você postou, consegui uma atenuação de 40dB (de 100 vezes) a 2kHz, mantendo 0dB em 60Hz. Além disso, esses seriam valores comerciais de capacitores e indutores de potência. Entretanto, a complicação seria a disponibilidade desses componentes. Para isso seria necessário conhecimento técnico sobre o gerador e a carga. Espero ter ajudado .
-
Um sistema eletrônico para tratar desse ruído não seria fácil de projetar e nem de construir. Penso que o melhor seria conseguir um transformador de isolação blindado, ainda com blindagem múltipla. O mesmo filtraria, possivelmente até removendo por completo, qualquer ruído proveniente do gerador, tanto de modo comum quanto diferencial . O vendedor deste produto do Mercado Livre disse que trabalha com isso: http://produto.mercadolivre.com.br/MLB-717906200-transformador-isolador-500va-blindagem-eletrostatica-_JM Espero ter ajudado .
-
Alimentar um motor DC através de um conversor AC-DC é um problema frequente. A solução ótima, para alcançar a máxima eficiência de conversão, costuma ser um retificador controlado por tiristores : Só que não é tão simples assim, pois é importante conhecer o circuito equivalente do motor, sobretudo o de armadura ! Para se ter uma ideia, o circuito que postei acima vale apenas para o caso de rotor bloqueado . Mas a jogada do circuito é, através de uma indutância significativa na saída da ponte, filtrar a corrente de forma que ela seja constante no circuito de armadura do motor DC. Espero ter ajudado .
-
Fiz este simples código para ilustrar a sintaxe correta para ponteiros de matrizes: #include <iostream> int main(void) { int m[2][3] = {{0, 1, 2}, {3, 4, 5}}; //Cria e inicializa uma matriz específica. int (*p)[2][3]; //Declara um ponteiro para matriz. p = &m; //Faz o ponteiro 'p' apontar para a matriz 'm' na memória. std::cout << m[1][0] << std::endl; //Acessa o valor m[1][0] diretamente. std::cout << (*p)[1][0] << std::endl; //Acessa o valor m[1][0] por ponteiro. std::cin.get(); return 0; } Espero ter ajudado .
-
@MOR Acrescentando, com a Regra de Cramer pode-se encontrar individualmente o valor de va. Com uma subtração envolvendo essa tensão e a da fonte, encontra-se a corrente de entrada do circuito . Por fim, como em outros casos, a tensão de entrada dividida pela corrente de entrada resulta na resistência equivalente do sistema. Espero ter ajudado .
-
@Mateus_22 Pesquise sobre a transformação que eu indiquei. Por ela você reduzirá seu circuito a associações do tipo série-paralelo, como é comum de ser feito. Espero ter ajudado .
-
O seguinte circuito pré-amplificador para microfones de eletreto deve resolver o seu problema. Monte-o e verifique o sinal de saída no terminal OUT com, por exemplo, um mini-osciloscópio . Retirado do livro Electronics Cookbook da editora O'Reilly. Espero ter ajudado .
-
Aplique o chamado Teorema de Kennelly, que relaciona as conexões de circuito Y (ou T) e Δ (ou π). O objetivo será converter as formas T à direita no seu circuito : Em formas π, assim facilitando muito o trabalho de achar a resistência equivalente: Espero ter ajudado .
-
A dica que dou é que primeiro faça o código de uma linked list com tamanho variável, como se fosse um simples vetor dinâmico. Depois, faça a alocação dinâmica de uma matriz ou array bidimensional comum . Dominando essas duas aplicações mais fáceis, provavelmente você conseguirá alocar dinamicamente um vetor de linked lists. Espero ter ajudado .
-
@Ydraude Sepol As tensões de linha (diferenças entre as fases) também são ondas sinusoidais, semelhantes às tensões de fase cujos gráficos você postou. Por isso, obrigatoriamente elas cruzam o zero em alguns instantes, mesmo imperceptíveis, de tempo . O valor RMS da forma de onda porém, por ser um tipo de média, não é afetado por esses cruzamentos. Ele que costuma ser requerido para os equipamentos AC funcionarem. Espero ter ajudado .
-
Nesse instante, como os potenciais das fases seriam iguais em relação à referência, a diferença de potencial entre elas seria igual a zero. Isso significa que você está correto. Espero ter ajudado .
-
Projetei um circuito, com uma aproximada saída sinusoidal de 450 Hz, para atender às suas especificações : Circuito eletrônico. Acima, considera-se uma carga (alto-falante de celular) de valores nominais 32 Ω e 30 mW. Espero ter ajudado .
-
Comando de programação para Pic18f4520 utilizando as portas como blocos
rjjj respondeu ao tópico de Carla Regina Albino em C/C#/C++
Aplique uma máscara no dado de porta através de operadores bit a bit: PORTX &= 0xE0; //Zera de RX0 a RX4, mantendo o resto. PORTX |= 0x1F; //Força 1 de RX0 a RX4, mantendo o resto. Espero ter ajudado . -
Um jeito interessante de fazer isso é por vetor de structs : struct {const int Valor; const char * const Cor;} Resistor[3] = { {470, "Amarelo-Violeta-Marrom"}, {1300, "Marrom-Laranja-Vermelho"}, {20000, "Vermelho-Preto-Laranja"} }; O código para percorrer essas informações seria assim: for(int i = 0; i < 3; i++) { printf("Valor: %d | Cor: %s\n", Resistor[i].Valor, Resistor[i].Cor); } Espero ter ajudado .
-
Aproximadamente, para baterias de 12V, use uma tensão de carregamento de 14V. Já para baterias de 24V, use uma tensão de carregamento de 28V . Vale frisar que se deve, no caso de carregar uma bateria por tensão, controlar a corrente circulante. Isso pode ser realizado por um resistor de potência, por exemplo. Espero ter ajudado .
-
Há um tempo atrás postaram este projeto aqui no fórum. Ele é muito útil para saber como ligar LEDs na rede elétrica de forma simplificada: Espero ter ajudado .
-
Tanto o 1N5408 quanto o UF304G são diodos de potência de 3A, como é o caso do UF5406. Todos têm tensões de pico reversas até altas demais para o circuito em questão . Porém, o diodo 1N5408 não é de recuperação rápida, uma aplicação mais comum em circuitos chaveados. Use-o no seu circuito de potência linear e guarde o outro para um uso mais sofisticado. Espero ter ajudado .
-
Há várias formas de fazer esse código, obviamente. Uma delas, bem interessante, é trabalhando com strings (biblioteca string.h). Você poderia representar as locadoras e seus filmes por uma struct : typedef struct { char Filmes[3][11]; } Locadora; Com isso, você inicializaria a mesma com os nomes dos filmes: const Locadora Loc[3] = { {"Batman", "Mib", "Golpe"}, {"Batman", "Hancock", "Bad Boys 1"}, {"Batman", "Mib2", "Bad Boys 2"} }; Então, você criaria arrays para os nomes tabelados e filmes desejados pelo usuário : const char Tabela[7][11] = {"Batman", "Mib", "Mib2", "Golpe", "Hancock", "Bad Boys 1", "Bad Boys 2"}; char Desejados[3][11] = {0}; Com isso, seria possível requisitar um número (opção) ao usuário e associar o mesmo a um nome de filme, através da array Tabela. Esse nome poderia ser guardado em Desejados para uma posterior avaliação (veja a função strcpy de string.h). Ainda, seria possível, através da sintaxe Loc[x].Filmes[y], comparar os filmes desejados com os disponíveis em cada locadora, tornando possível uma listagem por locadora (veja a função strcmp de string.h). Espero ter ajudado .
-
Falha de segmentação em funções não relacionadas
rjjj respondeu ao tópico de Matheus Perusso em C/C#/C++
Corrigindo, você não poderia usar a técnica do static que mencionei, pois ela não funciona com VLAs (arrays de tamanho variável) . O problema do caractere '\n' pode ser pela presença dele em uma chamada do printf. Também é possível que seja um excesso nos buffers de I/O, o que pode ser resolvido substituindo todo uso de scanf por fgets. Espero ter ajudado . -
Falha de segmentação em funções não relacionadas
rjjj respondeu ao tópico de Matheus Perusso em C/C#/C++
Para inicializar a array carrosdafilial, você teria que alterar esta linha: filial carrosdafilial[nf]; A alteração a seguir faria todos os bits das estruturas de dados serem zerados : filial carrosdafilial[nf] = {0}; O código abaixo faria o mesmo, mas mudando a alocação para o tipo estático: static filial carrosdafilial[nf]; * Técnica inválida para arrays de tamanho variável. Para zerar somente as arrays numerodecarros internas das structs, você teria que fazer um loop mesmo: //A função 'memset' encontra-se em 'string.h'. for(int i = 0; i < nf; i++) memset(carrosdafilial[i].numerodecarros, 0, 5 * sizeof(int)); Espero ter ajudado . -
Falha de segmentação em funções não relacionadas
rjjj respondeu ao tópico de Matheus Perusso em C/C#/C++
O problema está nesta linha do seu código: carrosdafilial[identificador].identificadorcarros[carrosdafilial[identificador].numerodecarros[0]]=ncar; O erro de segmentation fault que foi relatado ocorre devido a uma tentativa de acesso a uma array por um índice inválido (index out of bounds). Perceba que a variável array carrosdafilial não é inicializada, fazendo com que seus valores sejam imprevisíveis logo no começo do programa . Por exemplo, o dado específico numerodecarros[0] é mexido em somente duas funções do seu código: criarfiliais e filiaisc. A primeira função, que deveria preparar a array de structs carrosdafilial, porém, não trabalha com carrosdafilial[0]. Quando na segunda função o usuário tenta acessar o índice carrosdafilial[0].numerodecarros[0], ocorre o erro de tempo de execução. Espero ter ajudado .
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