Здравствуйте, вновь проблема с кнопкой на ардуино. Написал скетч, загрузил, все скомпилировалось, отключил от компа, присоединил к батарейке и при нажатии на кнопку просто гаснет индикатор L на плате, при зажатии кнопки индикатор загорается ненадолго и тухнет, а дисплей не выключается (кнопку подключал без резистора), вот скетч.
#include <Arduino.h>
#include <DS3231.h>
#include <Wire.h>
#include <LiquidCrystal.h>
DS3231 rtc(SDA, SCL);
const int rs = 6, en = 7, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int soilMoistureValue = 0;
int soilmoisturepercent = 0; ;
unsigned int recv_size = 0;
unsigned long prev, interval = 1000;
void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(soilMoistureValue, INPUT);
Serial.begin(115200);
rtc.begin();
//rtc.setTime(18, 14,40); // Установить время 16:29:00 (формат 24 часа)
}
void loop() {
if (Serial.available())
delay(100);
//lcd.clear();
while (Serial.available() > 0)
lcd.write(Serial.read());
const int AirValue = 513; // Максимальное значение сухого датчика
const int WaterValue = 215; // Минимальное значение погруженного датчика
soilMoistureValue = analogRead(A0); // Считываем данные с порта A0 и записываем их в переменную
soilmoisturepercent = map(soilMoistureValue, AirValue, WaterValue, 0, 100);
lcd.setCursor(0,0);
lcd.print("Humidity:");
lcd.print(soilmoisturepercent);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(11,1);
lcd.println(rtc.getTimeStr()); // Отправляем время
delay (1000); // Задержка в одну секунду
lcd.setCursor(0,1);
lcd.print("T:");
lcd.print(rtc.getTemp());
lcd.print("\x99\x43");
delay (800);
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
} else
digitalWrite(13, HIGH); }
/*
Button
Turns on and off a light emitting diode(LED) connected to digital pin 13,
when pressing a pushbutton attached to pin 2.
The circuit:
- LED attached from pin 13 to ground through 220 ohm resistor
- pushbutton attached to pin 2 from +5V
- 10K resistor attached to pin 2 from ground
- Note: on most Arduinos there is already an LED on the board
attached to pin 13.
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button
*/
// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Отверткой подкрутить, это же очевидно. На что вы рассчитываете с таким уровнем знаний? Если у вас кнопка отнимает целый день, а результата нету, то что ж будет, когда вам понадобится подключить что нибудь более хитрое?
Читайте учебники, вопросами по форуму, тем более по таким поводам, вы ничему не научитесь
Я свое собрал уже, и запрограммировал, если кнопка не рабочая и я не могу подключить - это не значит, что я не умею ничего, и форумы я читал и скетчи разные пробовал, если вам ответить кроме как осуждений нечего, то проходите мимо, а форум нужен как раз для вопросов, тем более это раздел для новичков, а отверткой там нечего подкручивать раз на то пошло