Помощь при запоминании
- Войдите на сайт для отправки комментариев
Сб, 29/08/2015 - 16:04
Есть скет мне надо чтобы после выключения и включения ардуино сохраняла позицию лампочек
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
#include "DHT.h"
#define DHTPIN 2 // what pin we're connected to
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
Нетот скетч скинул вот правильный
#include <Wire.h> // Добавляем необходимые библиотеки #include <LiquidCrystal_I2C.h> #include <dht11.h> dht11 DHT; // Объявление переменной класса dht11 #define DHT11_PIN 4 // Датчик DHT11 подключен к цифровому пину номер 4 byte degree[8] = // Битовая маска символа градуса { B00111, B00101, B00111, B00000, B00000, B00000, B00000, }; LiquidCrystal_I2C lcd(0x27,16,2); // Задаем адрес и размерность дисплея int ledPin_1 = 8; int ledPin_2 = 9; int ledPin_3 = 10; int ledPin_4 = 11; int ledPin_5 = 13; void setup() { Serial.begin(9600); pinMode(ledPin_1, OUTPUT); pinMode(ledPin_2, OUTPUT); pinMode(ledPin_3, OUTPUT); pinMode(ledPin_4, OUTPUT); pinMode(ledPin_5, OUTPUT); lcd.init(); // Инициализация lcd lcd.backlight(); // Включаем подсветку lcd.createChar(1, degree); // Создаем символ под номером 1 } void loop() { // Выводим показания влажности и температуры lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки lcd.print("Humidity = % "); // Выводим текст lcd.setCursor(11, 0); lcd.print(DHT.humidity, 1); lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки lcd.print("Temp = \1C "); // Выводим текст, \1 - значок градуса lcd.setCursor(11, 1); lcd.print(DHT.temperature,1); int chk; ; // Мониторинг ошибок chk = DHT.read(DHT11_PIN); // Чтение данных switch (chk){ case DHTLIB_OK: break; case DHTLIB_ERROR_CHECKSUM: lcd.clear(); lcd.print("Checksum error"); break; case DHTLIB_ERROR_TIMEOUT: lcd.clear(); lcd.print("Time out error"); break; default: lcd.clear(); lcd.print("Unknown error"); break; } delay(500); if (Serial.available() > 0) { int i = Serial.read()-48; if (i == 2)digitalWrite(ledPin_1, !digitalRead(ledPin_1)),Serial.println(" ledPin_1 !digitalRead "); if (i == 3)digitalWrite(ledPin_2, !digitalRead(ledPin_2)),Serial.println(" ledPin_2 !digitalRead "); if (i == 4)digitalWrite(ledPin_3, !digitalRead(ledPin_3)),Serial.println(" ledPin_3 !digitalRead "); if (i == 5)digitalWrite(ledPin_4, !digitalRead(ledPin_4)),Serial.println(" ledPin_4 !digitalRead "); if (i == 6)digitalWrite(ledPin_5, !digitalRead(ledPin_5)),Serial.println(" ledPin_5 !digitalRead "); } }Мне подсказали спомощью EEPROM
укажи свою почту
Пиши yaryarikyar(A)ya.ru
DimaDarma@mail.ru