Всем привет. Такая проблема. Я в ардуино совсем новичок. Попробовал моргать светодиодом получилось, а вот от руки не получается. Схема простая один светодиод одна кнопка. Жму на кнопку и должен получить кроткую вспышку. Вместо этого получаю долгую вспышку примерно секунд на семь. Прошу помощи как сделать чтобы всё работало по выше описанному сценарию. Вот код. Там ещё реостат что бы менять длительность импульса.
const int RE = A0;//подключаю реостат
const int BU = 7;//подключаю комп
int val = 0;// переменная для хранения RE
const int OUT = 10;// выход
void setup() {
pinMode (OUT, OUTPUT);
}
void loop() {
if (digitalRead(BU)==HIGH){
digitalWrite(OUT,HIGH);
delay(2);
digitalWrite(OUT,LOW);
}
Начните с того, чтобы вставить код по правилам форума.
Затем приведите схему.
К примеру, есть два варианта правильного подключения кнопки, а ещё есть неправильные…
Мозгами кликать надо. Ну он же видит, с…(собачка), как люди код вставляют, так почему не сделать так же! А потому что мозгов недостаточно. Поэтому и результата не будет никакого.
Вот такой код
const int RE = A0;//подключаю реостат
const int BU = 7;//подключаю комп
int val = 0;// переменная для хранения RE
const int OUT = 3;// выход
void setup() {
pinMode (OUT, OUTPUT);
}
void loop() {
if (digitalRead(BU)==HIGH){
digitalWrite(OUT,HIGH);
delay(2);
digitalWrite(OUT,LOW);
}
const int RE = A0;//подключаю реостат
const int BU = 7;//подключаю комп
int val = 0;// переменная для хранения RE
const int OUT = 3;// выход
void setup() {
pinMode (OUT, OUTPUT);
}
void loop() {
if (digitalRead(BU)==HIGH){
digitalWrite(OUT,HIGH);
delay(2);
digitalWrite(OUT,LOW);
}
}
const int RE = A0;//подключаю реостат
const int BU = 7;//подключаю комп
int val = 0;// переменная для хранения RE
const int OUT = 3;// выход
void setup() {
pinMode (OUT, OUTPUT);
pinMode (BU, INPUT_PULLUP);
}
void loop() {
if (digitalRead(BU) == LOW) {
digitalWrite(OUT, HIGH);
delay(2);
digitalWrite(OUT, LOW);
while(digitalRead(BU) == LOW);
}
}
Сколько держите кнопку, столько и получаете. Только не одну длинную вспышку, а кучу коротких (по 2 миллисекунды). У Вас же это написано? Или как Вы понимаете свой “код”?
Держу четверть секунды может меньше. Кучу коротких не получаю получаю одну длинную примерно секунд на 7 . До этого параметром для delay было 100, вот тогда вспышка была примерно секунд 15.
Вас понял, с кнопкой разберусь. Я во о чём. Можно сделать так что-бы при переходе с низкого на высокий уровень на выходе появлялся один импульс? То-есть что бы импульс появлялся при переходе уровня сигнала.
Сам ещё учусь. Поэтому скажу не преувеличивая - всё что надо, по Ардуино, я сполна нахожу в интернете. В том числе и здесь, на форуме. Главное - освоить поиск (гугл, яндекс, и.т.д), правильно задавать вопросы/запросы.
Например: “Ардуино для начинающих”. Или: “ардуино , прерывания по изменению уровня сигнала”
P.S. Здесь на форуме тоже есть строка поиска, очень удобно.