![]() |
![]() |
#1 |
Junior Member
Регистрация: 23.02.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
Помогите пожалуйста никак не могу в чем беда проблема следующая
Прочитав одну из тем сайта вдохновился и решил поэкспериментировать сам http://cyber-place.ru/showthread.php...BF%D0%BA%D0%B8 в ардуину залита следующий скетч Код:
int ledPin = 13; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { if (Serial.available() > 0) { byte inByte = Serial.read(); switch (inByte) { case 49: digitalWrite(ledPin, HIGH); //delay(50); Serial.print("ON!\n"); break; case 48: digitalWrite(ledPin, LOW); delay(50); Serial.print("OFF\n"); break; } } } Код:
[Serial.print("begin\n"); |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Конденсатор между GND & Reset поставьте.
|
![]() |
![]() |
#3 |
Junior Member
Регистрация: 23.02.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
а можете подсказать какой?
|
![]() |
![]() |
#4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
электролит 5-10мкФ
|
![]() |
![]() |
#5 |
Junior Member
Регистрация: 23.02.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
Спасибо большое
|
![]() |
![]() |
#6 |
Junior Member
Регистрация: 23.02.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
А моглибы ещё подсказать как сделать так чтобы посылать не один байт а например строку "ONPIN13" включать нужный пин и выдавадь сообщение об этом "ON!" тоесть насколько я понимаю нужна функция очистки буфера. Узнал что раньше это была функция Serial.flush() а как это делать в версии старше 1.0 ?
|
![]() |
![]() |
#7 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Буфер автоматически очищается по мере чтения данных из него
А вот вопрос я не совсем понял Если Вы хотите управлять большим количеством пинов , то используйте модуль "Light Switch" |
![]() |
![]() |
#8 |
Junior Member
Регистрация: 23.02.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
может быть я неправильно выразился
к примеру вот такой скетч char inByte[3] String s=""; int ledPin = 13; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { while (Serial.available() > 0) { inByte = Serial.read(); s+= inByte; if (s=="QWE"){ digitalWrite(ledPin, HIGH); //delay(50); Serial.print("ON!\n"); s=""; } if (s="ASD"){ digitalWrite(ledPin, LOW); Serial.print("OFF\n"); s=""; } } } и как мне кажется после того как мы пишим обратно в буфер "ON!/OFF" срабатывает условие Serial.available() > 0 и начинает циклится тоесть на мой взгляд после слова Serial.print("ON!\n"); должна происходить какаято очистка буфера |
![]() |
![]() |
#9 |
Junior Member
Регистрация: 23.02.2015
Сообщений: 27
Вес репутации: 0 ![]() |
![]()
я разобрался спасибо з подсказку
"Буфер автоматически очищается по мере чтения данных из него" |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|