Передача даных в СОМ по нажатию клавиши

Det
Offline
Зарегистрирован: 08.04.2013

Доброго времени суток, недавно начал заниматься с Arduino потому строго не судите, возникла проблема в реализации одной программы, суть такова: нужно когда кнопка Arduino включена зажечь светодиод и передать по СОМ порту "1", когда кнопку отпускаешь светодиод гаснет и на порт передается "0". МОжно и без светодиода главное передавать "1" и "0".

Искал в нете нашел много примеров но никак не могу написать свой код для Arduino. Сам програмирую на Delphi и уже написал программу приема даных но не могу проверить. Код очень нужен! Помогите кто может, зарание спасибо!

ishimcity
Offline
Зарегистрирован: 24.01.2012

вот хороший пример

 http://freeduino.ru/arduino/lang.html

vlkam
Offline
Зарегистрирован: 17.02.2013

 А в самой оболочке, Файл->Примеры искали ?

Цифровой ввод, кнопка

http://robocraft.ru/blog/arduino/57.html

leshak
Offline
Зарегистрирован: 29.09.2011

digitalWrite

Работа с кнопками. В помощь новичку.

write или print  (смотря что вы там в дельфи читаете ждете, строку или байт).

>Искал в нете нашел много примеров

А вообще попробуйте посмотреть существующие темы на форуме. Или воспользоватся поиском в верхнем правом углу.

KoT
Offline
Зарегистрирован: 18.04.2013

Det пишет:

Сам програмирую на Delphi и уже написал программу приема даных но не могу проверить.

 

Det не могли бы вы объяснить школьнику как реализовать в дельфе приём и передачу данных через Serial??? т.е. на куске программного кода дельфы обьяснить что, где и как? Какие компоненты использовали, как задавать частоту приёма и передачи данных? По отдельности работал в каждой области но связать не могу.

ЗЫ: в делфи познания на уровне калькулятора, в ардуино - на уровне бегуших свдиодов.

Ответ для вас:

 


 
void setup(){   
  Serial.begin(9600); //Здесь задаём скорость передачи данных по Serial
  pinMode( 1,INPUT); //Тут указываем номер пина который читает значение кнопки и определяем его как вход
  pinMode(2, OUTPUT); //Тут указываем номер пина который будет отвечать за св.диод и определяем его как выход
                }

void loop() {     //тело программы
 if (digitalRead(1) == HIGH )  //  читаем значение на первом пине и сравниваем его
{
  Serial.println(1);  //Отправляем 1 при нажатой кнопке
  digitalWrite(2, HIGH);  //Включаем св.диод при нажатой кнопке
}
else
{
 Serial.println(0);  //Отправляем 0 при отпущенной кнопке
 digitalWrite(2, LOW);  //Гасим св.диод при отпущенной кнопке
}
  delay(50);  // задержка в 50 млсек
}

как подключать кнопку см здесь

Удачи в вашем проекте!