![]() |
|
|
|
|
#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) | |
|
|