Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Вт фев 12, 2013 1:36 pm

MaksMS82 писал(а):Разобрался с косяками
скетч в студию
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Вт фев 12, 2013 7:09 pm

12.02.2013.rar
(5.2 КБ) 411 скачиваний
12.02.2013
- вывод состояния дискретных входов(пока в Serial port)
- сохранение состояния дискретных входов

подскажите с командой для вывода через W5100 в формате GET /... ...?
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Вт фев 12, 2013 7:14 pm

Сейчас подумываю сделать порт в формате "счетчика",
топология следующая:
- порт считает импульсы в массив;
- при получении запроса выдает сумму;
- массив обнуляем;
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Вт фев 12, 2013 7:42 pm

Код: Выделить всё

 #include <EEPROM.h>
 int flag=0;
 void setup()    
 { 
  pinMode(13, OUTPUT);
    Serial.begin(9600);  
 } 
 void loop() 
{ 
      if(digitalRead(14)==HIGH&&flag==0)//если кнопка нажата    
      // и перемення flag равна 0 , то ... 
        { 
        digitalWrite(13,!digitalRead(13)); 
        flag=1;
        int counter = EEPROM.read(1);
        counter++;
        EEPROM.write(1, counter);
        Serial.println(counter);
         //это нужно для того что бы с каждым нажатием кнопки 
         //происходило только одно действие 
         // плюс защита от "дребезга"  100% 
         } 
      if(digitalRead(14)==LOW&&flag==1)//если кнопка НЕ нажата 
      //и переменная flag равна - 1 ,то ... 
         { 
         flag=0;//обнуляем переменную flag 
         } 
} 
вот простенький код считает импульсы.
В тесте подключил кнопочку и тыкал :lol: вроде работает
на всякий случай данные ложатся в EEPROM хотя если питание пропадёт последний замер будет неверный
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Вт фев 12, 2013 8:16 pm

ser009 писал(а):
arturmon писал(а):
ЗЫ у меня почему-то на 10 ноге (digital10) постоянно висит высокий уровень.

Сейчас тестирую с 13 по 16 ноги (digital13-16)
Вооще-то в связке Arduino + W5100 10 порт занят под CS ..
ser009 писал(а):
MaksMS82 писал(а):Разобрался с косяками
скетч в студию
да вроде выше показал в чем косяк был..
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Ср фев 13, 2013 10:20 am

отправляю данные через USB формата:

Код: Выделить всё

sprintf(buf, "GET /objects/?object=D8&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_D8);
 sendHTTPRequest()
Состояние свойства "status" меняется.

теперь пробую отправить через w5100:

Код: Выделить всё

sprintf(buf, "GET /objects/?object=D8&op=m&m=statusChanged&status=%i HTTP/1.0" , (int)l_pin_state);
Ничего не приходит ???

сервер MajorDoMo установлен на 127.0.0.1
на компе сетевой адрес 192.168.8.1
На arduino сетевой адрес 192.168.8.120

Управлять с компа портами могу
Что упустил??? :?: не пойму
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Ср фев 13, 2013 10:25 am

ser009 писал(а): Что упустил??? :?: не пойму
вроде надо выполнить client.println(buf);
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Ср фев 13, 2013 10:29 am

Ошибка:

Код: Выделить всё

ArduinoControllerWebServer_Smartliving_2.cpp: In function 'void loop()':
ArduinoControllerWebServer_Smartliving_2:427: error: 'client' was not declared in this scope/'клиент' не был объявлен в этой области
не компилирует
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение MaksMS82 » Ср фев 13, 2013 11:20 am

смотря какая библиотека используется ,если на основе примера,указанного в первом сообщении,то

Код: Выделить всё

       if (client.connect(rserver, 80)) {
sprintf(buf, "GET /objects/?object=D8&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_D8);
client.println(buf);
    client.println();
  }  else Serial.println("connection failed");
client.stop();
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение ser009 » Ср фев 13, 2013 12:55 pm

выложи библиотеку Ethernet
может у меня в библиотеке загвоздка :?:
Ответить