Передача значений в переменные ардуино

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

Доброго, как можно с ПК передавать значения переменных в проесе работы контроллера?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

По последовательному порту.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А как надо?

Можно через последовательный потр, через блютуз, через LAN (Wi-Fi), через глобальный Internet, через инфракрасный порт, звуком (по проводу или просто динамиком, а к контролллеру микрофон присобачить), визулаьно (вывести на экран ПК, а контроллеру камеру присобачить), ... и ещё 100500 способов.

Как надо-то?

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

кнопками можно

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

Разобрался, пока через порт а позже через WI-FI самое то будет, всем спасибо.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Да, незачто. Заходите ещё.

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

Подскажите вот эту конструкцию можно как то короче написать или другой способ? Не как в голову не что не приходит другое

  if (Serial.available()) {
    
    val = Serial.read();
                
    if (val == 'q') {               
      digitalWrite(outputPin, HIGH);
    }
    if(val == 'e'){
      digitalWrite(p, HIGH);
    }
    if (val == 'r') {               
      digitalWrite(p, LOW);     
    }
    if (val == 'w') {               
      digitalWrite(outputPin, LOW); 
    }
  }

14 выходов будет и код еще длинее будет (

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Bposter пишет:

Подскажите вот эту конструкцию можно как то короче написать

короче, что бы было что?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

switch(){} пгобовали?

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

Arhat109-2 пишет:

switch(){} пробовали?

Да, но он только на включение пойдет, а у меня q включает w выключает

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Bposter пишет:

Arhat109-2 пишет:

switch(){} пробовали?

Да, но он только на включение пойдет, а у меня q включает w выключает

и на выключение свич

ptr
Offline
Зарегистрирован: 28.05.2016

Сойдет?

#define PIN_ARRAY_SIZE   10

#define OUTPUT_PIN_ONE   10
#define OUTPUT_PIN_TWO   11
#define OUTPUT_PIN_THREE 13

static const unsigned char pin_state[PIN_ARRAY_SIZE][3] = {
  {'q', OUTPUT_PIN_ONE, HIGH},
  {'e', OUTPUT_PIN_TWO, HIGH},
  {'r', OUTPUT_PIN_TWO, LOW},
  {'w', OUTPUT_PIN_ONE, HIGH} }

...

unsigned char i, val;

val = Serial.read();
for ( i=0; i<PIN_ARRAY_SIZE && pin_state[i][0]<>0; i++ )
{
   if (pin_state[i][0]==val)
   {
     digitalWrite(pin_state[i][1], pin_state[i][2]);
     break;
   }
}

А без break можно изменять состояние сразу нескольких пинов.

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

ptr пишет:

Сойдет?

#define PIN_ARRAY_SIZE   10

#define OUTPUT_PIN_ONE   10
#define OUTPUT_PIN_TWO   11
#define OUTPUT_PIN_THREE 13

static const unsigned char pin_state[PIN_ARRAY_SIZE][3] = {
  {'q', OUTPUT_PIN_ONE, HIGH},
  {'e', OUTPUT_PIN_TWO, HIGH},
  {'r', OUTPUT_PIN_TWO, LOW},
  {'w', OUTPUT_PIN_ONE, HIGH} }

...

unsigned char i, val;

val = Serial.read();
for ( i=0; i<PIN_ARRAY_SIZE && pin_state[i][0]<>0; i++ )
{
   if (pin_state[i][0]==val)
   {
     digitalWrite(pin_state[i][1], pin_state[i][2]);
     break;
   }
}

А без break можно изменять состояние сразу нескольких пинов.

Спасибо, буду пробывать и разбирать ваш пример.

ptr
Offline
Зарегистрирован: 28.05.2016

А может быть Вам проще будет Bitlash использовать? Набирать, конечно, больше чем одну букву на команду, зато возможности несравнимо шире.

http://bitlash.net/

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

Возможно, но пока конкретной цели нету, пока эксперименты, а вообще планирую через wi fi управлять релюхами и датчиками, возможно даже с помощью приложения  https://play.google.com/store/apps/details?id=esp8266.wifi.control

ptr
Offline
Зарегистрирован: 28.05.2016

Так для экспериментов Bitlash и предназначен. Именно подергать выходы и почитать входы )

Bposter
Bposter аватар
Offline
Зарегистрирован: 05.09.2016

Тогда попробуем тоже ))