Buenos días a todos, realmente es una cuestión de hardware y software pero no sabía donde ponerla.
Soy novato en esto, perdonad si no utilizo los términos correctos.
Con el arduino MEGA he programado el ARDUINO, para que vía internet, mediante unha página HTML, poder encender y apagar un motor de 3V. Me funciona correctamente.
Mi pregunta es la siguiente: Cómo podría configurar el código, y que hardware necesitaría para, activando un pin u otro, variar la potencia al motor? Es decir, por ejemplo, activar PIN 1 potencia 50% activar PIN 2 pontencia 100%. El código que tengo ahora es este...
#include <SPI.h>
#include <Ethernet.h> //Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //MAC
IPAddress ip(192, 168, 0, 9); //IP
EthernetServer servidor(80);
int PIN_LED=8;
String readString=String(30); //lee los caracteres de una secuencia en una cadena.
//Los strings se representan como arrays de caracteres (tipo char)
String state=String(3);
void setup() {
Ethernet.begin(mac, ip); //Inicializamos con las direcciones asignadas
servidor.begin();
pinMode(PIN_LED,OUTPUT);
digitalWrite(PIN_LED,LOW);
state="OFF";
}
void loop() {
//EthernetClient Crea un cliente que se puede conectar a
//una dirección específica de Internet IP
EthernetClient cliente= servidor.available();
if(cliente) {
boolean lineaenblanco=true;
while(cliente.connected()) {
if(cliente.available()) {
char c=cliente.read();
if(readString.length()<30) {
readString.concat(c);
//Cliente conectado
//Leemos petición HTTP caracter a caracter
//Almacenar los caracteres en la variable readString
}
if(c=='\n' && lineaenblanco) //Si la petición HTTP ha finalizado
{
int LED = readString.indexOf("LED=");
if(readString.substring(LED,LED+5)=="LED=T") {
digitalWrite(PIN_LED,HIGH);
state="ENCENDIDO"; }
else if (readString.substring(LED,LED+5)=="LED=F") {
digitalWrite(PIN_LED,LOW);
state="APAGADO";
}
//Cabecera HTTP estándar
cliente.println("HTTP/1.1 200 OK");
cliente.println("Content-Type: text/html");
cliente.println(); //Página Web en HTML
cliente.println("<html>");
cliente.println("<head>");
cliente.println("<title>MOTOR</title>");
cliente.println("</head>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h1>MOTOR</h1>");
cliente.print("
");
cliente.print("Posición motor: ");
cliente.print(state);
cliente.print("
");
cliente.println("<input type=submit value= ENCENDIDO style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value= APAGADO style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();
//Cierro conexión con el cliente
readString="";
}