у меня нет предупреждений и\или ошибок в IDE,
строки 8 и 9 это установка растсояния после которого идет сработка датчиков.
Или я вас неправильно понял,
тогда что значит?
void setup() {
pinMode(ena1, OUTPUT);
pinMode(ena2, OUTPUT);
...
digitalWrite(ena1, HIGH);
}else{
digitalWrite(ena1,LOW);
PS видимо не ты скетч писал?
Были выключены, спасибо за подсказку. Да увидел ошибку.
сейчас исправлю
Я как основу обращения к датчикам взял код что нашел на форуме и добавил вебсервер и подсчет, спасибо что указали на несоответствие, сейчас попробую исправить
так лучше?
#include <NewPing.h>
#include <SPI.h>
#include <Ethernet.h>
#define SONAR_NUM 2 // количество сенсоров.
#define MAX_DISTANCE 500 // максимальное расстояние пинга
#define Trig 30 // расстояние триггера на сработку
const int ID = 1; // номер платы
int activatedSensors = 0; // установка переменной
long sensors[SONAR_NUM]; //массив хранения датчиков
unsigned int distance;
byte mac[] = { 0xFA, 0xFA, 0x01, 0x00, 0x01, 0x71 }; // Мак-адрес Ethernet
IPAddress ip(192, 168, 1, 101); // IP-адрес Arduino
byte gateway[] = { 192, 168, 1, 1 }; // IP-адрес шлюза
byte subnet[] = { 255, 255, 255, 0 }; // Маска подсети
EthernetServer server(80);
NewPing sonar[SONAR_NUM] = {
NewPing(4, 5, MAX_DISTANCE), // Пины датчиков
NewPing(6, 7, MAX_DISTANCE),
};
void setup() { //Запуск ethernet модуля
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
}
void loop() {
activatedSensors = 0;
for (uint8_t i = 0; i < SONAR_NUM; i++) { // Цикл опроса датчиков
delay(50); // ожидание между опросами (не менее 29мс)
sensors[i] = sonar[i].ping_cm();
if (sensors[i]> Trig) //сравнение результата с триггерным значением
{
activatedSensors++; // добавляем 1 к числу
}
}
EthernetClient client = server.available(); // запуск веб сервера для вывода результата
if (client) {
bool currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 1");
client.println("Access-Control-Allow-Origin: *");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head>");
client.println("<title>");
client.println("ID: " + String(ID));
client.println("</title>");
client.println("</head>");
client.println("<body>");
client.println("ID: " + String(ID));
client.println("Busy Parks: " + String(activatedSensors) + " of " + String(SONAR_NUM)); // Вывод активированных датчиков на страницу
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
} else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
delay(1000); // Пауза между обновлениями в миллисекундах и все по новой
}
я не в теме, с сетевыми картами W5100 не общался, какие она пины занимает - не знаю