Índice:

Conectando o processamento e o Arduino e o controlador de 7 segmentos e servo GUI: 4 etapas
Conectando o processamento e o Arduino e o controlador de 7 segmentos e servo GUI: 4 etapas

Vídeo: Conectando o processamento e o Arduino e o controlador de 7 segmentos e servo GUI: 4 etapas

Vídeo: Conectando o processamento e o Arduino e o controlador de 7 segmentos e servo GUI: 4 etapas
Vídeo: Aula HARDWARE - Robótica Plataforma Arduíno 2024, Novembro
Anonim
Conectando o Processamento e o Arduino e o Make 7 Segment e o Servo GUI Controller
Conectando o Processamento e o Arduino e o Make 7 Segment e o Servo GUI Controller

Para alguns projetos que você fez precisa usar o Arduino, pois fornece uma plataforma de prototipagem fácil, mas exibir gráficos no monitor serial do Arduino pode demorar muito e é até difícil de fazer. Você pode exibir gráficos no Arduino Serial Monitor, mas os gráficos não são a única coisa que você precisa exibir. Todos os objetos interativos como controles deslizantes, botões, programas com saída 2D, 3D, PDF ou SVG e você também pode criar animações facilmente. O modo de programação padrão para processamento é Java, mas você pode alternar para Android, p5.js, REPL, CoffeeScript e JavaScript. Neste Instructable, no entanto, usaremos o modo de programação Java.

Todo o conteúdo e código também está disponível no meu github aqui.

Etapa 1: Usando Processing.serial

Código de Processamento

As primeiras duas linhas de código serão

import processing.serial. *; Serial myPort;

Aqui na primeira linha estamos importando a biblioteca - processando e na segunda linha estamos criando um objeto da classe Serial chamado myPort, você pode nomeá-lo como quiser seguindo as regras de nomeação de um identificador.

No processamento, temos void setup () e void draw () onde void é o tipo de retorno da função, você também pode alterá-lo para int setup () e int draw () ou outro tipo de dados de sua preferência, mas você precisará retornar um valor que tem o mesmo tipo de dados que você usa antes das funções.

em setup () escrevemos as instruções que precisamos executar uma vez, enquanto em draw () escrevemos as instruções que precisamos executar várias vezes. As duas linhas de código mencionadas acima devem ser escritas acima de void setup () porque elas precisam ter acesso global.

No void setup () iremos inicializar o objeto myPort.

void setup () {

tamanho (800, 800);

myPort = novo Serial (este, "COM18", 9600);

}

O tamanho da linha (800, 800); define o tamanho da tela de 800 pixels por 800 pixels.

A palavra-chave new na segunda linha é usada para reservar espaço para o objeto na memória, o argumento this é uma variável de referência que se refere ao objeto atual. O argumento COM18 é a porta do Arduino conectada, precisamos disso, pois estaremos transportando os dados via interface serial. O número 18 pode ser diferente no seu caso, você pode encontrá-lo em Ferramentas> Porta no IDE do Arduino e 9600 é a taxa de transmissão, você pode alterar isso no Arduino e no processamento.

Etapa 2: entender a classe serial

O construtor para Serial

Serial (pai, portName, baudRate, paridade, dataBits, stopBits)

Argumentos:

pai: normalmente use "este"

baudRate (int): 9600 é o padrão

portName (String): nome da porta (COM1 é o padrão)

paridade (caractere): 'N' para nenhum, 'E' para par, 'O' para ímpar, 'M' para marca, 'S' para espaço ('N' é o padrão)

dataBits (int): 8 é o padrão

stopBits (float): 1.0, 1.5 ou 2.0 (1.0 é o padrão)

Métodos importantes:

  1. myPort.available () - retorna o número de bytes disponíveis.
  2. myPort.clear () - esvazia o buffer e remove todos os dados armazenados nele.
  3. myPort.read () - Retorna um número entre 0 e 255 para o próximo byte que está esperando no buffer.
  4. myPort.readString () - Retorna todos os dados do buffer como String ou nulo se não houver nada disponível.
  5. myPort.write ("test") - Grava bytes, chars, ints, bytes , Strings na porta serial.
  6. myPort.stop () - interrompe a cominicação de dados na porta.

Etapa 3: classe serial do Arduino

Você não precisa importar a classe serial no Arduino antes de usá-la.

No Arduino, existem 2 funções chamadas setup () e loop (). A configuração é executada apenas uma vez, mas o loop é executado várias vezes. Em setup (), precisamos escrever, use o método begin () para iniciar a comunicação serial. No Arduino, ao contrário do processamento, não precisamos mencionar a porta como os argumentos do método begin (), pois já especificamos a porta durante o upload do esboço no Arduino.

Portanto, o setup () ficará assim:

void setup () {

Serial.begin (9600); // inicia a comunicação serial

}

9600 aqui especifica a taxa de transmissão que também mencionamos no arquivo de processamento. Para uma comunicação adequada, as taxas de transmissão devem ser iguais ou você pode ver a saída serial como algo sem sentido.

Agora vamos ver a parte do loop (). Esta parte do código é executada várias vezes. Se quisermos ler alguns dados pela porta, usaremos o método Serial.read (). Esta função retorna null se nenhum dado estiver disponível, portanto, chamaremos esse método apenas quando tivermos alguns dados disponíveis no fluxo serial.

Para verificar se há algum dado disponível, usaremos o método Serial.available (). Se retornar um valor maior que 0, alguns dados estarão disponíveis.

Portanto, a parte loop () será semelhante a esta:

void loop () {

if (Serial.available ()> 0) {// se alguns dados estiverem disponíveis na porta serial

estado char = Serial.read (); // leia o valor

// declarações if ou alternar entre maiúsculas e minúsculas

}

}

Agora podemos usar se a escada ou se houver muitos resultados possíveis, podemos usar o caso de switch também para o estado variável.

Etapa 4: construir um controlador de segmento GUI 7

Construir um GUI 7 Segment Controller
Construir um GUI 7 Segment Controller
Construir um GUI 7 Segment Controller
Construir um GUI 7 Segment Controller
Construir um GUI 7 Segment Controller
Construir um GUI 7 Segment Controller

Os arquivos estão anexados aqui. Nota: Para o processamento, você também precisará instalar a biblioteca control p5 que usei para criar os botões interativos da GUI.

Números PIN

7 segmentos (em ordem alfabética) referem-se à imagem

a - pino digital 2

b - pino digital 3

c - pino digital 4

d - pino digital 5

e - pino digital 6

f - pino digital 7

g - pino digital 8

dp - pino digital 9

Todo o conteúdo e código também está disponível no meu github aqui

Recomendado: