En el mundo de la electrónica y la programación, Arduino se ha convertido en una herramienta indispensable para proyectos creativos e innovadores. En este artículo descubriremos cómo utilizar un escudo Arduino + Ethernet para crear un servidor web con Arduino, abriendo un sinfín de posibilidades para la comunicación en red de tus dispositivos. ¡No te lo pierdas!
Este proyecto implica el uso de un Arduino con un escudo Ethernet. Controlaré un LED y un servo, pero también puedes usar este método para controlar cualquier dispositivo electrónico que desees. (como motores CC, zumbadores, relés, motores paso a paso, etc.)
introducción
Cuando el código proporcionado se carga y se conecta a Internet, se crea un servidor web en su LAN y usted simplemente usa la IP para acceder a este servidor web a través de su navegador. Después de eso, aparecerá una página web similar a la siguiente. Cuando haces clic en el botón «Encender LED», tu URL cambiará a: “http://192.168.1.178/?button1on” El Arduino lee esta información y enciende el LED.
Por defecto la IP es “192.168.1.178”. Esto también se puede ver en el código Arduino proporcionado.
Mira este vídeotutorial
Piezas requeridas
- Arduino UNO – leer Los mejores kits de inicio de Arduino
- 1x escudo Ethernet
- 1x resistencia de 220 ohmios
- 1xLED
- 1x micro servomotor
- 1x placa de pruebas
- Cables de salto
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Esquema
Sube el código a continuación
/*
Created by Rui Santos
Visit: https://randomnerdtutorials.com for more arduino projects
Arduino with Ethernet Shield
*/
#include <SPI.h>
#include <Ethernet.h>
#include <Servo.h>
int led = 4;
Servo microservo;
int pos = 0;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 1, 178 }; // ip in lan (that's what you need to use in your browser. ("192.168.1.178")
byte gateway[] = { 192, 168, 1, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
String readString;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
pinMode(led, OUTPUT);
microservo.attach(7);
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
if (c == 'n') {
Serial.println(readString); //print to serial monitor for debuging
client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<meta name="apple-mobile-web-app-capable" content="yes" />");
client.println("<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />");
client.println("<link rel="stylesheet" type="text/css" href="https://randomnerdtutorials.com/ethernetcss.css" />");
client.println("<TITLE>Random Nerd Tutorials Project</TITLE>");
client.println("</HEAD>");
client.println("<BODY>");
client.println("<H1>Random Nerd Tutorials Project</H1>");
client.println("<hr />");
client.println("<br />");
client.println("<H2>Arduino with Ethernet Shield</H2>");
client.println("<br />");
client.println("<a href="/?button1on"">Turn On LED</a>");
client.println("<a href="/?button1off"">Turn Off LED</a><br />");
client.println("<br />");
client.println("<br />");
client.println("<a href="/?button2on"">Rotate Left</a>");
client.println("<a href="/?button2off"">Rotate Right</a><br />");
client.println("<p>Created by Rui Santos. Visit https://randomnerdtutorials.com for more projects!</p>");
client.println("<br />");
client.println("</BODY>");
client.println("</HTML>");
delay(1);
//stopping client
client.stop();
//controls the Arduino if you press the buttons
if (readString.indexOf("?button1on") >0){
digitalWrite(led, HIGH);
}
if (readString.indexOf("?button1off") >0){
digitalWrite(led, LOW);
}
if (readString.indexOf("?button2on") >0){
for(pos = 0; pos < 180; pos += 3) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
microservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
if (readString.indexOf("?button2off") >0){
for(pos = 180; pos>=1; pos-=3) // goes from 180 degrees to 0 degrees
{
microservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
//clearing string for next read
readString="";
}
}
}
}
}
Nota: Si pruebas este proyecto. Sólo puedes acceder a esta dirección IP desde casa. Esto significa que debe estar conectado al mismo enrutador al que está conectado su Ethernet Shield. La siguiente imagen me muestra accediendo a mi servidor web usando mi iPad.
Gracias por leer. Puedes contactar conmigo dejando un comentario. Si te gusta esta publicación, probablemente también te gustarán las siguientes, así que apóyame suscribiéndote a mi blog y a mi blog. Sitio de Facebook.
Arduino: servidor web con escudo Arduino + Ethernet
Este proyecto se trata de utilizar un Arduino con un escudo de Ethernet. Controlaré un LED y un servo, pero puedes aplicar este método para controlar cualquier dispositivo electrónico que desees (como motores DC, zumbadores, relés, motores paso a paso, etc.).
Introducción
El código proporcionado, al ser cargado y conectado a Internet, crea un servidor web en tu LAN y simplemente utilizas la IP para acceder a ese servidor web a través de tu navegador. Después, se muestra una página web similar a la que se muestra a continuación. Cuando presionas el botón «Encender LED», tu URL cambiará a: «http://192.168.1.178/?button1on», el Arduino leerá esa información y encenderá el LED.
Por defecto, la IP es «192.168.1.178». También puedes encontrarla en el código del Arduino proporcionado.
Este proyecto se trata de utilizar un Arduino con un escudo de Ethernet. Controlaré un LED y un servo, pero puedes aplicar este método para controlar cualquier dispositivo electrónico que desees (como motores DC, zumbadores, relés, motores paso a paso, etc.).
Partes necesarias
- Arduino UNO
- 1x Escudo de Ethernet
- 1x Resistencia de 220 Ohmios
- 1x LED
- 1x Servomotor Micro
- 1x Protoboard
- Cables Jumpers
Puedes encontrar todas las partes para tus proyectos al mejor precio en MakerAdvisor.
Esquemático
A continuación se muestra el código para subir al Arduino con el escudo de Ethernet. Este código crea un servidor web que te permite controlar un LED y un servomotor a través de una página web.
Código Arduino
Este es el código que debes cargar en tu Arduino con el escudo de Ethernet para crear un servidor web y controlar un LED y un servomotor:
«`cpp
(Inserta el código aquí)
«`
Nota: Al probar este proyecto, solo puedes acceder a esa dirección IP desde tu hogar. Esto significa que debes estar conectado al mismo enrutador al que está conectado tu escudo de Ethernet.
Gracias por leer, puedes contactarme dejando un comentario. Si te gustó esta publicación, probablemente te gustarán las siguientes. Por favor, apóyame suscribiéndote a mi blog y mi página de Facebook.