Search the Community
Showing results for tags 'arduino'.
-
arduino é uma peça da parte de programação muito importante para aprender porque a partir dela podemos criar diversos projetos como carros, e robôs o arduino deve se ligado corretamente para a placa nao queimar ja vi diversos casos sobre isso
-
Ola amigos ! Estou procurando um projeto de relogio com arduino,mas que tenha as instruções para acionar uma solenoide ao mudar de horas. Tenho a solenoide batendo num disco,para imitar o som de um relogio carrilhão. Alguma idéia ?
-
Olá, amigos! Por favor, alguém teria o manual em português da injeção programável Speeduino? Desde já agradeço a atenção.
-
Estou fazendo meu TCC e cheguei em um problema. No tinkercad, o circuito funciona normalmente, mas quando faço na pratica, o sensor de umidade fica atualizando no monitor serial o valor 14, e não muda nem mesmo com terra umida e terra seca. Deixarei o código e o link do projeto para quem conseguir me ajudar. Obs: Estou utilizando o pino A0 e não o D0 """""""Projeto no tinkercad""""""""""" #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); const int sensorUmidadeSoloPin = A0; // Pino analógico conectado ao sensor de umidade do solo const int pinoLedVermelho = 5; // Pino digital conectado ao LED vermelho const int pinoLedAmarelo = 6; // Pino digital conectado ao LED amarelo const int pinoLedVerde = 7; // Pino digital conectado ao LED verde const int pinoRele = 10; // Pino digital conectado ao módulo relé const int botaoLigarPin = 2; // Pino digital conectado ao botão de ligar const int botaoDesligarPin = 3; // Pino digital conectado ao botão de desligar const int limiteUmidadeSeco = 250; // Solo seco (menor que 25%) const int limiteUmidadeMedio = 500; // Solo estado médio (50%) const int limiteUmidadeUmido = 750; // Solo úmido (75%) bool sistemaLigado = false; // Variável para rastrear o estado do sistema void setup() { lcd.init(); lcd.begin(16, 2); // Inicializa o LCD lcd.backlight(); // Habilita a iluminação do LCD (caso esteja disponível) lcd.print("Umidade Atual:"); pinMode(pinoLedVermelho, OUTPUT); pinMode(pinoLedAmarelo, OUTPUT); pinMode(pinoLedVerde, OUTPUT); pinMode(pinoRele, OUTPUT); digitalWrite(pinoRele, LOW); // Certifique-se de que a bomba/irrigador esteja desligado inicialmente pinMode(botaoLigarPin, INPUT_PULLUP); // Configura o botão de ligar como INPUT_PULLUP pinMode(botaoDesligarPin, INPUT_PULLUP); // Configura o botão de desligar como INPUT_PULLUP } void loop() { // Verificar o estado dos botões bool botaoLigarPressionado = digitalRead(botaoLigarPin) == LOW; bool botaoDesligarPressionado = digitalRead(botaoDesligarPin) == LOW; // Verificar o estado do sistema (ligado ou desligado) if (!sistemaLigado && botaoLigarPressionado) { sistemaLigado = true; } else if (sistemaLigado && botaoDesligarPressionado) { sistemaLigado = false; desligarIrrigacao(); // Desliga a irrigação manualmente ao desligar o sistema } if (sistemaLigado) { int umidadeSolo = lerUmidadeSolo(); if (umidadeSolo < limiteUmidadeSeco) { digitalWrite(pinoLedVermelho, HIGH); digitalWrite(pinoLedAmarelo, LOW); digitalWrite(pinoLedVerde, LOW); acionarIrrigacao(); } else if (umidadeSolo < limiteUmidadeUmido) { digitalWrite(pinoLedVermelho, LOW); digitalWrite(pinoLedAmarelo, HIGH); digitalWrite(pinoLedVerde, LOW); acionarIrrigacao(); } else if (umidadeSolo >= limiteUmidadeUmido) { digitalWrite(pinoLedVermelho, LOW); digitalWrite(pinoLedAmarelo, LOW); digitalWrite(pinoLedVerde, HIGH); desligarIrrigacao(); } // Mostrar a porcentagem de umidade ideal no LCD int porcentagemUmidadeIdeal = map(umidadeSolo, 0, 1023, 0, 100); lcd.setCursor(0, 1); lcd.print(" "); // Limpar a linha antes de escrever a nova informação lcd.setCursor(0, 1); lcd.print(porcentagemUmidadeIdeal); lcd.print("%"); } else { // Se o sistema estiver desligado, desliga todos os LEDs e a irrigação digitalWrite(pinoLedVermelho, LOW); digitalWrite(pinoLedAmarelo, LOW); digitalWrite(pinoLedVerde, LOW); desligarIrrigacao(); } delay(100); // Pequeno atraso para evitar o bounce dos botões } int lerUmidadeSolo() { int valorAnalogico = analogRead(sensorUmidadeSoloPin); Serial.print("Valor de Umidade do Solo: "); Serial.println(valorAnalogico); return valorAnalogico; } void acionarIrrigacao() { digitalWrite(pinoRele, HIGH); // Ligar a bomba/irrigador } void desligarIrrigacao() { digitalWrite(pinoRele, LOW); // Desligar a bomba/irrigador }
-
Arduino Básico - Michael McRoberts Visualizar Arquivo Olá pessoal, segue em anexo uma apostila muito bacana sobre arduino, espero que vocês curtam, valeu. Uploader Marcos Paschoal Enviado 10/07/2024 Categoria Arduino
-
-
 dúvida Qual melhor kit inicial de arduino para quem vai cursar engenharia mecatrônica?
Ricardo Werysleyk posted a topic in Arduino
Estou cursando engenharia mecatrônica e ainda não cheguei na parte de automação e eletrônica, mas já queria ir mechendo com isso antes, então porque não pedir conselhos a quem ta mais a frente? Por onde posso começar e qual caminho seguir? -
Visualizar Arquivo Arduino Imagem esquema pipico Uploader Warlley Dias Enviado 26/05/2024 Categoria Arduino
-
 devolvido Sensor de Temperatura no arduino com bluetooth, leds e app
Edson Carlos Serrano posted a topic in Arduino
Sensor de Temperatura no arduino com bluetooth, leds e criação do app no appinventor 1. Autor(es) - Edson Carlos Serrano 2. Descrição Projeto de temperatura com bluetooth e leds 3. Material Quantidade Descrição 1 Sensor de Temperatura LM35: 1 Protoboard 1 Bluetooth module hc-05 2 Resistor 1 Arduino UNO 2 LED 12 Cabo Jumper macho macho 4. Referencial (código) https://www.youtube.com/watch?v=DLwzwXC3N2Q https://www.youtube.com/watch?v=pR2rTRDZ_-Y https://www.youtube.com/watch?v=blvkJBAcGY0 https://www.youtube.com/watch?v=hOeDfNCCNXY https://create.arduino.cc/projecthub/federico-vivaldi/bluetooth-temperature-monitor-cf8a0 5. Importante Foi desenvolvido app para android no site http://ai2.appinventor.mit.edu 6. Modelo Eletrônico 7. Imagens do Projeto 8. Código #include <SoftwareSerial.h> SoftwareSerial HC05(0,1); #define DELAY 1000 #define LED_VERMELHO 4 #define LED_VERDE 7 const int sensorPin = A0; // Variables float voltage, temperatura; void setup(void) { Serial.begin(9600); HC05.begin(115200); pinMode(LED_VERMELHO, OUTPUT); pinMode(LED_VERDE, OUTPUT); } void loop(void) { voltage= analogRead(sensorPin) * (5.0 / 1023.0); temperatura=100*voltage; Serial.println(temperatura); HC05.print(temperatura); if(temperatura < 28){ digitalWrite(LED_VERDE, HIGH); digitalWrite(LED_VERMELHO, LOW); } else { digitalWrite(LED_VERMELHO, HIGH); digitalWrite(LED_VERDE, LOW); } delay(DELAY); }- 1 reply
-
- 1
-
- sensor
- temperatura
-
(and 4 more)
Tagged with:
-
Saudações pessoal. Estou desenvolvendo aos poucos um software para controlar uma incubadora. Minha ideia é setar uma temperatura (menu 2), e na tela inicial (menu 1), mostrar a temperatura e o CO2 (que não esta sendo trabalhado no momento), e futuramente novas funções serão adicionadas como Overtemp, Temperatura da porta, etc. Consigo ver a variação de temperatura, porém o rele nao desliga quando atinge a temperatura de setpoint que programei. Programa todo abaixo. Utilizado um shield LCD com teclado + modulo rele serial (4 reles) + sensor DS18B20 /*-----------------------------------------------------------------------------------------------------------------*/ #include <LiquidCrystal.h> //Biblioteca para o display LCD #include <DallasTemperature.h> //Biblioteca Dallas #include <OneWire.h> //protocolo de Barramento da Dallas - Pode adicionar varios sensores a um mesmo pino #include <SerialRelay.h> //Biblioteca Modulo Serial de Reles #include <EEPROM.h> // --- Mapeamento de Hardware --- OneWire pino(11); //Define o pino que receberá a informação DallasTemperature barramento(&pino); //Objeto que define o barramento dos sensores DeviceAddress sensor1; //Define Sensor 1 // --- Protótipo das Funções Auxiliares --- void keyboardRead(); //Função para modificar o menu atual void dispMenu(); //Função para mostrar o menu atual void INICIO(); //Funçao do menu1, temperatura e co2 void relay1(); //função do rele 1 void TEMP(); //função do menu 2, setpoint de tempetura. // --- Variáveis Globais --- char menu = 0x01; //Variável para selecionar o menu int adc_value = 0x00; //armazena o valor digital do conversor AD boolean RIGHT = 0x00, butt01 = 0x00, //botão e flag Right UP = 0x00, butt02 = 0x00, //botão e flag Up DOWN = 0x00, butt03 = 0x00, //botão e flag Down LEFT = 0x00, butt04 = 0x00, //botão e flag Left SELECT = 0x00, butt05 = 0x00; //botão e flag Select float temp1,T_SET=25; const int NUMERO_MODULOS = 1; //determina a quantidade de modulos conectados (maximo de 10) SerialRelay reles (13, 12, NUMERO_MODULOS); //definicao da pinagem de data e clock do modulo, e da quantidade de modulos // --- Hardware do LCD --- LiquidCrystal disp(8, //RS no digital 8 9, //EN no digital 9 4, //D4 no digital 4 5, //D5 no digital 5 6, //D6 no digital 6 7); //D7 no digital 7 // --- Configurações Iniciais --- void setup() { disp.begin(16,2); //Inicializa LCD 16 x 2 barramento.begin(); barramento.getAddress(sensor1,0); disp.setCursor(3,0); disp.print("TECHNOLAB");//mensagem na primeira linha disp.setCursor(3,1); disp.print("SOLUCOES");//mensagem segunda linha delay (5000); disp.clear(); } //end setup // --- Loop Infinito --- void loop() { keyboardRead(); dispMenu(); relay1(); if(SELECT == 0X01) //tecla SELECT pressionada? { //sim SELECT =0x00; //limpa flag da tecla }//end if select if(RIGHT == 0x01) //tecla right pressionada? { //sim... RIGHT = 0x00; //limpa flag da tecla delay(500); disp.clear(); //Posiciona cursor na coluna 1, linha 2 menu++; //Imprime mensagem if(menu > 0x02) menu = 0x01; } //end if right if(UP == 0x01) //tecla up pressionada? { //sim... UP = 0x00; //limpa flag da tecla delay (500); T_SET++; EEPROM[1] = T_SET; } //end if up if(DOWN == 0x01) //tecla down pressionada? { //sim... DOWN = 0x00; //limpa flag da tecla delay (500); T_SET--; EEPROM[1] = T_SET; } //end if down if(LEFT == 0x01) //tecla left pressionada? { //sim... LEFT = 0x00; //limpa flag da tecla delay(500); disp.clear(); //Imprime mensagem menu--; if(menu < 0x01) menu = 0x02; } //end IF left } // --- Desenvolvimento das Funções Auxiliares --- void keyboardRead() //Modifica o menu atual { adc_value = analogRead(A0); //Variável para leitura recebe valor AD de A0 // --- Testa se os botões foram pressionados --- // Se foi pressionado, seta a respectiva flag if (adc_value < 50) butt01 = 0x01; else if (adc_value > 103 && adc_value < 200) butt02 = 0x01; else if (adc_value > 250 && adc_value < 380) butt03 = 0x01; else if (adc_value > 450 && adc_value < 550) butt04 = 0x01; else if (adc_value > 600 && adc_value <780) butt05 = 0x01; // --- Testa se os botões foram liberados --- // if (adc_value > 50 && butt01) //Botão right solto e flag butt01 setada? { //Sim... butt01 = 0x00; //Limpa flag butt01 RIGHT = 0x01; //Seta flag right } //end right if (adc_value > 200 && butt02) //Botão up solto e flag butt02 setada? { //Sim... butt02 = 0x00; //Limpa flag butt02 UP = 0x01; //Seta flag up } //end up if (adc_value > 380 && butt03) //Botão down solto e flag butt03 setada? { //Sim... butt03 = 0x00; //Limpa flag butt03 DOWN = 0x01; //Seta flag down } //end down if (adc_value > 550 && butt04) //Botão left solto e flag butt04 setada? { //Sim... butt04 = 0x00; //Limpa flag butt04 LEFT = 0x01; //Seta flag left } //end left if (adc_value > 780 && butt05) //Botão left solto e flag butt04 setada? { //Sim... butt05 = 0x00; //Limpa flag butt04 SELECT = 0x01; //Seta flag left } //end SELECT } //end keyboardRead /*---------------------------------------------------------------------------------------------*/ void dispMenu() //Mostra o menu atual { switch(menu) //Controle da variável menu { case 0x01: //Caso 1 INICIO(); //Chama a tela inciail que mostra nivel de CO2 e temperatura atual break; //break case 0x02: //Caso 2 TEMP(); //Chama a função de setpoint de temperatura break; }} /*-----------------------------------------------------------------------------------------------------*/ void INICIO() //TELA INICIAL (MENU1) { barramento.requestTemperatures();// realiza leitura do sensor de temperatura float temp1 = barramento.getTempC(sensor1); delay(1000); disp.setCursor(0,0); disp.print("TEMP:");//mensagem na primeira linha disp.print(temp1);//valor lido no sensor de temperatura interno disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius disp.setCursor(0,1); disp.print("CO2: ");//Mensagem segunda linha // disp.print(valorCO2);// valor lido no sensor de CO2 disp.write(B00100101);//SIMBOLO DE % } //end telaInicial /*---------------------------------------------------------------------------------------------*/ void TEMP() //SETPOINT TEMPERATURA(menu2) { disp.setCursor(2,0); disp.print("TEMPERATURA");//mensagem na primeira linha disp.setCursor(5,1); disp.print(T_SET);//Mostra a temperatura media na segunda linha disp.write(B11011111);//SIMBOLO DE GRAUS disp.print("C"); //Celsius if(EEPROM[0] !=25){ EEPROM[0]= 25; EEPROM[1]= T_SET; } else { T_SET = EEPROM[1]; } } void relay1() { //condicao de acionamento if (T_SET > temp1){ //se a temperatura do sensor 1 for menor que a temperatura de setpoint reles.SetRelay(1, SERIAL_RELAY_ON, 1); //liga o rele 1 } while (T_SET <= temp1) { //se a temperatura do sensor 1 for maior que a temperatura de setpoint reles.SetRelay(1, SERIAL_RELAY_OFF, 1); //desliga o rele 1 } }
-
Alguem me indica um bom
-
o arduino leonardo e muito bom para usar nos projetos
-
Opa, algume poderia me ajudar a como fazer um PWM em um arduino fazendo com que a saída dele seja de 4mA tendo 50cm?
-
DRAM ARDUINO TESTER Ver archivo Dram Arduino tester for retro computers Submitter Ettore Pelliccioni Submitted 17/03/24 Categoría Arduino
-
-
ARDUINO Visualizar Arquivo 10 PROJETOS PRÁTICOS COM ARDUINO 01 GUIA PARA COLOCAR SUAS IDEIAS EM PRÁTICA. Uploader claudiocaixa Enviado 06-06-2020 Categoria Arduino
-
Conheci EletrônicaBr pelo Google Nível técnico em eletrônica: Iniciante Estou buscando conhecimento em eletrônica para facilitar meus projetos que faço com Arduino, Esp etc. Tenho conhecimento e facilidade na programação de microcontroladores. exceto pic
-
ACS712 Visualizar Arquivo ACS712 Datasheet Utilizado em alguns módulos do Arduíno Uploader untsouza Enviado 25-05-2020 Categoria Arduino
-
- acs712
- sensor de corrente
-
(and 4 more)
Tagged with:
-
Olá pessoal, estava usando a IDE do arduino com um NANO sem problemas. Comprei um modulo do ESP32 Espressif, fiz as modificacoes na IDE. Os códigos compilam mas demoram demais, visivelmente algo está errado. Já tentei desativar o antivirus e nada. Vi em algum lugar algo sobre mudar o nome de uma pasta do arduino. alguem tem alguma dica ou esta passando por esse problema?
- 6 replies
-
- 2
-
- arduino
- extremamente
-
(and 3 more)
Tagged with:
-
Capture the flag with a GPS, RFID and LoRa twist A tabletop bowling game with automated scoring BLOG HOME Machine vision with low-cost camera modules Visualizar Arquivo If you’re interested in embedded machine learning (TinyML) on the Arduino Nano 33 BLE Sense, you’ll have found a ton of on-board sensors — digital microphone, accelerometer, gyro, magnetometer, light, proximity, temperature, humidity and color — but realized that for vision you need to attach an external camera. Uploader Lázaro Maia Enviado 31-07-2020 Categoria Arduino
-
Bom dia. Conforme comentei em uma outra postagem minha aqui no fórum, estou prestes a começar um projeto de uma gravadora laser para poder gravar a logo da minha empresa nos itens desenvolvidos por nós (sou marceneiro). Acontece que meu conhecimento de eletrônica em geral é quase nulo, mas pelo desafio, pela vontade de aprender resolvi eu mesmo tentar fazer a máquina. Ela é 100% baseada no projeto OpenBuilds ACRO. Pensei em fazer o meu própio projeto, mas como é minha primeira vez voltei atrás na ideia e resolvi seguir uma receita de bolo. Aprendendo a receita no futuro posso começar a criar. O meu maior problema é na parte da eletrônica. Gostaria de usar um Arduino como controlador da máquina. Inclusive já comprei um e ele está para chegar. É um Arduino UNO Rev. 3 SMD (e sim, comprei o original, do site oficial, da Itália). Sei que preciso de uma shield com drivers para poder acionar os motores (que serão NEMA 17, possivelmente estes: https://produto.mercadolivre.com.br/MLB-1107911318-motor-de-passo-nema-17-48-kgfcm-10a-_JM ). Minhas dúvidas são: 1. o motor. Tudo certo, correto? 2. vi que existe uma variedade enorme de shields CNC para serem acopladas no Arduino UNO. A grande maioria possui suporte para 4 drivers (estou correto?). Existe alguma shield específica para gravadoras laser, isto é, com apenas 3 conectores para os drivers? Ainda sobre isso, nas shields com 4 conectores, um deles geralmente possui uma cor diferente ( como este, por exemplo: https://produto.mercadolivre.com.br/MLB-1552979669-placa-cnc-shield-v3-arduino-para-impressora-3d-cnc-_JM ), qual o motivo dessa distinção? 3. Ainda sobre as shields, vi que existem o padrão RAMPS 1.4, 1.5 e 1.6. Pelo que entendi elas são exclusivas para o Arduino MEGA, correto? E qual a diferença entre eles? Apenas uma aprimoramento no quesito estabilidade e dissipação de calor? (se elas forem exclusivas do Arduino MEGA nem precisa responder a diferença...) 4. sobre os drivers. Vi também que existem vários modelos, dentre eles o A4988 (o mais comum) e o TMC2130 (bem mais sofisticado que o A4988). Achei um vídeo no YouTube ( https://www.youtube.com/watch?v=ZzO9skEYqwY ) de um cara trocou os A4988 por uns TMC2130 e segundo ele melhorou muito a máquina além de ter diminuido o barulho. A minha pergunta é se realmente vale a pena e qual vai ser minha dor de cabeça ao fazer isso? 5. o firmware que eu tenho que baixar para o Arduino é o GRBL, correto? Conversei com um cara e ele me disse que o TCM2130 não foi feito para o GRBL mas sim para o Marlin, que não saberia se funcionaria... Ainda sobre o vídeo acima, na descrição do mesmo, tem o link para a página pessoal da pessoa que fez, e tem umas informações que, creio eu, sejam interessantes: https://reps.cc/?p=5 6. este mesmo cara no qual eu conversei me disse que, inicialmente o GRBL foi desenvolvido para gravadoras a laser e o Marlin para impressoras 3D. Procede? 7. e já que estou aqui perguntando, vou aproveitar e perguntar uma outra coisinha. Sobre a fonte. Tenho que comprar uma fonte chaveada 12 V 20 A? Ou uma 12 V 10 A já basta? Ah, no momento estou com um laser de 0.5 Watts, mas irei trocar para um de 15 Watts. Desculpem esse monte de perguntas, mas eu realmente estou meio perdido. Existem toneladas de material na internet, mas nada do que achei entra nestes detalhes. Desde já agradeço a atenção, Diego
-
Testando relé shield arduino Visualizar Arquivo teste de relé com arduino Uploader Iran Neto Enviado 03-06-2020 Categoria Arduino
-
Controle luminosidade com arduino Visualizar Arquivo Controle de luminosidade com arduino Uploader Iran Neto Enviado 03-06-2020 Categoria Arduino
-
- controle
- luminosidade
-
(and 1 more)
Tagged with:
SOBRE O ELETRÔNICABR
Técnico sem o EletrônicaBR não é um técnico completo! Leia Mais...