
.if
Membro VIP-
Posts
15.900 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que .if postou
-
Realmente pode ser qualquer mc. Se teu professor exigiu pic, dá um cóqui nele aí por mim. Não que ele seja difícil mas o arduíno do Paulo penso ser mais recomendável pra inicio de carreira. "Forje-se" por ele e depois parta pra outras plataformas. (em tempo: nunca usei arduíno mas sim seu mc) Defina 1º qual sensor de umidade vais usar (ou o que teu professor exigiu). Ele é quem define como vai ser a "conversa" com o mc. Como sempre dizemos, mostre algo aí de sua autoria que conseguiu fazer com sucesso até o momento. Mesmo que um pisca led. Sem isso, sua condução seria impossível.
-
Penso que obrigatoriamente você vai ter que lançar mão de algum microcontrolador bem como algum conhecimento/aprendizado em programá-lo. Creia-me: pra ele esta é uma tarefa muito fácil. O detalhe seria que um estudo a+ sobre como enviar dados pro inversor. Mas nada que uma lida no manual dele não resolva. Uma alternativa que não envolva o conhecimento acima é... você compra 2 timers, 2 controladores de temperatura, e talvez um contator mas terá que sobreviver sem controle de velocidade do motor apenas liga-desliga. Vai ficar um mini quebra cabeça pra você montar
-
Usar controle rf (de portão/alarme) no arduino
.if respondeu ao tópico de danilomelotti em Microcontroladores
Provavelmente não. Penso que este lance de código seja somente entre o tx e o rx ou nem isso. Se forem apenas aquelas peças que vejo na foto do receptor, ele é bem burro. Por isso supus um "espelho botão <---> pino do receptor". Veja se seu receptor tem algo + na parte de baixo. Realmente aqui residiria o problema de qualquer tx acionar o sistema se este for burro como supus. Não pensei nisso. sorry. Agora sim... nada impede da "inteligência" estar no tx. Neste caso aí sim ele transmite o seu código. Hás de estudá-los e seu protocolo pra fazer uma bela recepção pra eles com seu precioso arduíno que fará o papel de central (de portão e alarme p.ex.) , decodificá-lo e acionar o que quiser Repetindo, só com um pouco de estudo e pesquisa mesmo... Um caminho do meio seria algo não tão burro (mas também não é algo tããão inteligente) p.ex. Sua "senha" seria ... o sistema só atua se apertar o botão 3x em 1 segundo. Ou algo do gênero. . -
Usar controle rf (de portão/alarme) no arduino
.if respondeu ao tópico de danilomelotti em Microcontroladores
@misterjohn me 'obrigou' a dar um pitaco..rs Seguinte.. não conheço os tx e rx mas suponho que o terminal 'data' nada mais é que um 'espelho' do botão. está correto? então continuemos... Seguinte II... não tenho contato com arduínos (e nem tenho muita vontade) mas suponho que sua programação seja bem semelhante ao c. Neste caso sua solução é relativamente simples #define rele PORTB_BIT0 //translade pra definição do teu precioso #define data PORTB_BIT1 //o mesmo //faça setup do hw for (;;) { if (!data) //supondo que sinal ativo em 0 {rele^=1;while(!data);} } Acho que já vi (ou criei) este filme .. ontem kk Vai um cafezinho também? rs . -
Programação utilizando timer0 do pic 18f4550
.if respondeu ao tópico de LidianeFerrari em Microcontroladores
o menos fácil é eu resolveria assim unsigned char YY; YY=PORTB; YY>>=2; Algo como... unsigned char contador=0; for(;;) { if (!RB0) {if (contador++>=YY) RC6=1;while(!RB0);} if (!RB1) contador=RC6=0;//"Um botão RESET (ligado em RB1) ao ser acionado zera o valor do contador, desliga o relé, se este estiver ligado, e recomeça o sistema". } Quer um cafezinho também? -
Funcionamento pic16f628a na prática
.if respondeu ao tópico de Henrique de Alencar Santos em Microcontroladores
já tentou ver algum exemplo que vem com o compilador? ou dar uma olhada no help dele? Um atalho seria você modificar os fuses no programador mesmo. Só um atalho mesmo pra você ver o led piscar mais depressa. Melhor se autoresponder às perguntas supramencionadas. Aguarde um mikroczeiro de bom coração -
Queira considerar o ci CD4029. Ele tem UP/DOWN. Teorizo que se aplicares o clock um pouco depois de setar/resetar up/dowm, ele conta na direção que quiseres. Algo como um simples RC no pino clock. Na prática há teoria e é outra (criei isto agora). Dica: Se não tiveres muita pressa, considere aprender a programar um mc. Talvez + barato e muuuuuito + versátil À divagar se vai ao longe (criei isso há algum tempo)
-
Não mencionaste até então que tinhas 15V a disposição nem a potência envolvida. Neste caso meu voto vai para a ululantemente óbvia solução do amigo paulão
-
Baseando nestas tuas novas informações, penso que o mais simples e minimalista é algo como... Desconsidere a palavra "arduino" e sim seu sinal pwm e uma entrada analógica do mc pra fazer a compensação. Claro o mc vai perder algum tempo com algo que algum hw step up poderia fazer mas como tua precondição é o pwm fornecido pelo mc... que ele tenha ...paciência
-
1º verifique se chave está em 220 e sua rede é 127. 2º verifique se não está invertida a polaridade [+] e [-] ... melhor ver este 1º. Se não souber como, considere o 4º item 3º meça a tensão da bateria sem carregador e depois com. Retorne. Se não souber como, considere o 4º item 4º aguarde novas sugestões
-
Aproveita e corrija o título Bom ... a princípio é só ligar o [+] onde estava o [+] da bateria e [-] ... [-]. Recarregar vais ter que lançar mão de alguma criatividade algo como deixar os fios num conector pra entrada de uma fonte 5V + um circuitinho pra limitar V e I
-
10! Dom.... Eu ia até comentar o seguinte mas não sei porquê desisti... certa feita desmontei um treco deste. Achei bem bacaninha a mecânica dos pistões e tal. Quase senti vontade de fazer uma maquininha a a vapor só pra distrair. A vontade passou e depois de alguns pouquíssimos dias ela voltou. Percebi então que os pistões travaram por oxidação e esta foi muito rápida. Suspeitei realmente da reação da química desconhecida do óleo + gás que estava lá + oxigênio (a novidade do sistema). Até que minha teoria não estava totalmente errada. Mas a frustração foi certeira
-
Talvez 'daqui' não mas na área de elétrica-eletrônica, talvez... bem... se vais ligar em série em 12V, cada um vai ter 6V. Para tal façanha elétrica, eles tem que ser bem equilibrados elétrica e mecanicamente falando senão 1 vai ficar em 'desvantagem'. Pense nisso 1º. 2º... onde entraria o microcontrolador nesta história?
-
assembly & urgência & inexperiência & sem noção = !sucesso Para motivar algum assembleiro de bom coração, a sugestão que (sempre) dou é: mostre algo que já fez com sucesso mesmo que um simples pisca led. Senão fica a impressão que quer algo pronto só pra ficar livre desta matéria e de teu professor. Sei que talvez não seja isso! Mas...
-
Puts! Já que é assim faça em c e copie o asm que sai dele pow! fala sério
-
Perca de pulsos e de dados de leitura
.if respondeu ao tópico de Guilherme Benincá Fernandes em Microcontroladores
não salve enquanto lê os pulsos e/ou não leia pulsos enquanto está salvando uai. Ou seja, hás de bolar um sistema para "sincronizar" a mente do mc "dessincronizando" os eventos. aff acho que nem eu entendi. Algo como... os pulsos são contados pelo hw provavelmente. Que a gravação seja feita no início da contagem enquanto o mc tem algum tempo livre. Ou acumule dados para gravar e neste tempo de gravação nem dê bola pro contador. São muuiitas maneiras de sair dessa... São tantas emoções... mas nenhuma se compara a "perca" de pulso Continuo achando que vale a pena publicar esquemas e fontes... . -
tamo junto na inanição. É só pro asm. Em c não precisa Ajude o garoto se achar que deve
-
Talvez Sim! Sim!
-
ops! É um SCR. Quase =, sqn. Anodos em comum, portanto retificam negativamente. Garra preta no anodos e (-) da bat. Taí a justificativa para center tape = (+)
-
#define outraSAIDA RA0 #define entrada1 RA1 //supondo que 1 pulso aciona, outro desaciona #define entrada2 RA2 for(;;) { if (!outraSAIDA)//porém so pode ocorrer o acionameno da saida caso o nivelde outra SAIDA esteja desativado. { if (entrada1) {RB0^=1;while (entrada1);} //ao se acionar a entrada 1 a saida porb.0 acione(PERMANECENDO ASSIM ATE OCORRER OUTRO PULSO DE DESACIONAMENTO), if (entrada2) {RB4^=1;;while (entrada2);}//e a entrada 2 ative a saida portb.4 (PERMANECENDO ASIM ATÉ OCORRER OUTRO PULSO DE DESACIONAMENTO), } } Isso talvez te humilhe 1 pouco mas não deve te ajudar muito. Além do+ não sei se interpretei direito. Serve pra algum benchmarking mental entre asm e c. Num futuro (não muito distante), cogite c
-
Veja com + carinho o d.s. os valores para oscilador RC e também COMO devem ser ligados. Penso ser da ordem de dezenas de K e alguns pF´s no máximo nF´s . Obviamente o correto valor de delay() depende disso. Olha esta taquigrafia... while(1) { PORTB^=1; delay(xxx); } Vai dar a lesma lerda com bytes a menos. Piscou 1 led? Falta pouco pra dominar o mundo! Não use led verde
-
UF4007... (um insight de minha vaga lembrança pois se fosse para consultar características na net você mesmo o faria)
-
Obviamente você foi em "project", "project wizard", escolheu o PIC16F883, a ferramenta correta e deve ter dado mais alguns passos. Para um auxílio mais efetivo, por gentileza, queira informar em qual etapa empacou ou qual(is) mensagem(ns) que aparece(m).
-
Apesar que "suspeitei desde o princípio", só agora mencionas arduíno. Que bom que sua linguagem é = ao c. Pra quem tem preguiça (=eu) ou receio de clicar em links... seu código #include <IRremote.h> #include <Servo.h> Servo ServoMotor; int pino = 2; float resultado; int ang; IRrecv IRpino(pino); decode_results codigo_recebido; void setup() { Serial.begin(9600); IRpino.enableIRIn(); ServoMotor.attach(3); ang = 0; } void loop() { if (IRpino.decode(&codigo_recebido)) { Serial.println(codigo_recebido.value, HEX); Serial.println(ang); switch (codigo_recebido.value) { case 0xE0E0A659: //botao <, posicao: 45 graus ang = 45; break; case 0xE0E08679: //botao |<, posicao: 0 graus ang = 0; break; case 0xE0E006F9: //botao >|, posicao: 90 graus ang = 90; break; case 0xE0E046B9: //botao >, posicao: 180 graus ang = 180; break; case 0xE0E048B7: // botao Ch+ ang = ang + 4; if (ang > 180) { ang = 180; } break; case 0xE0E008F7: // botao Ch- ang = ang - 4; if (ang < 0) { ang = 0; } break; } ServoMotor.write(ang); IRpino.resume(); } } você vai ter que decodificar as teclas pra montar seu angulo. Talvez esperar um enter sei lá ou não. tens que ter certeza que o 1º dado recebido é centena p.ex. algo como unsigned char retorna_angulo(void) { unsigned char angulo=0,i; for (i=100;i;i/=10) { switch (codigo_recebido.value) { case 0xE0E0xxxx: // tecla 0 a=0; break; case 0xE0E0xxxx: // tecla 1 a=1; break; case 0xE0E0xxxx: // tecla 2 a=2; break; //... etc case 0xE0E0xxxx: // tecla "enter" return; } angulo+=(a*i); } Teoricamente a função retorna o dado numérico de 000 a 999 digitado no ct. rem depois de digitar 3 números centena dezena unidade você pode não acreditar mas digitei isso agora. Vais ter que lapidar este diamante bruto que pode estar impuro. P.ex. colocar filtros para teclas não desejadas Em tempo... não tenho afinidade com arduínos e cia. A linguagem acima é c. Nem adianta crtl-c ctrl-v. è só pra você ver o conceito
-
ok. vou tentar com outras palavras... publique o fonte e esquemas
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