Por Fernando Koyanagi

Documentos relacionados
#include <SoftwareSerial.h> SoftwareSerial myserial(2, 3); // RX, TX

Depois de configurada nossa comunicação serial podemos enviar vários comandos para comunicação entre o computador e o Arduino:

Por Fernando Koyanagi

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485

Por Fernando Koyanagi 1

ETAPAS PARA A CONSTRUÇÃO DA SONDA

Por Fernando Koyanagi 1

Programação do Arduino. Parte 1. IDE Wiring

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 07

Relatório de Construção do Robô de Seguidor de Linha

Por Fernando Koyanagi

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas

Ficha 3. Exercícios de preparação da actividade 3

Projeto No. 10 Relógio com LCD

MINICURSO ARDUINO BÁSICO

Projeto No. 19 Contador Binário com Chave Rotativa

Medir consumo em Kwh de aparelhos individualmente; Calcular o consumo e reais; Salvar em banco de dados; Visualizar em página WEB; Gerar relatórios.

Arduino e Processing. Professor: Paulo Marcos Trentin Escola CDI Videira

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 01

Curso de Básico Arduino! Ministrado por: Wellington Cássio Faria Contato:

Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.

TERMÔMETRO COM O LM35 Parte I

RESULTAR EM "CHOQUE ELÉTRICO", FOGO, ENTRE OUTROS.

Vetores, Matrizes e String

SENSOR ULTRASSOM HC-SR04

WiFiShield. Introdução

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Curso: Tecnologias educacionais de baixo custo. Conector Ciência:

Orientação a Objetos e Java

- Trabalho Prático de Algoritmos e Programação usando Robô Arduino -

Robótica com Arduino

SISTEMA DE MONITORAMENTO VIA RFID

Integração Arduino - Python Leitura de sensor de umidade e temperatura

Listagem dos programas de controle (sketch) para a placa Arduino utilizados no presente trabalho.

Arduino Aula 4 SHIELDS: BLUETOOTH, ETHERNET E EMG

Robótica com Arduino

Comunicação entre PC e Arduino

int pinosensor = A0; //define a variável como entrada analógica //no pino A0 para o sensor LM35.

arduino = new roboticalivre(); Arduino Marcus Fazzi

Manual do Usuário AUTORRÁDIO MP3 PLAYER NVS Por favor, leia o manual antes de usar o aparelho.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO PROJETO SCATMAN S DIMMER

Missão: Arduino. 3 de Março. Organização

Curso de Arduino. Quais seus principais componentes?

PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores. Temporizadores e Interrupção, AD/DA, Display, Integração com MatLab

Projeto No. 15 Sensor Óptico Reflexivo

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015

Programação Básica em Arduino Aula 2

SENSOR DE LUMINOSIDADE Com indicador de intervalo

Projeto No. 11 Display de Leds de 7 Segmentos

PROTÓTIPO DE CONTROLE DE ACESSO POR RFID

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Apostila de introdução ao Tinkercad (antigo Circuits.io)

KIT INICIANTE V7 PARA ARDUINO

MANUAL PARA ALTO-FALANTE PORTÁTIL MO-MS10

Arduino e Python. Do It Yourself! Luís Bruno Jefferson Jarden Francisco Marcelino

Arduino. Gilmar Aquino

Oficina de Programação utilizando a plataforma Arduino

Curso introdutório de microcontroladores - Plataforma Arduino

Sumário PORTUGUÊS. 1. Principais características Cuidados Botões do Painel: Função e Operação...4

Arduino. Prof. Maurício Dias

Roteiro de Comunicação Raspberry Arduino/ESP8266 com I2C

Ricardo Ribeiro dos Santos - ricardo@facom.ufms.br Faculdade de Computação - UFMS

Entrada de dados com botões

Projeto No. 2 Potenciômetro

PUCRS CURSO DE ENGENHARIA ELÉTRICA

Estrutura Básica da Linguagem Arduino

DESENVOLVIMENTO DE UM SISTEMA DE OBTENÇÃO DE DADOS PARA CALIBRAÇÃO DE CENTRAIS INERCIAIS

Manual Técnico Arduino Supervisório RTC (Real Time Clock)

Plano de Aula. 1 o semestre. Cronômetro Interrupções, Timers. Utilizar interrupções para criar um cronômetro com parciais

Introdução a Programação de Jogos

ÍCONE ESSENCIAL / DIGITAL

Programação Básica em Arduino Aula 2

New One Bluetooth. manual

Para começar, iremos visualizar todas as informações no monitor serial. Portanto, a primeira montagem que devemos fazer na protoboard é a seguinte:

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Programação em Arduino

Esta aula visa mostrar como funciona o receptor de IR comandado por controle remoto, utilizando o Arduino UNO R3.

Galileo Gen2. Walter Fetter Lages

Simulado de Linguagem de Programação Java

Introdução ao Arduino

Alarma Aê Projeto de alarme com envio de alerta para aplicativo para Smartphone.

InteropMix Arduino e Internet das Coisas. Leandro Ramos Leonardo Toledo Robson Machado

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

Discentes: Weverton Lima e Juliete Souza Disciplina: Sistemas Embarcados Professor Orientador: Ilton Barbacena

AULA 14 ESTRUTURA DE DADOS

AULA 13 ESTRUTURA DE DADOS

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Sumário PORTUGUÊS. 1. Principais características Cuidados Função Bluetooth e operações Instalação...4

Estudo do Ambiente de Programação Arduino Software (IDE) com Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

