Como fazer um botão virtual com o arduino
Video: Tutorial - Como fazer um dashboard para ETS 2 com arduino
Conteúdo
Você vai aprender como fazer um botão na tela de processamento que afeta um LED física no seu Arduino. Este é um grande esboço para começar com interações entre computadores eo mundo real, e entre um Arduino e Processamento.
Você precisa:
Um Arduino Uno
um LED
A configuração é simples para esta introdução ao Arduino e Processamento, exigindo apenas um único LED.
Video: Como fazer uma ponte H com transistor (+EXPLICAÇÃO+ARDUÍNO OU BOTÃO+PROTOBOARD)
Insira a perna longa do LED no pino 13 ea perna curta em GND. Se você não tem um LED, você pode simplesmente monitorar o LED bordo marcado L.
Como configurar o código Arduino
Depois de seu circuito é montado, é necessário o software apropriado usá-lo. A partir do menu Arduino, escolha Arquivo → Exemplos → 04.Communication → PhysicalPixel para encontrar o esboço.
Este esboço contém código Arduino eo código de processamento relevante para o esboço de trabalhar (ele também tem uma variação de Max 5). O código abaixo o código Arduino é comentado para evitar interferir com o código Arduino.
Em versões mais antigas do Arduino, os arquivos esboço terminou com .PDE, que é o sufixo processamento. Isso causou confusão, então agora o sufixo Arduino é .eu não. Sufixos diferentes torná-lo possível ter o esboço Arduino e o esboço de processamento no mesmo lugar.
Video: Medidor de Energia Elétrica com Arduino
/ * Exemplo Pixelan Física de usar a placa Arduino para receber dados a partir de thecomputer. Neste caso, as placas Arduino acende um LED whenit recebe o caractere `H`, e desliga o LED quando itreceives o personagem `dados L`.Os pode ser enviado a partir do monitor serial Arduino, ou anotherprogram como Processing (ver código abaixo), inflamação (por meio de um série-netproxy), PD, ou circuito Max / MSP.The: * LED ligados de pino digital 13 para groundcreated 2006by David A. Mellismodified 30 ago 2011by Tom Igoe e Scott FitzgeraldThis exemplo é o código da pública domain.http: //arduino.cc/en/Tutorial/PhysicalPixel*/const int ledPin = 13- // o pino que o LED está ligado aint incomingByte- // uma variável para ler dados seriais de entrada configuração intovoid () {// inicializa comunicação serial: Serial.begin (9600) - // inicializa o pino de LED como uma saída: pinMode (ledPin, OUTPUT) -} void loop ( ) {// ver se há dados seriais de entrada: if (Serial.available () gt; 0) {// lê o byte mais antigo no buffer de série: incomingByte = Serial.read() - // se é um H de capital (ASCII 72), ligar o LED:E se (IncomingByte == `H`) {DigitalWrite (ledPin, HIGH) -} // se é um L (ASCII 76) desligar o LED:E se (IncomingByte == `EU`) {DigitalWrite (ledPin, LOW) -}}}
Agora percorrer as etapas para fazer upload de seu esboço.
Com o Arduino configurado para receber uma mensagem de processamento, você precisa configurar o esboço de processamento para enviar uma mensagem de sinal em relação ao mesmo porta serial para o Arduino.
Como configurar o código Processamento
Este código está disponível dentro de marcadores de comentário de várias linhas (/ * * /) Na parte inferior do esboço Arduino PhysicalPixel. Copie o código dentro dos marcadores do comentário, cole-o em um novo esboço de processamento, e guardá-lo com um nome apropriado, como PhysicalPixel.
// mouseover série // Demonstra como enviar dados para a placa Arduino I / O, a fim de // acender uma luz se o mouse está sobre um quadrado e desligá-lo // se o mouse é not.// criado 2003-4 // baseado em exemplos por Casey Reas e Hernando Barragan // modificado 30 de agosto de 2011 // by Tom Igoe // Este exemplo de código é de domínio público.importar processing.serial. * -flutuador boxX-flutuador boxY-int boxSize = 20-boleano mouseOverBox = falso-porta-vazio série de configuração () {Tamanho(200, 200) = -boxX largura/2.0-boxY = alturaLista /2.0-rectMode(RADIUS)-// todas as portas seriais disponíveis na saída pane.// Você terá que escolher a porta que a placa Arduino é // ligado a partir desta lista. A primeira porta na lista é // port # 0 e a terceira porta na lista é a porta # 2.println(Serial.Lista()) - // Abre a porta que a placa Arduino está ligado a (neste caso # 0) // Certifique-se para abrir a porta com a mesma velocidade Arduino está usando (9600bps) port = Novo Serial(esta, Serial.Lista() [0], 9600) -} void draw () {background (0) - // Teste se o cursor estiver sobre a caixaE se (mouseX gt; boxx-boxSize && mouseX lt; boxx + boxSize &&mouseY gt; BOXY-boxSize && mouseY lt; BOXY + boxSize) {= mouseOverBox verdade-// desenhar uma linha ao redor da caixa e mudar a sua cor:acidente vascular encefálico(255) -encher(153) - // enviar um `H` para indicar mouse está sobre quadrado: port.write (`H`) -} else {// retorna a caixa ao seu estado inativo:acidente vascular encefálico(153) -encher(153) - // enviar um `L` para ligar o LED off: port.write (`EU`) = -mouseOverBox falso-} // desenha a caixarect(Boxx, quadradão, boxSize, boxSize) -}
Clique no botão Run para executar o esboço de processamento, e um applet aparece. O applet mostra um fundo preto com um quadrado cinza no meio, o que representa o botão virtual. Se você mover o mouse sobre o quadrado cinza (ou pixel), você pode ver que suas bordas virar branco.
Se você, em seguida, olhar para o seu Arduino, você vê que quando o mouse passa sobre o quadrado cinza, o LED em sua placa ilumina, dando-lhe uma representação física do seu pixel.
Se o seu LED não acender, verifique sua fiação:
Certifique-se de que você está usando o número PIN correcto.
Certifique-se de que as pernas de LED são a maneira correta ao redor.
Verifique se o seu código Arduino carregado corretamente e que o seu código de Processamento não tem erros. Note que você não pode carregar enquanto o esboço de processamento está se comunicando com o Arduino, então você precisa parar o esboço antes de fazer upload.