Arduino - Joystick Web
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 |
À propos de ce projet
Si vous êtes débutant, vous pouvez apprendre :
- Arduino - Servomoteur.
- Arduino - Joystick
Nous pouvons tout contrôler avec ce projet, mais j'ai pris les servomoteurs comme exemple.
Démo
Câblage
- Empiler PHPoC WiFi shield ou PHPoC Shield sur Arduino
- Connectez les broches GND et VCC de deux servomoteurs à GND et 5V d'Arduino, respectivement. (la broche IOREF d'arduino peut être utilisée comme une broche 5V)
- Connectez les signaux des broches de deux servomoteurs aux broches 8 et 9 d'Arduino, respectivement.
Flux de données
Navigateur Web ---> PHPoC WiFi Shield ---> Arduino
L'application Web sur le navigateur Web enverra les coordonnées (après mise à l'échelle) de l'événement tactile ou de clic au bouclier PHPoC via WebSocket. Lors de la réception des données, le bouclier PHPoC les transmet automatiquement à Arduino. Arduino contrôle deux servomoteurs en fonction des données reçues de PHPoC Shield.
Notez que : PHPoC shield dispose d'un programme intégré pour transmettre les données du navigateur Web à Arduino. Par conséquent, nous n'avons pas besoin de nous en soucier.
Ce que nous devons faire
- Définir les informations Wifi pour le bouclier PHPoC (SSID et mot de passe)
- Télécharger la nouvelle interface utilisateur vers le bouclier PHPoC
- Écrire le code Arduino
Définition des informations Wifi pour PHPoC Shield
Voir cette instruction.
Télécharger la nouvelle interface utilisateur Web vers PHPoC Shield
- Télécharger le code source PHPoC remote_joystick.php (dans la section code).
- Téléchargez-le sur PHPoC shield à l'aide du débogueur PHPoC conformément à cette instruction.
Écrire le code Arduino
- Installez la bibliothèque PHPoC pour Arduino sur Arduino IDE (voir les instructions)
- Voir le code source dans la section code.
Essayez-le
- Cliquez sur le bouton série sur Arduino IDE pour voir l'adresse IP.
- Ouvrez le navigateur Web, saisissez
http://
replace_ip_address
/remote_joystick.php
- Cliquez sur le bouton de connexion et testez-le.
Projet similaire mais plate-forme matérielle différente
Ce projet fait les mêmes travaux mais il a utilisé une autre plate-forme matérielle
Le meilleur kit de démarrage Arduino pour débutant
Voir le meilleur kit Arduino pour les débutants
Références de fonction
- Arduino - Bibliothèque Servo
- Servo.attach()
- Servo.write()
- Servo.writeMicroseconds()
- Servo.read()
- Servo.attaché()
- Servo.detach()
- Serial.begin()
- Série.println()
Code
- Code Arduino
- Interface utilisateur Web (remote_joystick.php)
Code ArduinoArduino
#include "SPI.h"#include "Phpoc.h"#includePhpocServer server(80);Servo servo_x;Servo servo_y;void setup() { Serial.begin(9600); while(!Série); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); //Phpoc.begin(); server.beginWebSocket("web_joystick"); Serial.print("Adresse du serveur WebSocket :"); Serial.println(Phpoc.localIP()); servo_x.attach(8) ; // attache le servo sur la broche 8 à l'objet servo servo_y.attach(9) ; // attache le servo sur la broche 9 à l'objet servo servo_x.write(90); servo_y.write(90); }void loop() { // attend un nouveau client :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); // échelle à partir de [-100; 100] à [0; 180] long angle_x =(x + 100) * 180 /200; grand angle_y =(y + 100) * 180 /200 ; servo_x.write(angle_x); servo_y.write(angle_y); } }}
Interface utilisateur Web (remote_joystick.php)PHP
Arduino - PHPoC Shield
Arduino - Joystick Web
WebSocket :null
Schémas
Processus de fabrication