#2 Програмування Arduino » Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip) » 2015-02-20 22:37:44

Владислав
відповідей: 5

Есть скетч, он соединяется с сервером, получает инфу и в зависимости от полученной инфы включает либо выключает свет, либо включает по датчику движения. Но почему-то не работает  digitalWrite(13, HIGH); причём в мониторе выводит, что включилось/выключилось. Методом частичной проверки кода выяснилось что помеха этому Ethernet.begin(mac,ip), так как если убрать его, то всё работает, реле щёлкает. Вот тут например реле не будет работать:

#include <SPI.h>
#include <Ethernet.h>
#include <string.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0F, 0x91, 0x08 }; 
byte ip[] = { 192,168,1,56 };

void setup() {
  Serial.begin(9600);
 EthernetClient client;
 Ethernet.begin(mac, ip);
pinMode(13, OUTPUT);

}
void loop() {
digitalWrite(13, HIGH);
Serial.println("1");
delay(1000); 
digitalWrite(13, LOW); 
Serial.println("2");
delay(1000); 
}

Но если мы закомментируем часть кода, то будет:

#include <SPI.h>
#include <Ethernet.h>
#include <string.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0F, 0x91, 0x08 }; 
byte ip[] = { 192,168,1,56 };

void setup() {
  Serial.begin(9600);
 EthernetClient client;
// Ethernet.begin(mac, ip);
pinMode(13, OUTPUT);

}
void loop() {
digitalWrite(13, HIGH);
Serial.println("1");
delay(1000); 
digitalWrite(13, LOW); 
Serial.println("2");
delay(1000); 
}

Помогите пожалуйста.

Підвал форуму