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, autoração e gravação de áudio e vídeo
    • Programas
  • Sistemas Operacionais
  • Eletrônicos
  • Outros
  • Clube do Hardware

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


Encontrado 244 registros

  1. ola gostaria de ajuda para leitura de 4 sensor de fluxo. colega responsável travou e estamos ai na tentativa de resolver. obgd 16 volatile double waterFlow; 17 void setup() { 18 Serial.begin(9600); 19 waterFlow1 = 0; 21 waterFlow2 = 0; 22 waterFlow3 = 0; 23 waterFlow4 = 0; 24 attachInterrupt(2, pulse, RISING); //DIGITAL Pin 2: Interrupt 0 25 attachInterrupt(3, pulse, RISING); //DIGITAL Pin 3: Interrupt 0 26 attachInterrupt(18, pulse, RISING); //DIGITAL Pin 18: Interrupt 0 27 attachInterrupt(19, pulse, RISING); //DIGITAL Pin 19: Interrupt 0 28 } 30 Serial.print("waterFlow1:"); 31 Serial.print(waterFlow1); 32 Serial.println(" L"); 33 Serial.print("waterFlow2:"); 34 Serial.print(waterFlow2); 35 Serial.println(" L"); 36 Serial.print("waterFlow3:"); 37 Serial.print(waterFlow3); 38 Serial.println(" L"); 39 Serial.print("waterFlow4:"); 40 Serial.print(waterFlow4); 41 Serial.println(" L"); 42 delay(500); 43 } 44 45 void pulse() //measure the quantity of square wave30 { 46 waterFlow += 1.0 / 5880.0; 47 } """erro expected unqualified-id before numeric constant"""
  2. Oii, boa tarde, estou precisando de ajuda com a função millis()... Eu tenho um Switch Case, do qual comanda lampadas e motores. Se esse Switch Case receber um valor >= 1000 ele joga esse valor dentro de uma variável de tempo e liga um led por esse tempo definido, e, logo em seguida apaga, e só voltará a ligar se for recebido um mesmo valor através do serial. Meu programa por em quanto está assim: #include <Servo.h> #include <stdio.h> Servo meuServo; int caracter ; int JanelaSala = 4 ; int LampadaEntrada = 5 ; int LampadaSala = 6 ; int LampadaCozinha = 7 ; int LampadaBanheiro = 8 ; int estado = 0 ; bool a,b,c,d = LOW; void setup() { Serial.begin(9600); pinMode(LampadaEntrada ,OUTPUT); pinMode(LampadaSala ,OUTPUT); pinMode(LampadaCozinha ,OUTPUT); pinMode(LampadaBanheiro ,OUTPUT); meuServo.attach(JanelaSala); } void loop() { if(Serial.available() > 0) { caracter = Serial.parseInt(); switch(caracter) { case 1: a = !a; digitalWrite(LampadaEntrada, a); break; case 2: b = !b; digitalWrite(LampadaSala, b); break; case 3: c = !c; digitalWrite(LampadaCozinha, c); break; case 4: d= !d; digitalWrite(LampadaBanheiro, d); break; case 5: if(estado == 0) { meuServo.write(90); estado = 1; } else if(estado == 1) { meuServo.write(0); estado = 0; } break; } } delay(10); }
  3. Oi, boa noite.. Então, estou precisando fazer o seguinte: Receber um valor maior que 30000 (Valor que será um Tempo em milissegundos) através do serial e fazer com que um led fique aceso por essa quantidade de tempo definido pelo usuário. Se alguém souber como faço para simplificar melhor essa programação também , agradeço. Até então, minha prog. está assim: #include <Servo.h> Servo meuServo; char caracter; int JanelaSala = 4; int LampadaEntrada = 5; int LampadaSala = 6; int LampadaCozinha = 7; int LampadaBanheiro = 8; int estado = 0; bool a,b,c,d = LOW; void setup() { Serial.begin(9600); pinMode(LampadaEntrada ,OUTPUT); pinMode(LampadaSala ,OUTPUT); pinMode(LampadaCozinha ,OUTPUT); pinMode(LampadaBanheiro ,OUTPUT); meuServo.attach(JanelaSala); } void loop() { if(Serial.available() > 0){ delay(100); caracter = Serial.read(); switch(caracter){ case '1': a = !a; digitalWrite(LampadaEntrada, a); break; case '2': b = !b; digitalWrite(LampadaSala, b); break; case '3': c = !c; digitalWrite(LampadaCozinha, c); break; case '4': d= !d; digitalWrite(LampadaBanheiro, d); break; case '5': if(estado == 0){ meuServo.write(90); estado = 1; } else if(estado == 1){ meuServo.write(0); estado = 0; } break; } } delay(10); }
  4. Olá. Como seria possível construir o circuito do pressure sensor mps20n0040d junto a um amplificador operacional? Precisamos desse sensor no Isis e não. o encontramos no mesmo e ainda será necessário uma programação no Arduino para que o sensor possa medir a pressão e nível da água em um recipiente mas a maior preocupação é quanto ao sensor que não conseguimos construir até então.
  5. Olá ... Recentemente adquiri a placa wavgat uno r3 e executei todo o processo para o reconhecimento da mesma pela IDE do arduino. Tudo ok. O meu objetivo é criar um temporizador, ou seja, ele liga o Rele em um tempo determinado e desliga em outro tempo determinado de acordo com a coleta do time pelo DS3231. Utilizei a biblioteca Rtc3231 --> http://josecintra.com/blog/explorando-rtc-ds3231-arduino/ Porém, a placa wavgat não mostra o time de acordo com o delay estabelecido, 500 milissegundos, no monitor serial, depois de um tempo para de mostrar o time e se eu colocar qualquer intervalo maior de 1 minuto, ele liga o rele no tempo certo, mas deliga o rele após 1 minuto independente do intervalo. Testei o mesmo código no meu Arduino Genuino Uno e tudo seguiu corretamente. sketch: #include <Wire.h> #include <RtcDS3231.h> RtcDS3231<TwoWire> Rtc(Wire); #define LEDVERD 7 #define RELE_1 8 #define RELE_2 10 int valors[3]; void setup (){ pinMode(LEDVERD, OUTPUT); pinMode(RELE_1, OUTPUT); Serial.begin(9600); Rtc.Begin(); //Inicia o relogio //RtcDateTime data_compilacao = RtcDateTime(2020,2,6,23,47,20); //RtcDateTime data_compilacao = RtcDateTime(__DATE__, __TIME__); // Obtém a data da compilação pela primeira vez //Rtc.SetDateTime(data_compilacao); while(!Rtc.GetIsRunning()){ // Verifica se o RTC está ativado Rtc.SetIsRunning(true); // Ativa o RTC } if(Rtc.GetIsRunning()){ digitalWrite(LEDVERD, HIGH); } } void horario(RtcDateTime& HM){ valors[1] = int(HM.Hour()); valors[2] = int(HM.Minute()); valors[3] = int(HM.Second()); } void loop (){ RtcDateTime date_time = Rtc.GetDateTime(); // Obtém o horário atual horario(date_time); Serial.print(valors[1]); Serial.print(":"); Serial.print(valors[2]); Serial.print(":"); Serial.println(valors[3]); if (valors[1] == 02 && valors[2] == 29){ digitalWrite(RELE_1, HIGH); }else{ if (valors[1] == 02 && valors[2] == 31){ digitalWrite(RELE_1, LOW); } } delay(500); } A seguinte mensagem aparece após compilação carregada. Aviso: platform.txt do núcleo '[0}' contém algo depreciado (recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"), automaticamente convertido para recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Considere atualizar este núcleo. O sketch para a placa Wavgat precisa ser diferente ou o erro não está no código e sim na placa wavgat ?
  6. Tenho uns MCs de arduino uno separados para montar sem a placa do arduino (já possuem boot loader). Vi vários circuitos na net para monta-los fora da placa do uno. E estes circuitos usam o tal oscilador externo (que eu tenho aqui que veio no kit do MC solto). Mas como quero fazer projetinhos de pouca precisão resolvi usar o tal do oscilador interno. Mas o que tenho que acrescentar no código pra poder funcionar o oscilador interno? Com isso preciso de algo mais (alem de meu próprio circuito)? tipo os capacitores do kit standalone? obrigado.
  7. Olá, Estou trabalhando em um projeto de cronometro que é acionado por um botão e pausado através de um sensor ultrassônico (hc-sr04), só que começou a dar lag depois que implementei o código do sensor, antes disto estava funcionando normalmente. Estou usando o arduino uno, 2 botões táctil e o sensor ultrassônico utilizando o código abaixo. #include <Wire.h> #include <LCD.h> #include <LiquidCrystal_I2C.h> #include <NewPing.h> #include <Ultrasonic.h> #define I2C_ADDR 0x27 // Add your address here. #define Rs_pin 0 #define Rw_pin 1 #define En_pin 2 #define BACKLIGHT_PIN 3 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7 //-------------------------------------------------------- #define BTN_PLAY 10 #define BTN_STOP 11 //-------------------------------------------------------- #define ECHO_PIN 13 // Arduino pin tied to echo pin on the ultrasonic sensor. #define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor. #define MAX_DISTANCE 20 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm. long tempo_2; long distancia; //-------------------------------------------------------- int estado_btnplay; int estado_btnstop; unsigned long tempo; unsigned long tempo_play = 0; unsigned long tempo_stop; unsigned long tempo_segundo; int controle = 1; int horas = 0; int minutos = 0; int segundos = 0; int decimas = 0; int milisegundos = 0; int contar = 1; //------------------------------------------------------------ // Alterar o endereço conforme modulo I2C Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN); LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); void setup() { Serial.begin(9600); pinMode(BTN_PLAY, INPUT_PULLUP); pinMode(BTN_STOP, INPUT_PULLUP); //LCD.Backlight ON; lcd.begin(20,4); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); lcd.home (); lcd.setCursor(3,0); lcd.print(“Tec Dicas”); lcd.setCursor(3,1); lcd.print(“Cronometro”); delay(1000); lcd.clear(); lcd.setCursor(3,0); lcd.print(“PLAY p/ iniciar”); } void loop() { estado_btnplay = digitalRead (BTN_PLAY); estado_btnstop = digitalRead (BTN_STOP); //------------------------------------------------------- float cmMsec, inMsec; long microsec = ultrasonic.timing(); // cmMsec = ultrasonic.convert(microsec,Ultrasonic::CM); cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM); //-------------------------------------------------------- if ((estado_btnplay == LOW) && (controle == 1)) //apertado { controle = 0; lcd.setCursor(3, 0); lcd.print("TEMPO ‘PLAY’ "); } if (controle == 0) { milisegundos = millis(); if(milisegundos % 100 == 0){ //Entrar apenas se tiver passado o décimo de segundo decimas++; if(decimas == 10){ //Quando passou 10 décimos de segundo, conta um segundo decimas = 0; segundos++; } if(segundos == 60){ // Após 60 segundos, conta um minuto segundos = 0; minutos++; } if(minutos == 60){// Depois de 60 minutos, conta uma hora minutos = 0; horas++; } //exibição no LCD lcd.setCursor(3,1); if(horas < 10){ //se as horas forem menor que 10, acrescenta um 0 na frente lcd.print(“0”); } lcd.print(horas); lcd.print(":"); lcd.setCursor(6,1); if(minutos < 10){//se os minutos forem menor que 10, acrescenta um 0 na frente lcd.print(“0”); } lcd.print(minutos); lcd.print(":"); lcd.setCursor(9,1); if(segundos < 10) {//se os segundos forem menor que 10, acrescenta um 0 na frente lcd.print(“0”); } lcd.print(segundos); lcd.print(":"); lcd.setCursor(12,1); lcd.print(decimas); } } //----------------------------------------- if ((estado_btnstop == LOW) && (controle == 0)) //apertado { controle = 1; horas = 0; minutos = 0; segundos = 0; decimas = 0; lcd.setCursor(3, 0); lcd.print("TEMPO ‘STOP’ "); delay(10000); } else if ((estado_btnstop == LOW) && (controle == 1)) //apertado { lcd.setCursor(3, 0); lcd.print("PLAY p/ iniciar "); lcd.setCursor(3,1); lcd.print(“00:00:00:0”); } //---------------------------------------- //------------------------------------------------------- if (cmMsec < 20 ) { controle = 1; horas = 0; minutos = 0; segundos = 0; decimas = 0; lcd.setCursor(3, 0); lcd.print("TEMPO ‘STOP’ "); } lcd.setCursor(3,3); lcd.print(cmMsec); //------------------------------------------------------- } a estrutura dos botões estão de acordo com a imagem abaixo. modelo da montagem dos botões, sem o sensor Alguem poderia me auxiliar com este problema. Obrigado.
  8. Olá, tudo bem? Estou utilizando um biblioteca para programar um arduino uno, e um dos pinos que ele utiliza é o 22 Gostaria de saber qual é esse pino no arduino uno, pois procurei em diversos sites e não encontrei. Em anexo estão a melhor imagem que consegui sobre e a parte do codigo que utiliza esse pino. <#define POWER_PIN 22 // The sensor power pin (or -1 if not switching power) if(POWER_PIN > 0){ Serial.println("Powering up sensors..."); pinMode(POWER_PIN, OUTPUT); digitalWrite(POWER_PIN, HIGH); delay(200);> file:///C:/Users/augus/Downloads/tabela-de-pinos-arduino-uno-r3-em-couche-liso-com-alta-resolucao.jpg
  9. eu estou com um modulo arduino hc-05 e eu estava tentando mudar a velocidade de comunicação (baude) dele para usar em uma cnc mas quando dei o comando deu erro nesse comando e depois ele não respondeu mais mesmo eu mudando para o que tinha mandado ele não respondeu voltei para 38400 e nada de novo eu estou usando um conversor de nivel logico e agora o que faço? tem como resetar fisicamente? entre em contato rápido pelo face: https://www.facebook.com/wesiofilhoGo #include "SoftwareSerial.h" //Create a new software serial SoftwareSerial bluetooth(2, 3); //TX, RX (Bluetooth) na verdade é RX e TX void setup() { //Initialize the hardware serial Serial.begin(38400); Serial.println(F("Type the AT commands:")); //Initialize the software serial bluetooth.begin(38400); } void loop() { //Check received a byte from hardware serial if (Serial.available()) { char r = Serial.read(); //Read and save the byte bluetooth.print(r); //Send the byte to bluetooth by software serial Serial.print(r); //Echo } //Check received a byte from bluetooth by software serial if (bluetooth.available()) { char r = bluetooth.read(); //Read and save the byte Serial.print(r); //Print the byte to hardware serial } }
  10. Olá pessoal, Eu estou montando o Arduino (Atmega 328 com bootloader) fora da placa, na protoboard, estou usando o Cristal, capacitores etc. Eu gostaria de alimentar o microcontrolador diretamente numa bateria de 5 / 5,5V mas não estou conseguindo achar essa bateria, eu tenho uma aqui recarregável de 3,3V. A minha dúvida é, A porta digital no nível alto vai me entregar 5V ou o disponível na alimentação que é 3,3V ? Abrs !!!
  11. Estive lendo estas especificações no site do arduino, sobre o arduino mega: ------------------------------------------------------ MicrocontrollerATmega2560 Operating Voltage5V Input Voltage (recommended)7-12V Input Voltage (limit)6-20V Digital I/O Pins54 (of which 15 provide PWM output) Analog Input Pins16 DC Current per I/O Pin20 mA DC Current for 3.3V Pin50 mA <================================================= Flash Memory256 KB of which 8 KB used by bootloader SRAM8 KB EEPROM4 KB Clock Speed16 MHz LED_BUILTIN13 Length101.52 mm Width53.3 mm Weight37 g Na linha assinalada (DC Current for 3.3V Pin50 mA) isso quer dizer que ao colocar os pinos em nível alto, terei 3.3v saindo nos pinos? achei que o MEGA trabalhasse com 5v nos pinos e o DUE com 3.3... Qual a confusão que fiz? obrigado.
  12. Opa, eae, estou começando a trabalhar com arduinos agora, e estou com esse projeto pra fazer um semaforo, consegui fazer com botao, porém queria automatizar por tempo, vi um video no brincando com ideias porém apresenta o seguinte erro: In function 'void setup()': 17:22: error: invalid types 'int[int]' for array subscript In function 'void loop()': 22:36: error: invalid types 'int[int]' for array subscript segue o codigo: int pinLed = (10,9,8); int pinBotao = 7; int numeroLed; int faseSemaforo; int x; void setup() { int x; for (x = 0; x <= 3; x = x + 1 ) { pinMode (pinLed[x], OUTPUT); } } void loop() { for (numeroLed = 0; numeroLed <=3; numeroLed = numeroLed + 1) { digitalWrite(pinLed[numeroLed]; delay(30000); } } // queria que tipo a cada 30 segundos, o semáforo mudasse de estado...porém não consigo, se alguém puder me ajudar, agradeço.
  13. Oi gente, tudo bom? Seguinte, final do ano passado, eu precisei fazer um comedouro automático para meus gatos em casa e precisei de um pouco de ajuda na parte da bateria (especie de nobreak dc) e o circuito para controle de carga da bateria e a bateria, funcionou muito bem e para o fim de ano, como não precisava de algo muito elaborado, me resolveu o problema e meus bixos não morreram de fome. Agora eu quero dar uma melhorada, colocar um displayzin, enfeitar o bolo, por assim dizer. A parte do display, não é problema... Mas estou com um pequeno galho bem chatinho de resolver (ao menos pra mim) que é uma medição de tensão da bateria. O Problema é que a tensão fica oscilando muito... Mas muito mesmo vai de 4.1v pra 8.0v do nada e no multimetro acusa 6.8v quando carregada, nessa oscilação, fica basicamente impossível fazer uma leitura, próxima ao que meu multímetro acusa. Já fiz o ajuste de referência interna para 1.1v e o negocio fica doido na leitura kkkkk Não é necessário isso pro projeto mas eu gostaria de mostrar essa frescura de % de carga da bateria. Algum de vocês já teve algum problema desse tipo e precisou fazer algum tipo de coisa pra calibrar essa leitura? Coloquei o código que estou 'refatorando'. O Divisor de tensão que estou usando vindo da bateria e indo ao pino A3 do Nano Desde já agradeço a ajuda =]
  14. Gosto de fazer experiências para aprender então pergunto: Posso ficar alterando o tipo (input output) de um pino do arduino? Por exemplo: eu queria colocar um resistor de (pulldown ou pullup) em um determinado pino.... e seta-lo como entrada... com isso poderia ler uma chave... ou um sinal de entrada... e... durante a execução do código seta-lo como saída... com isso usaria o pino de duas formas diferentes... (claro que penso em fazer isso quando eu tiver certeza do que estará entrando ou saindo dos pinos para ão dar curto) Se eu mudar isso varias vezes durante a execução do programa... terei problemas? E este resistor... que ficará pendurado na linha quando o pino se tornar saída... trará algum problema? se por exemplo for um pulldown e eu mandar 5v no pino? Se eu tiver uns 20 pinos com estes resistores... poderei ter alguma queda na alimentação do Arduíno quando alimentado via USB? (usarei resistores de 10k) Obrigado.
  15. Boa tarde. Veja ai se alguém pode me ajudar: Suponhamos que eu tenha uma url: http://www.meusite.com.br/exemplo.txt e dentro desse arquivo txt eu tenha apenas um número, ex: 50. Como eu faço para pegar esse número e jogar dentro de uma variável? Usando aqui o Arduno UNO com Shield Ethernet W5100.
  16. Bom dia, gostaria de saber algo mais ou manos assim: estou usando o arduino mega e gostaria de saber o status de um pino (sem olhar para o hardware) o programa rodaria e diria se o pino está fisicamente conectado a um pull-down ou pull-upp.. ou se tem algum curto... se tem alguma resistência na linha... ou se ele está simplesmente solto não apresentando resistência detectável... o que precisaria? algum exemplo de código? preciso conectar algo no AREF ou IOREF? pelo que aprendi aqui no forum, para outros microcontroladores eu precisaria conectar uma tensão no pino de referência para poder utilizar os pinos analógicos... mas e no caso do arduíno? também precisaria? teria como fazer um jumper do 5V para o pino de referência (caso seja necessária uma tensão de referência)? e se eu obter uma referência (um valor do pino), mesmo que não tenha nada conectado nele, ainda apresentará a resistência do ar... umidade da placa... que valores são aceitáveis? para que eu consiga diferenciar entre um pull-up/dows ou um pino flutuando? obrigado.
  17. Estou estudando os comandos PORT do arduino mega...e encontrei a seguinte tabela: https://www.arduino.cc/en/Hacking/PinMapping2560 Estou certo em pensar que esta tabela funciona da seguinte forma: por exemplo: na linha (72) (PA6) seria o pino 6 do PORTA e estaria localizado no pino A6 da placa? fiquei em dúvida em qual pino representa na placa... alguém tem alguma lista mais simples destes PORTs? Obrigado.
  18. eu estou com problema estou com um módulo bluetooth hc-05 e nao consigo configurar ja tentei de tudo pelo arduino uno e atmega mas nao consegui resposta e queria usar os pinos do arduino rx e tx para configurar ele pois minha familia nao pode sair do orçamento do meu projeto de cnc
  19. Estou tentando representar os dados lidos dos pinos do arduino, para saída serial... achei muita coisa na web e tentei usar... ficou uma mistureba danada... algumas funcionaram, mas deve ter forma mais fácil e elegante de de fazer isso... por exemplo, tentei ler 8 bits de pinos setador como entradas e através de chaves eu seto o dado na entrada então quero ler e mostrar na serial o resultado. Exemplo de saída que pretendo: //---------------- 11111111 255 FF ()aqui mostraria o cacter ascii caso seja visível) //---------------- Para isso usei este exemplo que peguei da net: long saida; char entrada[]= {'1','1','1','1','0','0','0','0'}; //preenchida assim funciona //char entrada[]= "11110000"; //esta variável também pode ser preenchida assim saida= strtol(entrada, NULL, 2); Serial.println(saida); Mas quero preencher esta variável assim: char entrada[]={digitalRead(9),digitalRead(8),digitalRead(7),digitalRead(6),digitalRead(5),digitalRead(4),digitalRead(3),digitalRead(2)}; Mas não estou obtendo sucesso... parece que a função não entende os dados lidos como se fossem strings ou char, parece que entende como booleanos... alguma dica? gostaria que com esta função retornasse 255 caso a entrada fosse 11111111 depois, de posse deste valor, tentaria algo como: Serial.write(saida); para obter o caracter ascii Pensei em ler bit a bit... algo horrível como: se pino2 == 0 então variavelchar = '0' mas encher de laços deste tipo nào deve ser o caminho ideal... então para o momento estou conseguindo representar de forma tosca o seguinte: Exemplo de saida: //---------------- 11111111 (já consigo representar isso) 255 (ainda não está funcionando) FF (já consigo representar isso) (ASCII) ainda falta pois não consegui representar o valor byte (255 por exemplo) //---------------- Agradeço as dicas.
  20. Estive pensando em ler algumas eproms paralelas para exercitar o conhecimento... e tentar ler algumas que não existem na lista dos programadores... Então, resolvi setar os endereços através dos pinos de dados do arduino... e com outros pinos de dados ler a saída... até aí tudo bem... o problema é que como quero ler a eprom sem retira-la da placa (em alguns casos) verifiquei que alguns projetistas tem o costume de aterrar ou colocar em 5v os pinos restantes de endereços da memória... por exemplo: se o cara só vai utilizar 1/4 da memória vi casos onde o pinos finais dos de endereços vem aterrados ou em 5v. então pode acontecer de eu setar estes pinos (variando entre zero e um) para obter todos os endereços da memória e com isso varre o conteúdo... mas se um pino destes já está (forçado em um dos estados) quando eu tentar forçar no estado oposto ele ficará em curo (0v e 5v) isso poderia queimar a porta do arduino? ou... simplificando: se eu colocar um jumper entre D4 e D5 do arduino... e mandar a seguinte informação: D4 => LOW D5 => HIGH isso poderia dar algum problema? obrigado a todos.
  21. Foi recente que comprei meu primeiro arduino e li nas especificações do produto que a tensão de operação é de 5v, mas também vi outros artigos que dizem algo sobre uma faixa de tensão suportada, tenho sobrando aqui em casa uma fonte de TP-LINK que aparenta fornecer essa faixa de te que foi citada, pois essa fonte é de 9v e 0.6a e gostaria de ter a certeza que posso usá-la no arduino, link do produto
  22. Tenho visto uns arduinos para vender no mercadolivre, que os caras juram que é original (vem com caixa e selinho lacrado... pintura branca embaixo etc... e são bem mais caros que os outros... o CI cd comunicação não é o CH340... mas mesmo assim fico na dúvida por conta da cor... Me parece ser um "falsificado melhorzinho" e aí? dá pra confiar? O próprio site oficial do arduino mostra placas em duas cores... fica difícil saber qual a oficial... se é que existe uma... o que acham? placa do site arduino: Placa das vendidas no ML...: Esta outra também é do site do arduino: /sei que no fundo é tudo a mesma coisa, mas gostaria de adquirir um original (no Brasil) ou um falsificado mas que não tenha preço de original kkkkk
  23. Boa noite. Estou tentando escrever um firmware para controle de uma luminária usando um controle remoto IR, porém estou com dificuldade para implementar a leitura do controle quando acionado através de uma interrupção, pois se implementado no loop principal a função para a leitura do controle, esta pode acabar não ler o sinal do controle, uma vez que no loop principal possui o restante do código. Segue o código para teste: // Programa : Teste Controle Remoto IR //1 - FFA25D //2 - FF629D //3 - FFE21D //4 - FF22DD //5 - FF02FD //6 - FFC23D //7 - FFE01F //8 - FFA857 //9 - FF906F //0 - FF9867 //* - FF6897 //# - FFB04F // //cima - FF18E7 //esquerda - FF10EF //baixo - FF4AB5 //direita - FF5AA5 //ok - FF38C7 #include <IRremote.h> int RECV_PIN = 3; int tecla; IRrecv irrecv(RECV_PIN); decode_results results; void Controle_IR(){ Serial.println("Desativado Interrupção"); detachInterrupt(digitalPinToInterrupt(3)); if (irrecv.decode(&results)){ Serial.print("Valor lido : "); Serial.println(results.value, HEX); irrecv.resume(); Serial.print("Tecla: "); tecla = results.value; switch (tecla) { case 0xFF9867: Serial.println("0"); break; case 0xFFA25D: Serial.println("1"); break; case 0xFF629D: Serial.println("2"); break; case 0xFFE21D: Serial.println("3"); break; case 0xFF22DD: Serial.println("4"); break; case 0xFF02FD: Serial.println("5"); break; case 0xFFC23D: Serial.println("6"); break; case 0xFFE01F: Serial.println("7"); break; case 0xFFA857: Serial.println("8"); break; case 0xFF906F: Serial.println("9"); break; case 0xFF6897: Serial.println("*"); break; case 0xFFB04F: Serial.println("#"); break; case 0xFF18E7: Serial.println("Cima"); break; case 0xFF10EF: Serial.println("Esquerda"); break; case 0xFF4AB5: Serial.println("Baixo"); break; case 0xFF5AA5: Serial.println("Direita"); break; case 0xFF38C7: Serial.println("OK"); break; } } Serial.println("Ativada Interrupção"); attachInterrupt(digitalPinToInterrupt(3), Controle_IR,FALLING); } void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Inicializa o receptor IR pinMode(3, INPUT); attachInterrupt(digitalPinToInterrupt(3),Controle_IR,FALLING); } void loop() { Serial.println("."); delay(1000); } Se alguém tiver uma ideia para resolver este problema ou até mesmo outro tipo de solução ficaria muito agradecido.
  24. Boa noite, estou tentando passar um código para meu arduino uno, ch340, e quando o vai passar acontece um erro: Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "Arduino/Genuino Uno" Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes. Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes. C:\Users\Usuario\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\Usuario\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\Usuario\AppData\Local\Temp\arduino_build_681712/Blink.ino.hex:i avrdude: Version 6.3-20190619 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Users\Usuario\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" Using Port : COM5 Using Programmer : arduino Overriding Baud Rate : 115200 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x66 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x66 avrdude done. Thank you. Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions. This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. (Coloquei a porta e a placa certa nas configurações, já procurei de mais e não consigo arrumar de nenhuma forma)
  25. Olá pessoal, usei 2 tutoriais sites https://blog.fazedores.com/automacao-de-lampadas-modulo-rele-arduino/ https://www.arduinoecia.com.br/ligando-uma-lampada-com-modulo-rele-arduino/ fiz certinho mas a lampada nao acendeu. ----Pinagem---- (arduino ---- modulo relé) gnd <------> gnd 5v <-------->vcc pino 7 <--->in1 ou in2 ----Codigos---- // Programa de teste do modulo rele // Autor : Arduino e Cia. // // Ligar o pino S do rele no pino 7 do Arduino // Ligar o pino + do rele no pino 5V do Arduino // Ligar o pino - do rele no pino GND do Arduino //define a saida a ser utilizada para o acionamento do rele int sinalparaorele = 7; void setup(){ pinMode(sinalparaorele, OUTPUT); //Define o pino como saida } void loop(){ digitalWrite(sinalparaorele, HIGH); //Aciona o rele delay(5000); //Aguarda 5 segundos digitalWrite(sinalparaorele, LOW); //Desliga o rele delay(5000); //Aguarda 5 segundos e reinicia o processo } liguei o arduino e o modulo led ficou piscando em 5s mas a lampada nao acendeu. comprei no AliExpresso, usei modulo rele 5v pela primeiro vez sera que pode ser falso? anexo as fotos

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

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

ebook grátis "Aprenda a ler resistores e capacitores", de Gabriel Torres

GRÁTIS! BAIXE AGORA MESMO!