Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''Arduino''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição de áudio e vídeo
    • Programas
  • Sistemas Operacionais
    • Recomendação de sistemas operacionais
    • Windows
    • GNU/Linux, BSD, Unix-like e software livre
  • Eletrônicos
    • Equipamentos de som, home theaters e gravadores de mesa
    • Televisores e projetores
    • Câmeras e filmadoras
    • Players portáteis
    • Consoles (videogames)
    • GPS
    • Telefonia fixa
    • Eletrônica
    • Retrocomputação
  • Outros
    • Recomendações de serviços e lojas
    • Preços e promoções
    • Notícias
    • Bolsa de empregos, certificações e mercado de trabalho
    • "Causos"
    • Encontros de usuários
    • Feira do Rolo
  • Clube do Hardware
    • Comentários, elogios, críticas, sugestões e questões sobre o Clube do Hardware
    • Comentários de artigos
    • Fórum para testes de funcionalidades

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Caixas de som

Encontrado 144 registros

  1. Boa noite, sou novo aqui no fórum, que acompanho há alguns anos apenas para leitura, e hoje resolvi me inscrever para tirar uma dúvida. Não tenho certeza se esta é a seção correta, mas lá vai. Comecei a brincar com o Arduino um mês atrás, aproximadamente, e no momento estou fazendo testes com diferentes circuitos, pra entender a lógica do negócio antes de realmente sair explorando. Esta semana montei dois circuitos muito semelhantes, e usando um multímetro cheguei a uma pergunta que como leigo não sei responder. São circuitos envolvendo resistores, dois leds e as portas digitais 3 e 5. Vou anexar imagens do circuito feito num simulador. No primeiro circuito temos o que eu acredito ser a disposição ideal a ser feita no caso. Um resistor de 330 ohms para cada led. Utilizando o multimetro eu obtive os seguintes resultados: - Cada led possui 1.9v de tensão. - Cada resistor possui 2.8v de tensão. - Totaliza 9.4v. O que imagino ser ok, sendo que até onde eu sei, temos 10v na fonte, juntando as duas saídas, portanto se distribuem esses 10v pelos componentes de acordo com o que cada um suporte. Obs: estou desprezando as pequenas variações. No simulador obtive aproximadamente a mesma tensão nos componentes e a MESMA corrente - como era de se esperar - de 9.51mA em cada componente. No segundo circuito, pus apenas um resistor - testei com 330ohms e 1k - na saída. E utilizando o multimetro obtive os resultados: - Cada led possui 1.7v de tensão. - O resistor possui 3.2v. - Totaliza 6.6v. Porém, tenho 10v - juntando as duas saídas - e se é verdade que os 10v se distribuem pelos elementos do circuito, onde estão os quase 3v restantes (isto é uma pergunta, minha interrogação não funciona). Obs1: também desprezando pequenas variações. Obs2: Os resultados NO MULTIMETRO quando pus o resistor de 1k ohm foi uma variação de aproximadamente 0.1~0.3v para baixo em cada componente. No simulador, com o resistor de 330ohms obtive correntes de 4.81mA em cada led e 9.62mA no resistor e utilizando o resistor de 1k ohms obtive 1.62mA em cada led e 3.23mA no resistor. O que vai de encontro com o que eu acreditava, que a corrente é sempre a mesma - considerando um circuito em série - para os elementos. Então fica a minha dúvida, onde estão os 3v do segundo circuito, porque as correntes nele são diferentes, houve queda de tensão e se houve, qual a causa e o que aconteceria se eu deixasse este circuito montado, queimaria(perguntas). Abraço a todos.
  2. Pessoal eu estou montando um projeto de braço robotico no arduino usando servo motores e botões, para mexer os servos. Está tudo funcionando mas a parte da garra o servo não está funcionando da maneira que deveria, so está mexendo se aperta apenas 1 botão e ele vai e volta, achei que o problema poderia estar nas portas do arduino então coloquei na analogica e coloquei o digitalRead porém continua não funcionando da forma que deveria.. Queria saber se o problema esta no codigo. #include <Servo.h> //BIBLIOTECA DE FUNÇÕES COM MOTORES SERVOS // DECLARAÇÃO DOS MOTORES USADOS NO PROJETO... Servo servoBase; //RODA O SERVO PARA DIREITA E PARA ESQUERDA... Servo servoGarra; //GARRA DO BRAÇO MECÂNICO... Servo servoSD1; //MOTOR RESPONSÁVEL PELA MOVIMENTAÇÃO HORIZONTAL DO BRAÇO ATRÁS Servo servoSD2; //MOTOR RESPONSAVEL PELA MOVIMENTAÇÃO HORIZONTAL DO BRAÇO NA FRENTE int anguloInicial = 0; //ANGULO INICIAL int botaoBaseD = 2; //BOTAO RESPONSAVEL EM MOVER A BASE PARA A DIREITA int botaoBaseE = 3; //BOTAO RESPONSAVEL EM MOVER A BASE PARA ESQUERDA int botaoSubir1 = 4; //BOTAO RESPONSAVEL EM SUBIR A PARTE TRÁS DO BRAÇO int botaoDescer1 = 5; //BOTAO RESPONSAVEL EM DESCER A PARTE TRÁS DO BRAÇO int botaoSubir2 = A0; //BOTAO RESPONSAVEL EM SUBIR A PARTE DA FRENTE DO BRAÇO int botaoDescer2 = A1; //BOTAO RESPONSAVEL EM DESCER A PARTE DA FRENTE DO BRAÇO int botaoGarraFechar = 8; //BOTAO RESPONSAVEL EM FECHAR A GARRA int botaoGarraAbrir = 9; //BOTAO RESPONSAVEL EM ABRIR A GARRA bool leituraBotaoD = 0; //LÊ O BOTAO DA BASE DIREITA bool leituraBotaoE = 0; //LÊ O BOTAO DA BASE ESQUERDA bool leituraBotaoSubir1 = 0; //LÊ O BOTAO QUE SOBE O BRAÇO bool leituraBotaoDescer1 = 0; //LÊ O BOTAO QUE DESCE O BRAÇO bool leituraBotaoSubir2 = 0; //LÊ O BOTAO QUE SOBE O BRAÇO bool leituraBotaoDescer2 = 0; //LÊ O BOTAO QUE DESCE O BRAÇO bool leituraBotaoFechar = 0; //LÊ O BOTAO QUE FECHA A GARRA bool leituraBotaoAbrir = 0; //LÊ O BOTAO QUE ABRE A GARRA void setup() //FUNÇÃO ONDE SÃO ESPECIFICADAS AS CONFIGURAÇÕES DO PROJETO... { Serial.begin(9600); //ATRIBUIÇÃO DE PINOS PARA OS MOTORES servoGarra.attach(12); servoBase.attach(13); servoSD1.attach(10); servoSD2.attach(11); pinMode(botaoBaseE,INPUT); pinMode(botaoBaseD,INPUT); pinMode(botaoSubir1,INPUT); pinMode(botaoDescer1,INPUT); pinMode(botaoSubir2,INPUT); pinMode(botaoDescer2,INPUT); pinMode(botaoGarraFechar,INPUT); pinMode(botaoGarraAbrir,INPUT); Serial.begin(9600); servoBase.write(anguloInicial); servoGarra.write(anguloInicial); servoSD1.write(anguloInicial); servoSD2.write(anguloInicial); } void loop() { leituraBotaoD = digitalRead(botaoBaseD); leituraBotaoE = digitalRead(botaoBaseE); while(leituraBotaoD == HIGH && leituraBotaoE == LOW && anguloInicial < 180){ anguloInicial = anguloInicial + 2; servoBase.write(anguloInicial); Serial.println("BASE PARA DIREITA"); delay(25); leituraBotaoD = digitalRead(botaoBaseD); leituraBotaoE = digitalRead(botaoBaseE); // leituraBotaoD = 0; } while(leituraBotaoE == HIGH && leituraBotaoD == LOW && anguloInicial > 0){ anguloInicial = anguloInicial - 2; servoBase.write(anguloInicial); Serial.println("BASE PARA ESQUERDA"); delay(25); leituraBotaoD = digitalRead(botaoBaseD); leituraBotaoE = digitalRead(botaoBaseE); //leituraBotaoE = 0; } //****************** SOBE E DESCE 1 ***************************** leituraBotaoSubir1 = digitalRead(botaoSubir1); leituraBotaoDescer1 = digitalRead(botaoDescer1); while(leituraBotaoSubir1 == HIGH && leituraBotaoDescer1 == LOW && anguloInicial < 180){ anguloInicial = anguloInicial + 2; servoSD1.write(anguloInicial); Serial.println("SOBE 1"); delay(25); //leituraBotaoSubir1 = 0; } leituraBotaoSubir1 = digitalRead(botaoSubir1); leituraBotaoDescer1 = digitalRead(botaoDescer1); while(leituraBotaoDescer1 == HIGH && leituraBotaoSubir1 == LOW && anguloInicial > 0){ anguloInicial = anguloInicial - 2; servoSD1.write(anguloInicial); Serial.println("DESCE 1"); delay(25); //leituraBotaoDescer1 = 0; } //******************* SOBE E DESCE 2 **************** leituraBotaoSubir2 = digitalRead(A0); leituraBotaoDescer2 = digitalRead(A1); while(leituraBotaoSubir2 == HIGH && leituraBotaoDescer2 == LOW && anguloInicial < 180){ anguloInicial = anguloInicial + 2; servoSD2.write(anguloInicial); Serial.println("SOBE 2"); delay(25); //leituraBotaoSubir2 = 0; } leituraBotaoSubir2 = digitalRead(botaoSubir2); leituraBotaoDescer2 = digitalRead(botaoDescer2); while(leituraBotaoDescer2 == HIGH && leituraBotaoSubir2 == LOW && anguloInicial > 0){ anguloInicial = anguloInicial - 2; servoSD2.write(anguloInicial); Serial.println("DESCE 2"); delay(25); //leituraBotaoDescer2 = 0; } //******************************GARRA********************** leituraBotaoFechar = digitalRead(botaoGarraFechar); leituraBotaoAbrir = digitalRead(botaoGarraAbrir); while(leituraBotaoFechar == HIGH && leituraBotaoAbrir == LOW && anguloInicial < 180){ anguloInicial = anguloInicial + 5; servoGarra.write(anguloInicial); Serial.println("FECHA "); delay(25); //leituraBotaoFechar = 0; } leituraBotaoAbrir = digitalRead(botaoGarraAbrir); leituraBotaoFechar = digitalRead(botaoGarraFechar); while(leituraBotaoAbrir == HIGH && leituraBotaoFechar == LOW && anguloInicial > 0){ anguloInicial = anguloInicial - 5; servoGarra.write(anguloInicial); Serial.println("ABRE"); delay(25); //leituraBotaoAbrir = 0; } }
  3. bom dia, meu nome é Inacio, estou com uma dúvida simples e complexa acredito!! se for possível poderiam me ajudar em um projeto de TCC meu, mais para a parte do arduino. estou com dívida na seguinte etapa da minha programação: quero fazer com que três sensores leiam materais plásticos,metálicos,e de vidro(s1,s2,s3); porém dois sensores leem tudo(s1,s3) enquanto apenas um lê apenas metal(s2),mas o sensor s3 consegue detectar variação de objetos, sendo assim possível especificar o vidro no caso. deste modo consegui aplicar isto na IDE Arduino. eu tentei muitas vezes usar o comando if mas não obtive resultados esperados; meu objetivo é conseguir usar o valor dos dados que entram na porta analógica do arduino ou os dados que aparecem no monitor serial, exemplo :no monitor mostra 5,00. Como eu posso armazenar e usar este valor como definido para vidro, sabendo que terei outros dois sensores que também detectaram algo ao mesmo tempo? sendo mais direto como posso definir o valor variante que aparece no monitor e defini-lo para determinada tarefa? por favor se puder me ajudar nisto ficaria grato, estou há 1 semana quebrando a cabeça com isto como minha programação está no momento: nt scap= A0;//pino do sensor de vidro int led01=10;//led que sinaliza apenas o funcionamento float vcap=0;//nível de tensão que entra no sensor void setup() { Serial.begin(9600); pinMode(A0,INPUT); pinMode(10,OUTPUT); } void loop() { int vcap=analogRead(scap); float v1 = vcap * (5.0 / 1023.0); Serial.println(v1); digitalWrite(led01,v1); delay(550); //por enquanto esta ptogramação me mostra valores que são captados com a presença de um objeto a façe do sensor e são exibidos no monitor serial; }
  4. Boa noite. Estou tentando acionar um relé por um determinado espaço de tempo utilizando modulo rtc ds3231, alguém poderia exemplificar para mim uma forma de fazer isso? por exemplo: As 21:00 h começa a executar uma função e dentro dessa função vamos acionar um relé por 30 min.
  5. Boa noite, comprei um arduino Nano, um sensor de gás MQ-04 e um módulo HC-05. Meu problema está no funcionamento do módulo HC-05, faço as seguintes conexões: VCC do módulo -> 5v do arduino GND do módulo - > GND do arduino TX do módulo -> pino 11 RX do módulo -> pino 10 (Com divisor de tensão utilizando resistores 1k2 e 2k2 devido alimentação de 3.3v) Quando ligo o arduino via porta serial no pc, o módulo pisca o LED durante alguns segundos e depois para de piscar, pesquisando na internet verifiquei que esse LED devia ficar piscando até algum dispositivo se conectar ao módulo porém tento procurar o bluetooth no celular e não aparece nenhum dispositivo para parear. Já tentei acessar o modo AT dele tb porém envio os comandos e não obtém resposta, alguem poderia me ajudar?!
  6. Estou com um problema com um problema e não sei se é a programção, pois meu servo motor não esta completando a programação fazendo o movimento apenas uma vez e meia, enquanto todo o resto esta a funcionar normalmente. adicionado 7 minutos depois /*Pinagem do arduino*/ #include <Servo.h> #define SERVO 3 // Porta Digital 3 Servo s ; // Variável Servo int pos; // Posição Servo int rep = 0; int rep2 = 0; int curvaa = 0; int curvaaa = 0; //motor_A int IN1 = 6 ; int IN2 = 7 ; int velocidadeA = 5; //motor_B int IN3 = 9 ; int IN4 = 10; int velocidadeB = 11; //variavel auxiliar int velocidade = 0; //------------------------------------------------- //Inicializa Pinos void setup() { pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); pinMode(velocidadeA,OUTPUT); pinMode(velocidadeB,OUTPUT); s.attach(SERVO); Serial.begin(9600); s.write(0); } void loop() { while(rep < 3){ for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(10); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } delay(50); retoo(); rep++; } delay (150); // curva 1 <--------------------------------------- while(curvaa < 4){ curvaaa1(); delay(50); curvaa++; } while(rep2 < 3){ for(pos = 0; pos < 180; pos++) { s.write(pos); delay(5); } delay(5); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(5); } delay(10); retoo2(); rep2++; } // curva 2 >--------------------------------------- while(curvaaa < 4){ curvaaa2(); delay(50); curvaaa++; } for (int i=1; i>0; i++);{} } //--------------------------------------------------- //--------------------------------------------------- //--------------------------------------------------- void retoo(){ digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(velocidadeA,140); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(velocidadeB,75); delay(50); } //--------------------------------------------------- void retoo2(){ digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(velocidadeA,140); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(velocidadeB,75); delay(50); } //--------------------------------------------------- void servo() { for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(10); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } } //--------------------------------------------------- void curva2(){ digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(velocidadeA,125); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); analogWrite(velocidadeB,250); } //---------------------------------------------------- void curva1(){ digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); analogWrite(velocidadeA,200); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(velocidadeB,100); } //---------------------------------------------------- void curvaaa2(){ curva2(); delay(1500); retoo2(); delay(1500); } //---------------------------------------------------- void curvaaa1(){ curva1(); delay(1500); retoo(); delay(1500); } //---------------------------------------------------- void re(){ digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); analogWrite(velocidadeA,140); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); analogWrite(velocidadeB,75); } //---------------------------------------------------- adicionado 30 minutos depois mudei apenas para a programação do meu servo e continua 1 ciclo e meio com a alimnetação externa enquanto por usb esta normal ...... #include <Servo.h> #define SERVO 3// Servo s; // Variável Servo int pos; // Posição Servo int rep = 0; void setup () { s.attach(SERVO); Serial.begin(9600); s.write(0); // Inicia motor posição zero } void loop(){ while(rep<5) { for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(1000); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } rep++; } }
  7. É o seguinte, eu estou fazendo um projeto que utiliza diversos sensores, como por exemplo, de temperatura. Na hora de criar o código eu os separo por funções, como exemplo func_temp(), eu determino as condições é coloco no loop. Só que isso é apenas para um sensor, minha dúvida é como usar essa mesma função para 4 sensores de temperatura, por exemplo. Poderiam fazer um código teste apenas para esclarecer essa minha dúvida? Obrigado
  8. Gente, preciso muito da ajuda de vcs, Seguinte, preciso programar uma sinaleira automatica (apenas para carros) com millis no arduino, só que nao tenho a minima ideia de como fazer com este (millis). Agradeço desde já a ajuda.
  9. Eu estou fazendo uma cadeira na faculdade e preciso fazer um projeto com arduino, eu pensei, porque não fazer algo que vá me ser útil então? já que é pra começar resolvi fazer algo básico, fazer um app pra android que mande um sinal pro arduino, que vai ligar meu note quando eu estiver perto de casa. Eu vi coisas e só achei como mandar um sinal pro arduino com o shield de Ethernet ou Bluethoot(que não me serve), por exemplo com o código desse cara aqui https://br.renatocandido.org/2013/09/acendendo-um-led-via-internet-com-arduino-e-o-ethernet-shield/ Mas eu sei que tem, por exemplo, como fazer carrinhos de controle remoto por app com arduino, e não sei se eles usam ethernet pra isso, até porque se eu fosse fazer pelo ethernet assim, acho que seria meio over, entendem? eu só quero mesmo mandar um sinal, algo que chegue nela e ele entenda que tem startar os seus processos, tem como?
  10. Bom dia pessoal, estou tendo um problema em um código que estou desenvolvendo para um contador de display matricial de leds, com cinco displays 5x7 para contar de 0 à 999. Um breve resumo do programa: Ele pega a função “millis” , divide por 1000, e depois grava este valor na variavel inteira “numero”. depois ele executa um laço “for”, onde pega esta variavel, divide por outra variavel inteira “fator”, e divide o resultado desta operação por “BASE”, a qual foi definida no inicio do programa por como sendo 10, e atribui este resultado a uma variável denominada “valor”. E ainda dentro deste laço “for”, ele compara por meio da condição “if” numero correpondente aos cinco digitos do display, e chama uma função para que transfere em um array do tipo “byte” chamado “led”, o caractere correspondente, dos caracteres correspondentes gravados no array do tipo “char matriz”. Despois uma outra função é chamada para pegar cada array “led” e transferir para o um array maior do tipo char 40x7 denominado “máscara” , com a sua devida posição de acordo com a contagem, e por último uma função é chamada para enviar os dados deste ultimo array 40x7 para cinco circuitos integrados 74HC595 registradores de deslocamento, os quais mandam a informação de suas saidas para as colunas dos cinco displays 5x7. Esta mesma função gera ainda os pulsos de clock e reset para um circuito integrado 4017, o qal faz a contagem das linhas e completa a multiplexagem dos display. Ao compilar este código, ele compila normalmente e não aparece nenhum erro. só que os cinco displays simplesmente não acendem. Não se trata de um problema de hardware, pois testei os cinco displays em um outro programa e eles funcionaram normalmente, igualmente com os circuitos integrados 74HC595. Ja o circuito integrado 4017 retirei de um outo circuito que havia montado e também esta funcionando normalmente. Abaixo segue em anexo o código, se alguem tiver tempo de analisar e me ajudar, agradeço: #define ZERO {B01110000,B10001000,B10011000,B10101000,B11001000,B10001000,B01110000} #define UM {B00100000,B01100000,B00100000,B00100000,B00100000,B00100000,B01110000} #define DOIS {B01110000,B10001000,B00001000,B00010000,B00100000,B01000000,B11111000} #define TRES {B01110000,B10001000,B00001000,B01110000,B00001000,B10001000,B01110000} #define QUATRO {B00010000,B00110000,B01010000,B10010000,B11111000,B00010000,B00010000} #define CINCO {B11111000,B10000000,B11110000,B00001000,B00001000,B10001000,B01110000} #define SEIS {B00110000,B01000000,B10000000,B11110000,B10001000,B10001000,B01110000} #define SETE {B11111000,B00001000,B00001000,B00010000,B00100000,B00100000,B00100000} #define OITO {B01110000,B10001000,B10001000,B01110000,B10001000,B10001000,B01110000} #define NOVE {B01110000,B10001000,B10001000,B01111000,B00001000,B00010000,B01100000} #define ESPACO {B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000} int latchPin = 10; int clockPin = 13; int dataPin = 11; int clock = 9; int Reset = 8; const int numCaracteres = 10; char matriz[numCaracteres][7][8] = {ZERO, UM, DOIS, TRES, QUATRO, CINCO, SEIS, SETE, OITO, NOVE}; byte led0[8][7]; byte led1[8][7] = {ESPACO}; byte led2[8][7]; byte led3[8][7] = {ESPACO}; byte led4[8][7];// columns x rows char mascara[40][7]; int num_digitos = 3; int BASE = 10; void setup() { Serial.begin(9600); pinMode(dataPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(latchPin, OUTPUT); pinMode(clock, OUTPUT); pinMode(Reset, OUTPUT); digitalWrite(Reset, HIGH); digitalWrite(Reset, LOW); } void loop() { int numero = millis() / 1000; int fator = 1; for (int digito = num_digitos - 1; digito >= 0; digito = digito - 1) { int valor = (numero / fator) % BASE; Serial.println(valor); if (digito == 2) { selecionaMatriz_2(valor); } if (digito == 1) { selecionaMatriz_1(valor); } if (digito == 0) { selecionaMatriz_0(valor); } fator = fator * BASE; } alocaDigito (); for (int i = 0; i < 2000; i++) { escreveMatriz(); } } void selecionaMatriz_2(int pos) { Serial.println(pos); for (int i = 0; i <= 7; i++) { for (int j = 0; j <= 6; j++) { led0[j] = matriz[pos][j]; } } } void selecionaMatriz_1(int pos) { for (int i = 0; i <= 7; i++) { for (int j = 0; j <= 6; j++) { led2[j] = matriz[pos][j]; } } } void selecionaMatriz_0(int pos) { for (int i = 0; i <= 7; i++) { for (int j = 0; j <= 6; j++) { led4[j] = matriz[pos][j]; } } } void alocaDigito () { for (int j = 0; j <= 6; j++) { for (int i = 0; i <= 7; i++) { mascara[j] = led0[j]; } } for (int j = 0; j <= 6; j++) { for (int i = 8; i <= 15; i++) { mascara[j] = led1[i - 8][j]; } } for (int j = 0; j <= 6; j++) { for (int i = 16; i <= 23; i++) { mascara[j] = led2[i - 16][j]; } } for (int j = 0; j <= 6; j++) { for (int i = 24; i <= 31; i++) { mascara[j] = led3[i - 24][j]; } } for (int j = 0; j <= 6; j++) { for (int i = 32; i <= 39; i++) { mascara[j] = led4[i - 32][j]; } } } void escreveMatriz() { for (int m = 0; m <= 6; m++) { for (int n = 0; n <= 39; n++) { mascara[n][m] = ~mascara[n][m]; } } for (int linha = 0; linha <= 6; linha++) { digitalWrite(clock, LOW); digitalWrite(latchPin, LOW); for (int coluna = 0; coluna <= 39; coluna++) { digitalWrite(clockPin, LOW); if (mascara[coluna][linha] == 1) { digitalWrite(dataPin, HIGH); } else { digitalWrite(dataPin, LOW); } digitalWrite(clockPin, HIGH); } digitalWrite(clockPin, LOW); digitalWrite(latchPin, HIGH); digitalWrite(clock, HIGH); if (linha == 6) { digitalWrite(Reset, HIGH); digitalWrite(Reset, LOW); } } }
  11. Saudações senhores, Estou a desenvolver uma biblioteca para Arduino e estou precisando da seguinte informação: Como farei para colocar uma variável junto a um registrador,por exemplo,se eu quero modificar algum determinado registrador eu terei que informar qual seria uma porta,e eu quero que isso aconteça com um construtor de uma classe (Que é a biblioteca),e com base nas informações que teria nessa variável eu definirei se a determinada porta seria de saida ou de entrada e/ou saída alta ou baixa,otimizando a biblioteca e dando maior desempenho,pois essa biblioteca vai alterar a saida da porta milhares de vezes,e não da pra fazer isso com digitalWrite(),juntado o registrador com variável,por exemplo: PORTB + (x como variável),se x fosse 10,por exemplo,isso seria como eu tivesse digitado PORTB10; Outro exemplo: int setPort(int port){ //Vamos supor que o indivíduo disse que a porta seria a 10; port = 10; //Na teoria: PORTB + port; //Então,seria necessário que resultasse da seguinte forma: PORTB10; }
  12. Boa noite!Estou começando a estudar no curso de Técnico em Mecatrônica e n entendo nada de programação do Arduíno, gostaria de pedir a ajuda de todos para estar fazendo um projeto de um Marcador de Paintball, conforme as descrições descritas na imagem que estarei colocando aqui no Anexo .Agradeço todos desde já a todos .
  13. Estou usando arduino mega com ramps 1.4 e step driver a4988. Como nesse video: https://www.youtube.com/watch?v=ziwZNAsQexo Faço tudo igual, porém na hora de testar o motor ele fica vibrando internamente e nao gira. De 4 motores que testei 1 girou mas parou de girar, outro girou mas nao igual ao video e os outros 2 nem chegaram a girar. O que pode ser?
  14. Tenho um Arduino uno e uso ele pra controlar a iluminação do aquário, é bem simples, 8 horas ligado, 16 horas desligado, intensidade gradativa do 0 ao 255 para ligar e desligar demorando 30 minutos do mínimo ao máximo, essa parte toda está pronta, mas quero melhorar esse projeto, quando eu ligo ele já começa o loop, ligando as leds, o que eu queria é poder ligar ele, o loop começar mas eu ter a opção de controlar usando um botão, explicando melhor seria o seguinte: 1 click ele inicia o loop 2 clicks ele pula pros LEDs acesos no máximo 3 clicks ele começa a desativar 4 clicks ele desliga totalmente O problema disso tudo é que quero manter ele no loop original, mas pulando etapas caso eu queira, utilizando o botão. Sendo 4 estágios no loop 1- Acionamento gradativo (levando 30 minutos) 2- acendimento total 3- desligamento gradativo(levando 30 minutos) 4- desligamento total Essa parte de quantidade de click também pode ser substituído por a cada click ele passa para o próximo estágio/etapa Meu programa atual: http://hiperload.com/s/li6m81h3a
  15. olá gostaria de ajuda pra saber se é possivel fazer um carrinho que siga algo em movimento utilizando o 1 sensor Ultrassonico HC-SRO4 + arduino uno+ ponte H l298n + 2 motores algo como quando estiver em uma distancia menor que 30 cm deve andar para frente até chegar em 8cm e parar . não consegui achar codigo fonte nem exemplos assim então não sei se é possivel.
  16. Bom, todos já devem conhecer o famoso cubo de LED, por n motivos, eu estou atualmente com 2 arduinos uno inutilizados por mera preguiça e falta de investimento minha, minha ideia inicial para um deles, seria fazer um cubo de led 8x8x8 com LED RGB e que tenham uma função para interagir conforme a musica ou sons, no caso...Eu andei dando uma pesquisada, achei alguns códigos do cubo padrão 8x8x8, achei alguns de cubos rgb e alguns com o sensor de som, porém nâo achei nenhum com rgb e o sensor de som, além disso, por questões de pratica e hobbie, gostaria eu mesmo de fazer a programação, mas não estou muito familiarizado com a programação do arduino, gostaria de saber se alguém conhece algum lugar que eles expliquem o código pra que eu tenha uma base de por onde começar. Além disso, gostaria de saber informações de hardware, pois não faço ideia dos componentes necessários pra fazer isso ainda...Estou fazendo pesquisas pra ver mais ou menos o custo, mas ate la, posso ir programando e tudo mais, então alem de pedir sugestões de onde aprender a programar ele, gostaria de sugestões para o que fazer com o segundo arduino, eu pensei em um carrinho de controle remoto, ou um robô de auto-balanceamento, mas ainda estou mais chegado ao cubo por gostar de luzes e musica kk
  17. Boa noite, galera. Então,para automatizar um software é utilizado arduíno? Com ele é possível acionar uma porta remotamente e poder ter acesso as câmeras de forma remota tb?
  18. Prezados, bom dia ! Através de alguns tutoriais que encontrei, tais como o abaixo, utilizando o SCT-013 consigo medir a corrente de uma carga, como abaixo: Segue tutoriais: https://www.filipeflop.com/blog/medidor-de-energia-eletrica-com-arduino/ O que eu quero, na verdade, é medir a forma de onda de uma carga (no caso, será um motor de indução trifásico). O projeto que quero desenvolver ao todo é, através do SCR e do arduino (tenho o uno), capturar a forma da onda da carga e exportá-la para o MatLab, para lá, trabalhar com ela hehe. Alguém tem alguma ideia se é possível algo do tipo ? Também penso em mostrar a forma de onda capturada em um display, antes de exportá-la para outras plataformas.. Enfim, qualquer sugestão seria muito bem vinda. Obrigado a todos !
  19. Pessoal, estou tentando aprender arduino com os tutoriais da internet e sempre pesquiso muito antes de pedir ajudar assim de graça...mas dessa vez eu joguei a toalha rsrsrs estou montando o projeto de um simples alarme que vai ligar minha cafeteira as 6h da manhã e me acordar as 6:10h. Quanto ao RTC eu me viro bem estou usando o DS 3231, mas queria colocar um botão, para desligar o alarme, e não ter que esperar o tempo todo de 1 minuto para ele desligar sozinho. passei ontem o dia todo tentando brincar com isso, esquentei a cabeça, pesquisei muito... mas não deu rsrsr tive que pedi ajuda (uma aula na verdade) como faço pra inserir esse botão? em algum momento até cnsegui fazer o botão parar o buzzer, mas quando soltava o botão, o buzzer voltava kkkk está assim até agora, com um led no lugar do rele da cafeteira. #include <Wire.h> //Biblioteca para manipulação do protocolo I2C #include <DS3231.h> //Biblioteca para manipulação do DS3231 DS3231 rtc(SDA, SCL); //Criação do objeto do tipo DS3231 int led = 3; int buzzer = 7; int gnd = 12; int botao = 4; void setup() { rtc.begin(); //Inicialização do RTC DS3231 pinMode (cafe,OUTPUT); //Definindo os 3 pinos de ipuminação como saídas pinMode (buzzer,OUTPUT); pinMode (gnd,OUTPUT); pinMode (botao,INPUT); digitalWrite (gnd,LOW); // abaixo, setando o RTC rtc.setDOW(MONDAY); //dia da semana maiúsc //depois de setar data e hora rtc.setTime(5,59,59); //hora,minuto,segundo //comentar essas 3 linhas e rtc.setDate(30, 7,2018); //dia,mês,ano //carregar novamente. } void alarme()// se for entre 6:00:00h e 6:01:00h liga buzzer { if(rtc.getTime().hour == 6) if(rtc.getTime().min == 10) if(rtc.getTime().sec >= 0 && rtc.getTime().sec <= 59){ tone(buzzer,4000,300); delay(350); tone(buzzer,4000,300); delay(350); tone(buzzer,4000,300); delay(800); } } void loop() { if(rtc.getTime().hour == 6) if(rtc.getTime().min >= 0 && rtc.getTime().min <= 30) if(rtc.getTime().sec >= 0 && rtc.getTime().sec <= 59){ digitalWrite(led, HIGH); } // se for entre 6:00h e 6:30h liga cafeteira else { digitalWrite(led, LOW); } alarme(); delay(1000); }
  20. Bom Dia, queria uma foça para quem puder ajudar aqui: Estou tentando fazer o Arduino gravar um valor em um banco de dados num servidor via método GET. O arduino apenas precisa enviar uma URL devidamente preenchida e o Script PHP que tá no servidor faz o trabalho. Se eu executo direto no Browser, tudo da certo, o valor vai para a Tabela no Banco de Dados, mas o arduino não consegue enviar. Se eu executar isso no navegador da certo (também da certo sem o https://) https://www.charllesrocha.com.br/lucas_testes/inserir.php?temp=77 Segue o código do Arduino: Testei vários códigos e exemplos da internet, acho que estou fazendo certo, lá nos exemplos disponibilizados são iguais, testei o SERVER tanto com a url do servidor quanto com o IP. Também tentei via POST e não deu certo. #include <SPI.h> #include <Ethernet.h> byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Set the static IP address to use if the DHCP fails to assign IPAddress ip(192, 168, 100, 23); IPAddress myDns(192, 168, 100, 1); EthernetClient client; //char server[] = "www.charllesrocha.com.br"; // also change the Host line in httpRequest() IPAddress server(195,154,33,96); unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds const unsigned long postingInterval = 10*1000; // delay between updates, in milliseconds void setup() { Serial.begin(9600); while (!Serial) { } Serial.println("Initialize Ethernet with DHCP:"); if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); if (Ethernet.hardwareStatus() == EthernetNoHardware) { Serial.println("Ethernet shield was not found. Sorry, can't run without hardware. :("); while (true) { delay(1); // do nothing, no point running without Ethernet hardware } } if (Ethernet.linkStatus() == LinkOFF) { Serial.println("Ethernet cable is not connected."); } // try to congifure using IP address instead of DHCP: Ethernet.begin(mac, ip, myDns); Serial.print("My IP address: "); Serial.println(Ethernet.localIP()); } else { Serial.print(" DHCP assigned IP "); Serial.println(Ethernet.localIP()); } // give the Ethernet shield a second to initialize: delay(1000); } void loop() { if (client.available()) { char c = client.read(); Serial.write(c); } if (millis() - lastConnectionTime > postingInterval) { httpRequest(); } } void httpRequest() { client.stop(); if (client.connect(server, 80)) { Serial.println("OK"); client.print("GET https://www.charllesrocha.com.br/lucas_testes/inserir.php?temp=555"); client.println(" HTTP/1.0"); client.println("Host: www.charllesrocha.com.br"); client.println("Connection: close"); client.println(); lastConnectionTime = millis(); } else { Serial.println("connection failed"); } } SEGUE LOG QUE VEM PELA SERIAL: Initialize Ethernet with DHCP: DHCP assigned IP 192.168.100.20 OK HTTP/1.1 301 Moved Permanently Date: Sat, 18 Aug 2018 11:57:21 GMT Server: Apache Location: https://www.charllesrocha.com.br/lucas_testes/inserir.php?temp=555 Content-Length: 274 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://www.charllesrocha.com.br/lucas_testes/inserir.php?temp=555">here</a>.</p> </body></html>
  21. olá galera estou com um projeto que utiliza 2 fins de curso um para dizer que o teto esta fechado e outro para dizer que esta aberto encontrei 2 fins de cursos que eu tinha e quero utilizar eles no Arduíno é necessário ter o modulo/drive dele ou posso fazer uma ligação direta para os 3 pinos do fim de curso para o Arduíno ? se possível e como seria a pinagem quem seria GND, Dados e VCC ? Os pinos são: NO, NA e o C (comum).
  22. Fala, galera, espero que estejam todos bem. Eu estou com um problema com alguns potenciômetros deslizantes e gostaria de resolvê-los por meio de programação com o Arduino. Estou fazendo o projeto de uma controladora MIDI e preciso de potenciômetros deslizantes lineares para uso. O problema é que só encontro no mercado, potenciômetros de curva ôhmica logarítmica. Recentemente, tomei conhecimento de uma maneira de mapear a curva logarítmica, transformando-a em uma curva linear. O código para isso se encontra aqui: https://github.com/evankale/ArduinoMidiFader/blob/master/ArduinoMidiFader.ino . O problema é que não consegui entender quais as aplicações e partes que fazem ele funcionar mapeado. Obs: não estou usando multiplexadores neste projeto. Muito obrigado pela ajuda.
  23. Boa noite pessoal. Montei um sistema de leitura de PT100, com o modulo MAX31865 comunicando via SPI com o arduino pelos pinos 10,11,12,13. Tambem tem um display oled 0,96 que fala com o arduino via I2C pelos pinos A4 e A5. Bem, tudo está em uma pcb desenhada para acomodar tudo, a alimentação provem de um 7812 com sua saida ligada no Vin do arduino. (fonte de 24VDC) o modulo MAX31865 e o oled estão com suas alimentações ligadas no 5V do arduino. capacitores de 100nf e 100uF estão nas alimentações. Tudo funciona normal, como deve, ajustei a leitura, a exibição na tela etc... alimentando pelo usb, a as vezes pela fonte. Ocorre que depois de finalizar a programação comecei os testes somente na fonte de 24VDC e para minha surpresa ocorreu o seguinte. Liguei a fonte o led power do arduino acendeu, o led L piscou e nada mais aconteceu, desliguei a alimentação, liguei novamente e aconteceu igual... pensei na hora.. queimei algo...o que será que liguei errado... bom, coloquei o arduino no usb e ficou igual.... upei o codigo novamente e ai sim voltou a funcionar apos o "carregado" aparecer.. depois disso voltei ele para a fonte, liguei algumas vezes e funcionou normal... fiquei ligando e desligando a fonte, até acontecer novamente. algumas vezes ele travava e nao iniciava, porém se eu desligasse a alimentação ele voltava a rodar. em outras vezes só upando o codigo novamente. Troquei o arduino, troquei a tela oled e o problema persiste, acontecendo somente as vezes. eu percebo que é algo relacionado ao start do arduino, não sei como se comporta o bootloader mas parece que é algo ligado a isso. Uma outras situação que causa um travamento e desligar e ligar a fonte, principalmente se o ligar for quando o led power está com a intensidade baixa. Ruido? fiz duas placas, uma com, outra sem plano terra, e em ambas acontece. EStou pensando em fazer um circuito que retarde o start do arduino. e libere a alimentação de um só vez, mas não queira usar rele!! Alguem ja enfrentou isso??
  24. Ela, tenho um Arduino uno, e uma modulo wifi ESP8266, queria conectar o Arduino a um wifi para poder fazer um controle residencial... ja vi muitos tutoriais no google mas nao consegui... sei q o modulo usa a velocidade de upload em 115200 fixo... e consegui mandar os comandos AT para o modulo quando ligado nas portas seriais(1, 0). me ajudem...
  25. Boa tarde Estou utilizando um sensor de umidade fc-28, que apresenta em seu circuito o lm 393, sabe-se que existe uma relação direta entre o nível de umidade do solo e o valor lido do sensor. Quanto menor o valor lido, mais úmido pode ser considerado o solo, e quanto maior menos úmido, ou seja, se tivermos valores próximos a 1023 o solo estaria mais secos e valores mais próximos de 0 o solo estaria mais úmido.O sensor conta com duas partes sendo a primeira uma sonda com dois eletrodos que vão ser colocados no solo e na segunda parte temos o circuito com o lm393. Sabemos que o aumento da umidade possibilita a formação de uma solução salina no solo que permite a condução elétrica, ou seja quanto mais úmido o solo menor a sua resistência elétrica. Sabemos também que o arduino conta com um conversor analógico/ digital que recebera o valor lido na porta analógica e determinara a tensão nesse pino. Através de uma regra de três simples determinei as tensões hipoteticas recebidas nos pinos analógicos. ex: 5v = 1023 então 2,5 v = 511. Se pegarmos esses valores e usar os mesmos para descobrir a resistência elétrica do solo teríamos : U = R x I R = 5v – 2,5 v / 0,004 A obs : 0,004 A corrente nos pinos do arduino. R= 625 ohms Agr vamos considerar o valor lido = 390. 390 = 1,906 v então: R = 773 ohms Porque temos uma tensão menor em um valor lido menor, sendo que em menores valores lidos temos mais umidade? uma vez que teoricamente teríamos uma menor resistência elétrica no solo e isso possibilitaria mais tensão circulando de um eletrodo a outro. ?????? Alguém pode me ajudar???

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

×