Introdução. O que é o Arduino?

João Alexandre da Silveira ARDUINO. Cartilha para Programação em C

Estruturas de Controle em c#

Tutoriais PET-Tele. Tutorial sobre sistema de controle de acesso RFID (Versão: A2015M01D21)

O ARDUINO. Plataforma de prototipagem eletrônica; Open Source; Formada por duas partes básicas: hardware e software.

Transcrição:

Por Fernando Koyanagi

Objetivo Nosso objetivo será criar um player de músicas mp3. Utilizaremos para isso um Arduino UNO, um mini amplificador de som PAM8403 com ajuste de volume, um módulo MP3 DFPlayer Mini e um par de alto-falantes 3W.

Arduino UNO 3

Módulo mp3 DFPlayer Mini 4

Mini Amplificador de som PAM8403 5

Alto-Falantes 3W 6

Em www.fernandok.com Download arquivo PDF dos diagramas Download arquivo INO do código fonte 7

Montagem

Bibliotecas Adicione a seguinte biblioteca DFRobotDFPlayerMini para comunicação com o módulo mp3. Basta acessar Sketch >> Incluir Bibliotecas >> Gerenciar Bibliotecas...

Vamos ao código Começaremos definindo as bibliotecas e constantes que utilizaremos durante nosso código. #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" //Inicia a serial por software nos pinos 10 e 11 SoftwareSerial mysoftwareserial(10, 11); // RX, TX //Objeto responsável pela comunicação com o módulo MP3 (DFPlayer Mini) DFRobotDFPlayerMini mydfplayer; //variável responsável por armazenar os comandos enviados para controlar o player String buf; //variável responsável por armazenar o estado do player (0: tocando ; 1: pausado) boolean pausa = false; //variável responsável por armazenar o estado da equalização //varia de 0 a 5 int equalizacao = 0; // (0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass)" //variável responsável por armazenar o total de músicas presentes no SD card. int maxsongs = 0;

Setup Na função setup(), vamos inicializar nossa Serial, tanto para comunicação com o módulo mp3, como para debug visual. Além disso iniciaremos nosso objeto mydfplayer e setaremos algumas configurações iniciais. void setup() //Comunicacao serial com o modulo mysoftwareserial.begin(9600); //Inicializa a serial do Arduino Serial.begin(115200); //Verifica se o modulo esta respondendo e se o //cartao SD foi encontrado Serial.println(); Serial.println("DFRobot DFPlayer Mini"); Serial.println("Inicializando modulo DFPlayer... (3~5 segundos)"); if (!mydfplayer.begin(mysoftwareserial)) Serial.println("Nao inicializado:"); Serial.println("1.Cheque as conexoes do DFPlayer Mini"); Serial.println("2.Insira um cartao SD"); while (true); Serial.println(); Serial.println("Modulo DFPlayer Mini inicializado!"); //continua...

Setup (continuação) //Definicoes iniciais mydfplayer.settimeout(500); //Timeout serial 500ms mydfplayer.volume(10); //Volume 10 vai de 0 a 30 mydfplayer.eq(0); //Equalizacao normal //recupera o numero de Músicas encontradas no SD. maxsongs = mydfplayer.readfilecounts(dfplayer_device_sd); Serial.println(); Serial.print("Numero de arquivos no cartao SD: "); Serial.println(maxSongs); //Mostra o menu de comandos menu_opcoes();

Menu Opções A função menu_opcoes(), é exibida a cada comando enviado para o player, ela indica um menu de comandos que podemos utilizar. void menu_opcoes() Serial.println(); Serial.println("Comandos:"); Serial.print(" [1-"); Serial.print(maxSongs); Serial.println("] Para selecionar o arquivo MP3"); Serial.println(" [s] parar reproducao"); Serial.println(" [p] pausa/continua a musica"); Serial.println(" [e] seleciona equalizacao"); Serial.println(" [+ or -] aumenta ou diminui o volume"); Serial.println();

Loop Na função loop(), verificaremos se existe algum dado de entrada (comando para o player), então de acordo com o comando, chamaremos as funções para controlar o player. void loop() //Aguarda a entrada de dados pela serial while (Serial.available() > 0) //recupera os dados de entrada buf = Serial.readStringUntil('\n'); //Reproducao (índice da música) if ((buf.toint() >= 1) && (buf.toint() <= maxsongs)) Serial.print("Reproduzindo musica: "); Serial.println(buf.toInt()); mydfplayer.play(buf.toint()); // dá play na música menu_opcoes();

//Pausa/Continua a musica if (buf == "p") if (pausa) Serial.println("Continua musica..."); mydfplayer.start(); else Serial.println("Musica pausada..."); mydfplayer.pause(); pausa =!pausa; menu_opcoes();

//Parada if (buf == "s") mydfplayer.stop(); Serial.println("Musica parada!"); menu_opcoes(); //Seleciona equalizacao if (buf == "e") equalizacao++; if (equalizacao == 6) equalizacao = 0; mydfplayer.eq(equalizacao); Serial.print("Equalizacao: "); Serial.print(equalizacao); Serial.println(" (0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass)"); menu_opcoes();

//Aumenta volume if (buf == "+") mydfplayer.volumeup(); Serial.print("Volume atual:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); //Diminui volume if (buf == "-") mydfplayer.volumedown(); Serial.print("Volume atual:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); //while //loop

Em www.fernandok.com Download arquivo PDF dos diagramas Download arquivo INO do código fonte 18