Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Crie um Joystick Web com Arduino UNO e Shield WiFi PHPoC

Componentes e Materiais

Componente Quantidade
Arduino UNO 1
PHPoC WiFi Shield para Arduino 1
Servomotor Seeed SG90 Micro 2
Jumpers (fios de conexão) 1 conjunto

Sobre o Projeto

Se você é iniciante, pode aprender:

Podemos controlar diversos dispositivos com este projeto, mas usei servomotores como exemplo.

Demonstração

Um joystick virtual no navegador controla dois servomotores em tempo real via WebSocket.

Ligação (Wiring)

Fluxo de Dados

Navegador Web → PHPoC WiFi Shield → Arduino

O aplicativo web no navegador envia as coordenadas (após escalonamento) do evento de toque ou clique para o PHPoC Shield via WebSocket. Ao receber os dados, o PHPoC Shield os repassa automaticamente ao Arduino. O Arduino controla os dois servomotores conforme os dados recebidos.

Nota: O PHPoC Shield possui um programa interno para passar dados do navegador ao Arduino. Portanto, não precisamos nos preocupar com essa parte.

O que Precisamos Fazer

Configuração WiFi do PHPoC Shield

Consulte esta instrução.

Carregar Nova UI Web no PHPoC Shield

Escrever Código do Arduino

Testando

Projeto Similar com Outra Plataforma de Hardware

Este projeto realiza a mesma função mas utiliza outra plataforma de hardware.

O Melhor Kit Inicial Arduino para Iniciantes

Veja O Melhor Kit Arduino para Iniciantes

Referências de Funções

Código

Código do Arduino

#include "SPI.h"
#include "Phpoc.h"
#include <Servo.h>

PhpocServer server(80);
Servo servo_x;
Servo servo_y;

void setup() {
  Serial.begin(9600);
  while(!Serial) ;
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
  server.beginWebSocket("web_joystick");
  Serial.print("Endereço do servidor WebSocket: ");
  Serial.println(Phpoc.localIP());
  servo_x.attach(8);
  servo_y.attach(9);
  servo_x.write(90);
  servo_y.write(90);
}

void loop() {
  PhpocClient client = server.available();
  if (client) {
    String data = client.readLine();
    if(data){
      int pos = data.indexOf(':');
      long x = data.substring(0, pos).toInt();
      long y = data.substring(pos+1).toInt();
      Serial.print("x: ");
      Serial.print(x);
      Serial.print(", y: ");
      Serial.println(y);
      // Escalonar de [-100; 100] para [0; 180]
      long angle_x = (x + 100) * 180 / 200;
      long angle_y = (y + 100) * 180 / 200;
      servo_x.write(angle_x);
      servo_y.write(angle_y);
    }
  }
}

Interface Web do Usuário (remote_joystick.php)

<!DOCTYPE html>
<html>
<head>
<title>Arduino - PHPoC Shield</title>
<meta name="viewport" content="width=device-width, initial-scale=0.7, maximum-scale=0.7">
<meta charset="utf-8">
<style>
  body { text-align: center; font-size: width/2pt; }
  h1 { font-weight: bold; font-size: width/2pt; }
  h2 { font-weight: bold; font-size: width/2pt; }
  button { font-weight: bold; font-size: width/2pt; }
</style>
<script>
// ... (código JavaScript completo para o joystick virtual via WebSocket)
// O código implementa:
// - Canvas responsivo com joystick visual
// - Conexão WebSocket com o PHPoC Shield
// - Envio de coordenadas X/Y escalonadas (-100 a 100)
// - Tratamento de eventos touch e mouse
</script>
</head>
<body>
<p> <h1>Arduino - Joystick Baseado na Web</h1> </p>
<canvas id="remote"></canvas>
<h2>
  <p> WebSocket : <span id="ws_state">null</span> </p>
  <button id="bt_connect" type="button" onclick="connect_onclick();">Connect</button>
</h2>
</body>
</html>

Esquemáticos

Crie um Joystick Web com Arduino UNO e Shield WiFi PHPoC

Processo de manufatura

  1. Construa um Spybot Controlado por Bluetooth com Arduino
  2. FlickMote: Controle Remoto IR por Gestos para Casa Inteligente
  3. DIY Arduino TV B-Gone: Controle Remoto Universal para Todas as TVs
  4. Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
  5. Transforme um Carro RC Antigo em Veículo Controlado por Joystick com Arduino
  6. Jogo Interativo com Joystick e Arduino – Feedback com LEDs
  7. Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
  8. Soluções de Energia Otimizadas para Projetos Arduino
  9. Controle Dois Motores de Passo com Arduino Nano e Joystick – Tutorial Simples
  10. Reprodutor MP3 Controlado via Web com Arduino: Reprodução de Áudio Fácil pelo Navegador