산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 UNO와 WiFi 실드로 웹 조이스틱 만들기

부품 및 소모품

아두이노 UNO ×1
PHPoC WiFi 실드 (아두이노용) ×1
Seeed SG90 마이크로 서보 모터 ×2
점퍼 와이어 ×1

프로젝트 소개

초보자를 위한 학습 내용:

이 프로젝트로 모든 것을 제어할 수 있지만, 서보 모터를 예시로 사용했습니다.

데모

배선 방법

데이터 흐름

웹 브라우저 → PHPoC WiFi 실드 → 아두이노

웹 브라우저의 웹 앱이 터치/클릭 이벤트 좌표(스케일링 후)를 WebSocket을 통해 PHPoC 실드로 전송합니다. 데이터를 수신하면 PHPoC 실드가 자동으로 아두이노로 전달합니다. 아두이노는 PHPoC 실드로부터 받은 데이터에 따라 두 서보 모터를 제어합니다.

참고: PHPoC 실드에는 웹 브라우저에서 아두이노로 데이터를 전달하는 내장 프로그램이 있습니다. 따라서 이에 대해 신경 쓸 필요가 없습니다.

해야 할 작업

PHPoC 실드 WiFi 정보 설정

이 지침을 참조하세요.

PHPoC 실드에 새 웹 UI 업로드

아두이노 코드 작성

실행 방법

유사 프로젝트 (다른 하드웨어 플랫폼)

같은 기능을 하지만 다른 하드웨어 플랫폼을 사용한 프로젝트입니다.

초보자를 위한 최고의 아두이노 스타터 키트

초보자를 위한 최고의 아두이노 키트 확인

함수 참조

코드

아두이노 코드 Arduino

#include "SPI.h"
#include "Phpoc.h"
#include 

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("WebSocket server address: ");
  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);
      // [-100, 100] 범위를 [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);
    }
  }
}

웹 사용자 인터페이스 (remote_joystick.php) 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, h2, button { font-weight: bold; font-size: width/2pt; }
</style>
<script>
// 조이스틱 캔버스 및 WebSocket 통신 로직
// 터치/마우스 이벤트 처리 및 서보 제어 데이터 전송
</script>
</head>
<body>
<h1>Arduino - Web-based Joystick</h1>
<canvas id="remote"></canvas>
<h2>
  WebSocket: <span id="ws_state">null</span>
  <button id="bt_connect" onclick="connect_onclick()">Connect</button>
</h2>
</body>
</html>

회로도

아두이노 UNO와 WiFi 실드로 웹 조이스틱 만들기

제조공정

  1. 블루투스 제어 아두이노 스파이봇(Spybot) 만들기
  2. 플릭모트(FlickMote): 스마트 홈을 위한 제스처 제어 IR 리모컨
  3. DIY 아두이노 TV B-Gone: 모든 TV를 끄는 만능 리모컨
  4. 아두이노로 만드는 대형 LED 마스터 시계 (알람 기능 포함, 12m 거리에서도 식별 가능)
  5. 낡은 RC카를 아두이노와 엑스박스 컨트롤러로 조종하는 차량으로 개조하기
  6. 아두이노 조이스틱 인터랙티브 게임 - LED 피드백으로 방향 감지
  7. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  8. 아두이노 프로젝트를 위한 최적화된 전원 솔루션
  9. 아두이노 나노와 조이스틱으로 2개 스테퍼 모터 제어하기 – 비주이노(Visuino) 튜토리얼
  10. 아두이노 웹 제어 MP3 플레이어 - 브라우저로 오디오 재생하기