Открой для себя EasyEDA, нарисуй схему и выкладывай, каждое изменение правишь там и выкладываешь по новой
Все, работать стала, теперь проблема в другом, почему время сбрасывается после двух нажатий и какой код нужен, чтобы кнопка фиксировалась?
Вот почему до сих пор на УНО нет встроенной кнопки, видите что получается!
Я отписал выше, кнопка заработала, проблемы в другом
Эта пестня будет вечной
Утопил глубже?
А может тебе проще нахер отсюда пойти?
После вас
Не скажет он, раз не помогли - так и помрете в неведении.
Ему спасибо я и скажу
Теперь можно спросить про батарейку.
Все работает и с батарейкой, время не сбрасывается, вопрос теперь, как сделать так, чтобы кнопка при расжатии не включала системы вновь (в коде не знаю что подправить, вроде и так хорошо все)
#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);
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13;
int buttonState = 0;
int soilMoistureValue = 0;
int soilmoisturepercent = 0; ;
unsigned int recv_size = 0;
unsigned long prev, interval = 1000;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(soilMoistureValue, INPUT);
Serial.begin(115200);
rtc.begin();
//rtc.setTime(19,20,55); // Установить время 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);
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Ну, Вам может и нет разницы. Потому у Вас и проблемы на ровном месте возникают.
Мне не видно. Например, Ваша кнопка соединяет контакты или они накоротко замкнуты? Мне догадываться как Вы её воткнули – как положено или под 90 градусов?
я ее воткнул правильно, иначе бы она не работала, сейчас проблема в другом уже
Сейчас схема другая уже, я с резистором сделал
чота я согласен, пусть к гайверу идёть
Обстановка стремительно меняется.
оставьте его в покое до пятницы.
Наконец-то до Вас стало доходить что-то! Проблемы действительно в другом, а именно в том, что:
- Вы называете невнятные рисунки схемами;
- Вы полезли заниматься электроникой не имея под рукой не то, что осциллографа, а даже мультиметра;
- на совершенно нормальные советы Вы начинаете огрызаться и хамить.
Вот в этом и проблема!
Я здесь приводил ссылку на тему, где по кнопкам расписано все - и что это такое, и как устроено, и как работает, и как подключать, и еще вагон вопросов и нюансов. Но кому это нужно? Можно же просто сыпать идиотскими вопросами и играть в обиженку )))