Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Fabio Munhoz

Membros Juniores
  • Total de itens

    8
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Boa tarde, estou fazendo um projeto que utiliza arduino e esse sensor de cor, para acionar uma válvula. Achei um programa pronto para ler as cores, porém não estou entendendo a função que le as cores, se alguém, puder me explicar, porque vou usar essa parte da função para ler as cores e comparar para poder acionar a válvula, e vou ter que explicar toda a programação para meus professores. a parte que não entendi é essa: void color() { //Rotina que le o valor das cores digitalWrite(s2, LOW); digitalWrite(s3, LOW); //count OUT, pRed, RED red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); digitalWrite(s3, HIGH); //count OUT, pBLUE, BLUE blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); digitalWrite(s2, HIGH); //count OUT, pGreen, GREEN green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); } e aqui está o link da onde eu retirei essa programação: https://www.filipeflop.com/blog/sensor-de-cor-tcs3200-rgb-arduino/ Obrigado desde já.
  2. Boa tarde, gostaria de saber se é possível, e se alguém sabe como ligar o Arduino no pic, por exemplo com programações totalmente diferentes, mas usar uma porta do Arduino como saída pra ligar em uma de entrada do pic, as duas digitais mesmo, 0 ou 1. Ja testei desse modo com leds apenas para testar e não rolou, estou usando o mikroc pro para programar o pic, e no programa estava algo do tipo: if ( PORTB.RB5 == 1) { PORTB.RB4 = 1; } ELSE { POTB.RB4 = 0; } Obrigado, e desculpe a ignorância.
  3. Controlar servo motor com pic 18F4520

    @test man*~ Bacana esse Pca9685, entrei pra ver na internet, não conhecia, parece ser uma alternativa mesmo. Muito obrigado pela dica, vou tentar um pouco mais sem usar esse driver ai, mas se não rolar mesmo vou partir pra ele. Muito obrigado. adicionado 9 minutos depois @Isadora FerrazAinda estou tentando melhorar a garra por comandos prontos antes de mexer com o potenciometro, e descobri que o servo tem força sim para fazer a garra ter mais pressão, colocando no programa apenas o comando para fechar a garra, ela fica sempre forçando a garra para fechar, e ela funciona perfeitamente. Então tentei colocar como uma interrupção apenas o comando de fechar a garra, para que rapidamente ela força o objeto para que não caia. Funcionou legal, porém quando add no programa no loop normal, outro comando em outro servo, ele não reproduz, porque parece que fica o tempo inteiro na interrupção forcando a garra, diminui o tempo do timer para a interrupção, porém mesmo assim não funciona. Vi que o servo que estou usando, precisa do sinal de pwm em uma frequências de 50Hz, 20 ms. Então no programa para enviar um comando para que o servo gire, fica algo assim: void girar0(){ unsigned int i; for(i=0,i<50,i++) { PORTB.RB0 = 1; Delay_us(1500); PORTB.RB0 = 0; Delay_us(18500); } } Pelo o que eu entendi essa função for é necessária, para que o comando seja enviado 50 vezes, por causa da frequências de 50Hz. Acho que o esquema da interrupção não deu certo, pelo fato de esse comando para o outro servo girar demorar muito, 1 segundo aparentemente, pois seria 50*20ms, certo? e a interrupção sempre interrompera o comando para o outro servo girar, e assim ele nunca vai girar. Não sei se estou certo, é o que eu acho, alguma sugestão? Muito obrigado pela atenção.
  4. Controlar servo motor com pic 18F4520

    @Isadora Ferraz Muito obrigado pela resposta, então, eu fiz um teste com a garra pegando um algodão, e funcionou perfeitamente, porque ela amassa o algodão e fecha a garra por completo, mas com um Halls por exemplo que ela não fecharia ate o limite, não da certo, porque ela fecha ate o Halls, e para por ai, ai ela acaba "afrouxando" e o Halls cai, teria um jeito de eu mandar o sinal para ela fechar e o sinal ficar enviando toda hora, mesmo enquanto ele atua nos outros servos, eu tentei colocar o sinal entre os outros, mas mesmo assim não funcionou. O esquema de controlar pelo pot, eu teria que usar as duas portas PWM pra fazer do jeito que você disse né? Como eu faria com 4 servo motores se o pic que estou usando so tem duas portas PWM? Não entendi muito bem o lance da corrente que você disse, desculpe a ignorância, estou começando agora a mexer com isso e estou apanhando um pouco. Muito obrigado pelas dicas.
  5. Boa tarde, estou montando um braço robótico com 4 servo motores 9g, usando o pic 18f4520, ele só possui 2 portas PWM, então estou usando portas normais dele, mandando um sinal de nível alto de 700us e 19300us em nível baixo, para o servo ficar em 0º, e um sinal alto de 2200us, e 17800 em nível baixo, para o servo rodar 180º. Não consegui fazer funcionar através de um potenciometro, então estou apenas tentando programar movimentos e ele ficar repetindo, o conjunto está funcionando, porém a garra não consegue pegar praticamente nada além de um algodão, porque quando o servo motor atua na garra e faz ela fechar, se o objeto for muito grande ela fica "loca" e tenta fechar e abre de novo, se o objeto for muito pequeno, ela fecha e afrouxa depois, e o objeto não acompanha a garra. Estou ligando o pino PWM do servo direto na porta RB7 do pic, alguém tem alguma sugestão do que fazer para melhorar essa garra? Poderia ser que a corrente está muito baixa? Mas acredito que o problema seja na programação mesmo. Estou utilizando o MikroC for pic, para programar. Obrigado, Fabio. Braço robótico.mp4

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

×