No ultimo mes, deixamos um pouco o blog de lado para correr com a elaboracao dos relatorios parciais de cada um. Decidi publicar agora os documentos com os resultados preliminares da pesquisa:Danilo - Programacao ArduinoRodrigo - HardwareThiago - Interface Java ResumoDanilo Nunes PauloRodrigo AbdoThiago VidalRelatorios FinaisDanilo Nunes PauloRodrigo AbdoThiago Vidal Seguindo com o projeto, estamos na fase da integracao Hardware-Software.Estamos trabalhando no momento com o Musical Instrument Shield, que sera de extrema utilidade no projeto, com ele poderemos reproduzir sons reais de instrumentos musicais, ja que o Musical Instrument Shield comporta uma biblioteca de diversos instrumentos musicais.Segue foto abaixo dele conectado no Arduino e na Protoboard para a realizacao de alguns testes com o Software.Musical Instrument Shield (vermelho)Musical Instrument ShieldO manuseio do hardware e simples junto ao Arduino e a Protoboard, como estamos fazendo alguns testes com o Software, decidimos ainda nao solda-lo junto ao Arduino, mas para a finalizacao do projeto sera necessario.A principio utilizamos este site de dois alunos da Universidade de Stanford, para nos auxiliar com o desenvolvimento do codigo.Ao decorrer do desenvolvimento encontramos algumas dificuldades que serao solucionadas junto a nossa Orientadora. As funcionalidades de nossa interface grafica, como anteriormente explicitadas, devem ser divididas em niveis de abstracao para facilitar o entendimento e a programacao. Para isso, vamos atacar o problema pelos seguintes pontos:JButtons (botoes);JComboBox (lista de itens drop-down);Tratadores de evento: selecionar um item do JComboBox/clicar em um botao;Logica de abrir arquivo de audio (por URL ou especificar o caminho de um arquivo local C://).Por enquanto, testamos separadamente para analisar o comportamento dos componentes Swing JButton e JComboBox. O codigo abaixo testa os 8 botoes da aplicacao que, no futuro vao aparecer na tela apos ser selecionado um item da lista de afinacoes (JComboBox). Serao 8 botoes diferentes para cada item dessa caixa selecionavel, contendo um arquivo midi diferente. import javax.swing.JFrame;import javax.swing.JOptionPane;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;public class ButtonFrame extends JFrame { private JButton button1; private JButton button2; private JButton button3; private JButton button4; private JButton button5; private JButton button6; private JButton button7; private JButton button8;private ButtonHandler handler;/*EmAmDmGCFBbBdim*/ public void makeButtons(){ Container c = this.getContentPane(); setLayout(new FlowLayout()); button1 = new JButton("Em"); c.add(button1); button2 = new JButton("Am"); c.add(button2); button3 = new JButton("Dm"); c.add(button3); button4 = new JButton("G"); c.add(button4); button5 = new JButton("C"); c.add(button5); button6 = new JButton("F"); c.add(button6); button7 = new JButton("Bb"); c.add(button7); button8= new JButton("Bdim"); c.add(button8); }public void tratarEventoBotao(ButtonHandler handler){ //cria novo ButtonHandler para tratamento de evento de botao handler = new ButtonHandler(); button1.addActionListener(handler); button2.addActionListener(handler); button3.addActionListener(handler); button4.addActionListener(handler); button5.addActionListener(handler); button6.addActionListener(handler); button7.addActionListener(handler); button8.addActionListener(handler); } public ButtonFrame(){ super("Testando JButtons"); makeButtons(); tratarEventoBotao(handler); } private class ButtonHandler implements ActionListener{ @Override public void actionPerformed(ActionEvent event) { JOptionPane.showMessageDialog(ButtonFrame.this, String.format("Voce clicou %s", event.getActionCommand())); } } public static void main(String[] args) { ButtonFrame b = new ButtonFrame(); b.setSize(250,140); b.setVisible(true); }} Todas nos lideres de La Leche League latina recebemos o artigo a seguir de nossa colega de LLL Colombia Eliana Duque Velez com a solicitacao de divulga-lo.O assunto e polemico e deixa refletir sobre a indiferenca perante a fome, a desnutricao, a falta de recursos e investimentos para com a amamentacao, etc.O texto e em espanhol mas