Проблема работа с диодом
- Войдите на сайт для отправки комментариев
Чт, 26/09/2013 - 17:27
Всем привет, недавно начал работать с arduino взял пример кода подставил, а он все равно не работает, помогите разобраться в чем дело, спасибо.
Скрин

Код
#include <SPI.h>
#include <String.h>
#include <Ethernet.h>
/*Управление светодиодом через Ethernet */
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //mac - адрес ethernet shielda
byte ip[] = { 192, 168, 1, 200 }; // ip адрес ethernet shielda
byte subnet[] = { 255, 255, 255, 0 }; //маска подсети
EthernetServer server(80); //порт сервера
int ledPin = 13; // указываем что светодиод будет управляться через 4 Pin
String readString = String(30); //string for fetching data from address
boolean LEDON = false; //изначальный статус светодиода - выключен
void setup(){
//запускаем Ethernet
Ethernet.begin(mac, ip, subnet);
//устанавливаем pin 4 на выход
pinMode(ledPin, OUTPUT);
//enable serial datada print
Serial.begin(9600);
}
void loop(){
// Создаем клиентское соединение
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() < 30) {
//store characters to string
readString.concat( c); }
//output chars to serial port
Serial.print( c);
//if HTTP request has ended
if (c == '\n') {
//Проверяем включили ли светодиод?
//Level=1 - включен
//Level=0 - выключен
if(readString.indexOf("Level=1") >=0) {
//Включаем светодиод
digitalWrite(ledPin, HIGH); // set the LED on
LEDON = true;
}else{
//Выключаем светодиод
digitalWrite(ledPin, LOW); // set the LED OFF
LEDON = false;
}
// Формируем HTML
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<head> ");
client.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> ");
client.println("<title> Arduino :: Управление V0.1</title>");
client.println("</head> ");
client.println("<body");
//controlling led via radio elements
client.println("<h1>Управление светодиодом 4pin</h1>");
if (LEDON){
client.println("<form method=get name=LED><input type=radio name=Level value=1 CHECKED>Включить<input type=radio name=Level value=0>Выключить<input type=submit value=Применить></form>");
client.println("<font size=’5′>LED-статус: ");
client.println("<font size=’5′>Вкл.");
}else{
client.println("<form method=get name=LED><input type=radio name=Level value=1>Включить<input type=radio name=Level value=0 CHECKED>Выключить<input type=submit value=Применить></form>");
client.println("<font size=’5′>LED-статус: ");
client.println("<font size=’5′>Выкл");
}
client.println("<hr />");
client.println("</body></html>");
//clearing string for next read
readString="";
//останавливаем web-client
client.stop();
}
}
}
}
}
Проблема в том что светодиод гарит тускло, и на команду из браузера не реагирует.
Проблема в том что вы невнимательно читали описание своей платы: Arduino Ethernet.
А именно это:
Поставил на 4 Pin нажимаю на кнопку включить он включается и сразу выключается.
И ?
И как сделать, что бы он продолжал гарет, а выключался только после нажатия.
А что у вас выводится в сериал-монитор при нажатии на кнопку?
А что у вас выводится в сериал-монитор при нажатии на кнопку?
Не совсем понимаю (
Плохо, читайте внимательно http://arduino.ru/Arduino_environment.
http://www.youtube.com/watch?v=ZZ54EjGwAiY
Спасибо немного разобрался надо было else на if(readString.indexOf("Level=0") >=0 поменять, теперь все работает.
А подскажи, что почитать посмотреть, что бы хоть как то разобраться в arduino.
Начните с этого.