#1 2015-02-20 22:37:44

Владислав
Учасник
Зареєстрований: 2015-02-20
Повідомлень: 2

Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip)

Есть скетч, он соединяется с сервером, получает инфу и в зависимости от полученной инфы включает либо выключает свет, либо включает по датчику движения. Но почему-то не работает  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); 
}

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

Неактивний

#2 2015-02-20 23:40:47

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip)

http://arduino.cc/en/reference/ethernet

Arduino communicates with the shield using the SPI bus. This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used as SS. On the Mega, the hardware SS pin, 53, is not used to select the W5100, but it must be kept as an output or the SPI interface won't work.

в настройках проекта  плата Уно?

Неактивний

#3 2015-02-20 23:44:52

Владислав
Учасник
Зареєстрований: 2015-02-20
Повідомлень: 2

Re: Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip)

нет, ethernet. Переставил на 4 ножку, всё заработало_)

Неактивний

#4 2015-02-20 23:50:06

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip)

поздравляю )

Неактивний

#5 2015-02-21 11:37:30

admin
Administrator
З Киев
Зареєстрований: 2014-06-09
Повідомлень: 67

Re: Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip)

Так Езернет так же как и Уно в этом отношении:

Примечание: выводы 10, 11, 12 и 13 задействованы для связи процессора с Ethernet-контроллером и не должны использоваться для других целей. Поэтому, при использовании Ethernet-контроллера количество доступных выводов уменьшается до 9 с 4 ШИМ-выходами.

Неактивний

#6 2015-06-16 10:55:38

Саня Паскаль
Гість

Re: Не работает digitalWrite(13, HIGH); совместно с Ethernet.begin(mac,ip)

А для чего #include <string.h> ??

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

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