8 Реле и бнарный код 10000001
- Войдите на сайт для отправки комментариев
Сб, 22/10/2016 - 21:00
Всем Здрасте
Имеется: сервер от которого на ардуино приходит восьми разрядный двочный код (binary code)
так как восемь реле то и восемь разрядов в коде, которые присваивают каждому исходящему пину из 8 ми задействованых значение HIGH or LOW
Коллеги подскажите по какому принципу или каким алгоритмом это реализовывается
см.картинку ниже
Спасибо

boolean rele[8] = {1,0,0,0,0,0,0,1};массив (array)
Это сильно зависит. Если умудриться все реле повесить на один порт, то можно просто писать бинарный код в порт. Если на один порт не получится, то надо писить подпрограмму переводчик бинарного кода в конкретные ножки процессора. Проверять бит и в соответствии со значением включать или выключать реле. И так восемь раз.
boolean rele[8] = {1,0,0,0,0,0,0,1};массив (array)
Спасибо большое) только так наверное правильно будет
boolean rele[7] = {1,0,0,0,0,0,0,1};так как первая единица идет за нуль
А как в массив число 10000001 засунуть ?
Я думаю что программа должна перебирать значение - то есть цикл FOR (счетчик) проводт интеррацию до 256 (колличество комбинаций от 00000000 до 11111111) далее запихивает значене в массив - что-то пока как-то так, дальше пока не могу додумать...
Спасибо большое) только так наверное правильно будет
boolean rele[7] = {1,0,0,0,0,0,0,1};так как первая единица идет за нуль
нет. 8 - это количество элементов массива объявляемого массива. их у тебя 8-мь.
когда обращаешься к элементам массива, тогда на единицу меньше, т.к. 1-й == 0, т.е. от 0 до 7
А как в массив число 10000001 засунуть ?
ну, как как - ты же код колучаешь? сначала получаешь 1-й символ кода, затем 2-й... затем 8-й.
по мере получения увеличивай счётчик с 0 до 7 и размещай нули и единицы в rele[n] = символ.
Я думаю что программа должна перебирать значение - то есть цикл FOR (счетчик) проводт интеррацию до 256 (колличество комбинаций от 00000000 до 11111111) далее запихивает значене в массив - что-то пока как-то так, дальше пока не могу додумать...
от 0 до 7
зачем тебе считать комбинации, если результат - одна комбинация, которую тебе по факту получения необходимо реализовать в состоянии реле, воткнув в цикл от 0 до 7.
от 0 до 7
зачем тебе считать комбинации, если результат - одна комбинация, которую тебе по факту получения необходимо реализовать в состоянии реле, воткнув в цикл от 0 до 7.
Тогда что-то вроде этого
/* Knight Rider 2 * -------------- * * Reducing the amount of code using for(;;). * * * (cleft) 2005 K3, Malmo University * @author: David Cuartielles * @hardware: David Cuartielles, Aaron Hallborg */ int pinArray[] = {2, 3, 4, 5, 6, 7}; int count = 0; int timer = 100; void setup(){ // we make all the declarations at once for (count=0;count<6;count++) { pinMode(pinArray[count], OUTPUT); } } void loop() { for (count=0;count<6;count++) { digitalWrite(pinArray[count], HIGH); delay(timer); digitalWrite(pinArray[count], LOW); delay(timer); } for (count=5;count>=0;count--) { digitalWrite(pinArray[count], HIGH); delay(timer); digitalWrite(pinArray[count], LOW); delay(timer); } }я что-то иное предложил?
от 0 до 7
зачем тебе считать комбинации, если результат - одна комбинация, которую тебе по факту получения необходимо реализовать в состоянии реле, воткнув в цикл от 0 до 7.
Я не понял 8, 7, а судя по коду ваще 6 для второго FOR?
Я правильно понял задачу, пришел байт из инета, надо включить те реле где биты равны 1 ?
А то 2 FORа делают одно и тоже, первый слева на право, второй справо на лево.
я что-то иное предложил?
просто код приходит от 00000000 до 11111111 - как с ним перебор делать?, по пинам я понял как их из массива счетчиком вытаскивать
просто код приходит от 00000000 до 11111111 - как с ним перебор делать?, по пинам я понял как их из массива счетчиком вытаскивать
ок. сначала:
что и куда "приходит"? - покажи результат прихода.
Я не понял 8, 7, а судя по коду ваще 6 ?
Я правильно понял задачу, пришел байт из инета, надо включить те реле где биты равны 1 ?
А то 2 FORа делают одно и тоже, первый слева на право, второй справо на лево.
Смотри пришел код из инета для двойного реле - значит код из двух разрядов
к примеру 10, значит первое реле переводим в значение ON а второе в OFF
Пример второй для реле из 4 штук, к примеру к нему из инета приходит код 1010 так как четыре реле то и разрядов четыре,
зходя из этого кода реле 1 в положение ON реле 2 в положение OFF реле три в положение ON а реле 4 в положение OFF
Смотри пришел код из инета
не вижу, куда пришёл код
неее, не надо меня путать
приходить БАЙТ, 8 разрядов, так ?
ок. сначала:
что и куда "приходит"? - покажи результат прихода.
в код который ниже сильно не вникаем это get запрос на сервер ниже будет код который получает данные с сервера
if (client.connect(server, 80)) { client.print( "GET /add_data.php?"); client.print("temperature="); client.print( sensors.getTempCByIndex(0) ); client.print("&"); client.print("humidity="); client.print(h); client.print("&"); client.print("dhdata="); client.print(t); client.print("&"); client.print("hour="); print2digits(tm.Hour); client.print("&"); client.print("minute="); print2digits(tm.Minute); client.print("&"); client.print("soil_moisture="); client.println(sensorValue); client.println( " HTTP/1.1"); client.print( " Host: " ); client.print(server); client.println(" Connection: close"); client.println(); client.println(); delay(500);ниже код который получает данные с сервера и заносит их в переменную "C"
while (client.available()) { char c = client.read();неее, не надо меня путать
приходить БАЙТ, 8 разрядов, так ?
Если 8реле то приходит число от 00000000 до 11111111 - 256комбинаций
Если 16реле то число 0000000000000000 до 1111111111111111 Хз сколько комбинаций)))
// input - это полученный байт for (count=0;count<8;count++) { DigitalWrite(pinArray[count],input&1); input>>=1; }unsigned char ports[8]={3,4,5,6,7,8,9,10,11}; ..... void setup() { for (unsigned char i = 0; i < 8; i++) pinMode(ports[i], OUTPUT); // устанавливает режим работы - выход ..... } void rele (unsigned char data) { unsigned char i; for (i = 0; i < 8; i++) { if (data & 1) digitalWrite(ports[i],HIGH) ; else digitalWrite(ports[i],LOW) ; data >>= 1; } }Как то так.
Вы уж опредилитесь, что вы от инета получаете
вот пример если получаете байт
byte var = 0x00000000; // пришел код byte pinArray[] = {2, 3, 4, 5, 6, 7, 8, 9}; // восемь ножек МК for (byte n = 0; n<8; n++) { digitalWrite(pinArray[n], var & 1<<n); }во накидали пока писал :)
неее, не надо меня путать
приходить БАЙТ, 8 разрядов, так ?
Если 8реле то приходит число от 00000000 до 11111111 - 256комбинаций
Если 16реле то число 0000000000000000 до 1111111111111111 Хз сколько комбинаций)))
слушай - выбрось из головы эти комбинации. кто тебе, вообще, про комбинации в уши налил? - у тебя одна актуальная комбинация, которую тебе нужно удобоваримо принять и реализовать в комбинации состояний реле.
Спасибо большое за код, это решение - завтра попробую отпишусь ))
ниже код который получает данные с сервера и заносит их в переменную "C"
while (client.available()) { char c = client.read();если так, то не
boolean rele[8] = {1,0,0,0,0,0,0,1};
а
char rele[9] = "10000001";
по факту получения символа '\0' врубаешь цикл привода реле в актуальное полученному состояние.
но... т.к. у тебя возможно сыпется из твоего инета не только этот код для реле, то принимаемая строка должна иметь с начала символ по которому ты будешь понимать, что это "оно" - как-то так "x10000001'\0'"
строку лепишь из принимаемых символов по факту получения символа 'x'
static String b = ""; // объявление переменной строки. if (client.available()) { char c = client.read(); b = b + c; }ниже код который получает данные с сервера и заносит их в переменную "C"
while (client.available()) { char c = client.read();если так, то не
boolean rele[8] = {1,0,0,0,0,0,0,1};
а
char rele[9] = "10000001";
по факту получения символа '\0' врубаешь цикл привода реле в актуальное полученному состояние.
но... т.к. у тебя возможно сыпется из твоего инета не только этот код для реле, то принимаемая строка должна иметь с начала символ по которому ты будешь понимать, что это "оно" - как-то так "x10000001'\0'"
строку лепишь из принимаемых символов по факту получения символа 'x'
static String b = ""; // объявление переменной строки. if (client.available()) { char c = client.read(); b = b + c; }У меня сайт стоит на домашнем сервак - www.netherlad4crew.com
На сервак идёт отправка данных как о времени так и о погоде, данные входные записываются в файл in.txt
Эти данные отправляются на скрипт script.php скрипт прочитывает эти данные и записывает в файл In.txt далее этот же скрипт предоставляет данные от файла Out.txt где и хранится крайняя запись 10000001
У меня сайт стоит на домашнем сервак - www.netherlad4crew.com
На сервак идёт отправка данных как о времени так и о погоде, данные входные записываются в файл in.txt
Эти данные отправляются на скрипт script.php скрипт прочитывает эти данные и записывает в файл In.txt далее этот же скрипт предоставляет данные от файла Out.txt где и хранится крайняя запись 10000001
это как бы и не важно, если ты получаешь один символ, который куда-то нужно складывать
while (client.available()) { char c = client.read();Вы уж опредилитесь, что вы от инета получаете
вот пример если получаете байт
byte var = 0x00000000; // пришел код byte pinArray[] = {2, 3, 4, 5, 6, 7, 8, 9}; // восемь ножек МК for (byte n = 0; n<8; n++) { digitalWrite(pinArray[n], var & 1<<n); }во накидали пока писал :)
Подскажи плиз по условию
Счётчик перебирает пины 8 раз далее запятая , байтов переменная var и 1 << знак меньше (не знак а логический оператор) что обозначает, не подскажите? Мат часть почитал а там ничего не сказанно про два знака подряд ...
Википедия - Битовые операции
Википедия - Битовый сдвиг
Битовые операции
Битовые операторы
Побитовые операторы
Побитовый свдиг влево (<<), побитовый сдвиг вправо (>>)
Википедия - Битовые операции Википедия - Битовый сдвиг Битовые операции Битовые операторы Побитовые операторы Побитовый свдиг влево (<<), побитовый сдвиг вправо (>>)
Jeka_M Спасибо, а то в google забиваю и безрезультатно
Сделал тестовый скейтч на основе описанного выше, компилятор не ругается - но и скейтч не работает
int ledPins[] = { 2, 3, 4, 5, 6, 7, 8 }; // an array of pin numbers to which LEDs are attached int pinCount = 8; // the number of pins (i.e. the length of the array) byte var = 0x00000000; // пришел код void setup() { // the array elements are numbered from 0 to (pinCount - 1). // use a for loop to initialize each pin as an output: for (int thisPin = 0; thisPin < pinCount; thisPin++) { pinMode(ledPins[thisPin], OUTPUT); } } void loop() { // loop from the lowest pin to the highest: for (int thisPin = 0; thisPin < pinCount; thisPin++) { if (var & 1) { digitalWrite(ledPins[thisPin], HIGH); } else { digitalWrite(ledPins[thisPin], LOW); var >>= 1; } } }Сделал тестовый скейтч на основе описанного выше, компилятор не ругается - но и скейтч не работает
не суть важно, работает или нет - зачем ты, вообще, это делаешь?
ты сам себя и читателей темы ввёл в заблуждение, заявив, что приходит восьми разрядный двочный код (binary code)
это не так - ты получаешь один символ.
о чём свидетельствует, процитированный тобой код
ниже код который получает данные с сервера и заносит их в переменную "C"
while (client.available()) { char c = client.read();char
char
Переменная типа char занимает 1 байт памяти и может хранить один алфавитно-цифровой символ (литеру). При объявление литеры используются одиночные кавычки: 'A' (двойные кавычки используется при объявлении строки символов - тип string: "ABC").
Символ хранится в памяти как число, соответствующее коду символа в таблице кодировки символов ASCII. Т.к. символ хранится как число в памяти над ним возможно производить арифметические действия (например, 'A' + 1 будет 66, т.к. ASCII код для 'A' - 65).
Клапауций 232, дабы код заработал, мне надо его полностью отладить - сейчас скейтчем ниже, я пытаюсь отладить ту часть, которая будет обрабатывать входящую переменную. В самом начале темы было указано, что я хочу, мне нужно числом из восьми знаков (10001100 к примеру) запустить необходимую реле .
Сделал тестовый скейтч на основе описанного выше, компилятор не ругается - но и скейтч не работает
int ledPins[] = { 2, 3, 4, 5, 6, 7, 8 }; // an array of pin numbers to which LEDs are attached int pinCount = 8; // the number of pins (i.e. the length of the array) byte var = 0x00000000; // пришел код void setup() { // the array elements are numbered from 0 to (pinCount - 1). // use a for loop to initialize each pin as an output: for (int thisPin = 0; thisPin < pinCount; thisPin++) { pinMode(ledPins[thisPin], OUTPUT); } } void loop() { // loop from the lowest pin to the highest: for (int thisPin = 0; thisPin < pinCount; thisPin++) { if (var & 1) { digitalWrite(ledPins[thisPin], HIGH); } else { digitalWrite(ledPins[thisPin], LOW); var >>= 1; } } }Пока скейтч выше не заработает я не смогу его вставить в работающий скейтч, переменную char c я заменю на byte c
Сделал тестовый скейтч на основе описанного выше, компилятор не ругается - но и скейтч не работает
не суть важно, работает или нет - зачем ты, вообще, это делаешь?
ты сам себя и читателей темы ввёл в заблуждение, заявив, что приходит восьми разрядный двочный код (binary code)
это не так - ты получаешь один символ.
о чём свидетельствует, процитированный тобой код
ниже код который получает данные с сервера и заносит их в переменную "C"
while (client.available()) { char c = client.read();char
char
Переменная типа char занимает 1 байт памяти и может хранить один алфавитно-цифровой символ (литеру). При объявление литеры используются одиночные кавычки: 'A' (двойные кавычки используется при объявлении строки символов - тип string: "ABC").
Символ хранится в памяти как число, соответствующее коду символа в таблице кодировки символов ASCII. Т.к. символ хранится как число в памяти над ним возможно производить арифметические действия (например, 'A' + 1 будет 66, т.к. ASCII код для 'A' - 65).
Пока скейтч выше не заработает я не смогу его вставить в работающий скейтч, переменную char c я заменю на byte c
ок. удачи. мне надоело выслушивать глупые пререкания.
Даже для отладки цикл loop должен выглядеть как то так
while (client.available()) { char c = client.read(); rele(c); }В вашем скетче #30 переменная var не определена. нужно перед циклом задать var=c; Сделайте с=B101010101 реле будут щёлкать через одно.
Даже для отладки цикл loop должен выглядеть как то так
while (client.available()) { char c = client.read(); rele(c); }В вашем скетче #30 переменная var не определена. нужно перед циклом задать var=c; Сделайте с=B101010101 реле будут щёлкать через одно.
пока ТС не процитирует полный код приёмки "00000000" - нет смысла что-то ему советовать.
лично я подозреваю, что 00000000 он получает посимвольно, а не в виде бинарного числа
пока ТС не процитирует полный код приёмки "00000000" - нет смысла что-то ему советовать.
лично я подозреваю, что 00000000 он получает посимвольно, а не в виде бинарного числа
#include <SPI.h> #include <Ethernet.h> #include <OneWire.h> #include <DallasTemperature.h> #include <Wire.h>//time #include <TimeLib.h>//time #include <DS1307RTC.h>//time #include <DHT.h> //dh #define DHTPIN 3 //dh #define DHTTYPE DHT11 //dh11 DHT dht(DHTPIN, DHTTYPE);//dh11 int sensorPin = A0;//влажность почвы int sensorValue = 0;//влажность почвы #define ONE_WIRE_BUS 2 //подключение градусников на пин 2 OneWire oneWire(ONE_WIRE_BUS);//переменная one wire смотрит на строчку one_wire_bus которой определен пин DallasTemperature sensors(&oneWire);//массив сенсорс получает в буфер значения температуры по градусникам byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; char server[] = "www.netherlad4crew.com"; char servernarodmon[] = "www.narodmon.ru"; IPAddress dnServer(192, 168, 0, 1); // the router's gateway address: IPAddress gateway(192, 168, 0, 1); // the subnet: IPAddress subnet(255, 255, 255, 0); //the IP address is dependent on your network IPAddress ip(192, 168, 0, 99); EthernetClient client; int buff=0;// буферу присвоено значение нуль по умолчанию const int led=5;//управление реле void setup() { Serial.begin(9600); pinMode( led, OUTPUT); digitalWrite(led, LOW); dht.begin();//dh sensorValue = analogRead(sensorPin);//влажность почвы Ethernet.begin(mac, ip, dnServer, gateway, subnet);//адрес вашей Ethernet-платы расширения (задан аппаратно). delay(1000);// Дадим время шилду на инициализацию } void loop() { delay(30000); float h = dht.readHumidity();//dh11 float t = dht.readTemperature();//dh11 tmElements_t tm;//time RTC.read(tm);//time sensors.begin();//получение адресов ds18b20 sensors.requestTemperatures();//запрос температуры if (client.connect(servernarodmon, 80)) { client.print( "GET /get?"); client.print("ID=902B349DCE1D&value1="); client.print( sensors.getTempCByIndex(0) ); client.print("&902B349DCE1C&value2="); client.println(h); client.println( " HTTP/1.1"); client.print( " Host: " ); client.print(servernarodmon); client.println(" Connection: close"); client.println(); client.println(); client.stop(); client.flush(); delay(100); } else{ Serial.println("is Not connected with server narodmon "); } if (client.connect(server, 80)) { client.print( "GET /add_data.php?"); client.print("temperature="); client.print( sensors.getTempCByIndex(0) ); client.print("&"); client.print("humidity="); client.print(h); client.print("&"); client.print("dhdata="); client.print(t); client.print("&"); client.print("hour="); print2digits(tm.Hour); client.print("&"); client.print("minute="); print2digits(tm.Minute); client.print("&"); client.print("soil_moisture="); client.println(sensorValue); client.println( " HTTP/1.1"); client.print( " Host: " ); client.print(server); client.println(" Connection: close"); client.println(); client.println(); delay(500); while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } } client.stop(); client.flush(); delay(100); } else { Serial.println("is Not connected with server 2 "); client.stop(); } if ( buff==1) { digitalWrite (led, HIGH); } else { digitalWrite(led, LOW); } delay(500); } void print2digits(int number) { if (number >= 0 && number < 10) { client.write('0'); } client.print(number); }код сервера
$S1 = $_GET['temperature']; $myFile1 = "txt/in-1.txt"; $fh1 = fopen($myFile1, 'w') or die("can't open file"); fwrite($fh1, $S1); fclose($fh1); $S2 = $_GET['humidity']; $myFile2 = "txt/in-2.txt"; $fh2 = fopen($myFile2, 'w') or die("can't open file"); fwrite($fh2, $S2); fclose($fh2); $S3 = $_GET['dhdata']; $myFile3 = "txt/dhdata.txt"; $fh3 = fopen($myFile3, 'w') or die("can't open file"); fwrite($fh3, $S3); fclose($fh3); $S4 = $_GET['minute']; $myFile4 = "txt/minute.txt"; $fh4 = fopen($myFile4, 'w') or die("can't open file"); fwrite($fh4, $S4); fclose($fh4); $S5 = $_GET['hour']; $myFile5 = "txt/hour.txt"; $fh5 = fopen($myFile5, 'w') or die("can't open file"); fwrite($fh5, $S5); fclose($fh5); $S6 = $_GET['soil_moisture']; $myFile6 = "txt/soil_moisture.txt"; $fh6 = fopen($myFile6, 'w') or die("can't open file"); fwrite($fh6, $S6); fclose($fh6); $myFile = "txt/out-1.txt"; $fh = fopen($myFile, 'r'); $theData = fread($fh, filesize($myFile)); fclose($fh); echo $theData;ofalaleev, Вы совершенно не ориентируетесь в типах данных. Сами запутались и пытаетесь запутать окружающих.
Бинарный код состояит из битов. Биты объединяются в байты - по 8 штук. Если к Вам приходит 8 битов, значит, приходит один байт. Принять из И-нета что-то меньшее одного байта НЕВОЗМОЖНО. Т.е. невозможно принять 2 или 4 бита. Можно принять только байт целиком.
И, соответственно, байт можно записать в простую переменную, но никак не в массив. Если его записывать в массив, он займет там ровно одну ячейку, а все остальные ячейки останутся свободными (т.е. содержащими совсем не то, что нам нужно).
Чаще всего из И-нета принимают ТЕКСТ. Текст и бинарный код - совершенно разные (вплоть до того, что противоположные) вещи.
Вы можете принять из И-нета текстовую строку "10000001". Это будет строка длиной 8 символов, т.е. не один байт, а 8 байт (соответственно, 64 бита).
Соответственно, биты в байте (единственном числе) и символы в строке (массиве) обрабатываются немного по-разному.
Чтобы написать Вам, как обрабатывать, нужно знать, что именно Вы принимаете.
ок.
while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } }и как ты собрался здесь переменную char c я заменю на byte c
если у тебя клиент получает символы(чар), а не байты?
*то, что у тебя цикл, а не условие и ты всегда будешь получать последний символ - пока приторможу.
ок.
while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } }и как ты собрался здесь переменную char c я заменю на byte c
если у тебя клиент получает символы(чар), а не байты?
*то, что у тебя цикл, а не условие и ты всегда будешь получать последний символ - пока приторможу.
Полностью с вами согласен, получаю я char из 8ми символов состоящих из 1 или 0
Полностью с вами согласен, получаю я char из 8ми символов состоящих из 1 или 0
блин!
да не чар из 8-ми символов ты получаешь, а восемь раз по одному символу.
Полностью с вами согласен, получаю я char из 8ми символов состоящих из 1 или 0
ну, и?
что нужно делать, когда получен первый символ, допустим '0'?
Надо его как-то сравнивать с массивом пинов)) Хз как это реализовать я в #28 кидал, что то похожее но оно не работает ((
Полностью с вами согласен, получаю я char из 8ми символов состоящих из 1 или 0
блин!
да не чар из 8-ми символов ты получаешь, а восемь раз по одному символу.
Я просто из деревни и не могу запомнить, что char это один символ))
Полностью с вами согласен, получаю я char из 8ми символов состоящих из 1 или 0
ну, и?
что нужно делать, когда получен первый символ, допустим '0'?
Надо его как-то сравнивать с массивом пинов)) Хз как это реализовать я в #28 кидал, что то похожее но оно не работает ((
зачем его сравнивать с чем-то?
при получении первого символа равного '0' нужно записать 0 по адресу(индексу) 0 в массив boolean rele[8] = {1,0,0,0,0,0,0,1};
rele[0] = 0;
при получении символа '1' - записать 1 ...
Полностью с вами согласен, получаю я char из 8ми символов состоящих из 1 или 0
ну, и?
что нужно делать, когда получен первый символ, допустим '0'?
Надо его как-то сравнивать с массивом пинов)) Хз как это реализовать я в #28 кидал, что то похожее но оно не работает ((
зачем его сравнивать с чем-то?
при получении первого символа равного '0' нужно записать 0 по адресу(индексу) 0 в массив boolean rele[8] = {1,0,0,0,0,0,0,1};
rele[0] = 0;
при получении символа '1' - записать 1 ...
Ща загуглю как записать по адресу в массив
Да хрен с ней, с деревней. Интернет он и в африке интернет. Книги и знания в нем одинаково доступны всем. Главное объясни как минуты и секунды связаны с реле? Из кода сервера ехется только текстовый файл out-1.txt. Его содержимое можно увидеть?
я же тебе сразу всё дал, что бы ты почитал, а не ломанулся меня поправлять.
boolean rele[8] = {1,0,0,0,0,0,0,1};массив (array)
Присваиваем значение элементу массива:
mySensVals[0] = 10;Возвращаем значение элемента массива:
x = mySensVals[4];в деревне проживают умственно отсталые.
в деревне проживают умственно отсталые.
Да, это правда - я просто из деревни
while(client.available()) { boolean rele[8] = client.read(); }А php сервер отправляет {1,0,0,0,0,0,0,1};
Теперь правильно ?
в деревне проживают умственно отсталые.
Теперь правильно ?
попроси своих городских друзей, пусть тебя усыпят.
Именно эту строку или вы скобки и запятые сами дописали?
посимвольно у него клиент получает - какая разница, что шлёт сервер
в деревне проживают умственно отсталые.
Теперь правильно ?
попроси своих городских друзей, пусть тебя усыпят.
У нас в деревне только ветеринар, но он сейчас в запое, а из городских друзей нету - опять код не пашет
int ledPins[] = { 2, 3, 4, 5, 6, 7, 8 }; // an array of pin numbers to which LEDs are attached int pinCount = 8; // the number of pins (i.e. the length of the array) boolean rele[8] = {0,0,0,1,0,1,0,1}; // пришел код void setup() { for (int thisPin = 0; thisPin < pinCount; thisPin++) { pinMode(ledPins[thisPin], OUTPUT); } } void loop() { // loop from the lowest pin to the highest: for (int thisPin = 0; thisPin < pinCount; thisPin++) { if (rele[thisPin]>0) { digitalWrite(ledPins[thisPin], HIGH); } else { digitalWrite(ledPins[thisPin], LOW); } } }