Arduino Inteligentne domy w budownictwie.
2. Klon Arduino LEONARDO R3 Atmel
Projekt "inteligentny dom" został zakończony.
Zamiast domów, są małe domki "Makiety" z uwagi na własne nakłady finansowe nauczyciela. Brak wkładu szkoły.
W sali nr 27 można oglądać makiety podpięte do sterownika włączającego oświetlenie domków. Oświetlenie jest uruchamiane po zbliżeniu się osoby na odległość 50 cm. Opcjonalnie oświetlenie jest włączane z użyciem pilota do projektora :)
Z pewnymi obawami ale i nadzieją, zaczynam dział poświęcony Arduino.
Płytka posłuży nam do skonstruowania prostych sterowników zasilania.
a). Pobieramy program od Arduino https://www.arduino.cc/en/Main/Software
b) Zapoznajemy się z językiem programowania http://www.plociennik.info/index.php/podstawy-jezyka
c). Tworzymy pierwszy projekt.
1. Projekt sterownia przekaźnikiem http://www.jarzebski.pl/arduino/komponenty/przekazniki-elektromagnetyczne.html
2. Sterowanie pilotem
http://majsterkowo.pl/jak-sterowac-dowolnym-urzadzeniem-za-pomoca-pilota-i-arduino/
== WYKONANIE STEROWNIKA CZASU RZECZYWISTEGO===
3. Sterowanie czasem
W sali nr 27 można oglądać makiety podpięte do sterownika włączającego oświetlenie domków. Oświetlenie jest uruchamiane po zbliżeniu się osoby na odległość 50 cm. Opcjonalnie oświetlenie jest włączane z użyciem pilota do projektora :)
Płytka posłuży nam do skonstruowania prostych sterowników zasilania.
a). Pobieramy program od Arduino https://www.arduino.cc/en/Main/Software
b) Zapoznajemy się z językiem programowania http://www.plociennik.info/index.php/podstawy-jezyka
c). Tworzymy pierwszy projekt.
1. Projekt sterownia przekaźnikiem http://www.jarzebski.pl/arduino/komponenty/przekazniki-elektromagnetyczne.html
2. Sterowanie pilotem
http://majsterkowo.pl/jak-sterowac-dowolnym-urzadzeniem-za-pomoca-pilota-i-arduino/
== WYKONANIE STEROWNIKA CZASU RZECZYWISTEGO===
Wykonanie sterownika 4TB Energia odnawialna
Co jest potrzebne
- Zegarek RTC DS1307 (tylko z akumulatorem nie z baterią! )
- Panel ośmiu przekaźników SSR. Ostatecznie może być 4 kanałowy (jest tańszy)
Przekaźniki mechaniczne nie nadają się! Przy obciążeniu indukcyjnym resetują arduino. Próbowałem je obstawić kondensatorami, diodami, dławikami i zawsze w końcu trafiał się restart. Przy akwarium za kilka tysiaków raczej niedopuszczalne jest żeby zacięła się pompa dozująca.
- Microswitche, trzy do manualnej obsługi timerów i jeden do obsługi funkcji karmienia
- Dioda LED z rezystorem stosownym do koloru i oczekiwanej mocy świecenia.
- Buzer 5V z generatorem
- Zasilacz do Arduino
- Przewody (męsko żeńskie i żeńsko żeńskie)
- Biblioteki http://magu.pl/aqma_files/time.zipi http://magu.pl/aqma_files/DS1307RTC.zip
- Jakaś obudowa
- Moduł do płytek stykowych ze złączem ARK4
- Płytka prototypowa stykowa 400pól arduino bascom
- Wyświetlacz LCD 1602 2x16 HD44780 blue dla ARDUINO
- Chęci!!!
Gdzie tego szukać?
http://allegro.pl/klon-arduino-mega2560-r3-atmel-atmega2560-avr-usb-i5747071215.html
http://allegro.pl/modul-4-kanalowy-przekaznik-5v-10a-avr-arm-arduino-i5152899977.html
http://allegro.pl/modul-czasu-rtc-ds1307-24c32-arduino-avr-pic-i4876947652.html
http://allegro.pl/plytka-prototypowa-stykowa-400pol-arduino-bascom-i5242806245.html
----
Inna oferta na stronie plus doradztwo.
http://botland.com.pl/wyswietlacze-alfanumeryczne/224-wyswietlacz-lcd-2x16-znakow-niebieski.html
A teraz baaaardzo prosty kod w C:
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
int whitePotValue = 0; //analogowa wartość na potencjometrze kanału białego
int bluePotValue = 0; //analogowa wartość na potencjometrze kanału niebiekiego
int bluePWMValue = 0; //cyfrowa wartość PWM podawana na driver niebieskich
int whitePWMValue = 0; //cyfrowa wartość PWM podawana na driver białych
bool dzien = true; //wartość logiczna określająca czy jest dzień czy noc
void setup() {
// te 4 linijki ponizej dotycza podlaczenia RTC do arduino
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
digitalWrite(16, LOW);
digitalWrite(17, HIGH);
Wire.begin();
RTC.begin();
}
// the loop routine runs over and over again forever:
void loop() {
DateTime now = RTC.now();
//tutaj ustawiam godzine/minute/sekunde wschodu
if(now.hour()==10 && now.minute()==0 && now.second()==0 && dzien!=true)
{
dzien = true;
}
//tutaj ustawiam godzine/minute/sekunde zachodu
if(now.hour()==20 && now.minute()==0 && now.second()==0 && dzien==true)
{
dzien = false;
}
//odczytuje wartośc z potencjometrów
int bluePotValue = analogRead(A0);
int whitePotValue = analogRead(A1);
//mapuje wartość analogowe z potencjometrów do wartości PWM
bluePWMValue = map(bluePotValue, 0, 1023, 0, 255);
whitePWMValue = map(whitePotValue, 0, 1023, 0, 255);
//jeśli jest dzień to wysyłam sygnały PWM do driverów
if(dzien)
{
analogWrite(9, bluePWMValue);
analogWrite(10, whitePWMValue);
}
//jeśli jest noc na kanal biały wysylam wartość 0 - nie swieci
// i na kanał niebieski wysylam wartość 10 czyli słabe swiatło symulujące księżycc
else
{
analogWrite(9, 10);
analogWrite(10, 0);
}
delay(100);
}
---------------------------------------------



3 komentarze:
Bardzo inspirujący artykuł. Pozdrawiam !
Świetnie napisane. Pozdrawiam serdecznie.
Inteligentny dom Rzeszów to koncepcja, która coraz śmielej wkracza w codzienność mieszkańców miasta. Systemy inteligentnego domu oferują automatyzację wielu procesów domowych, takich jak kontrola oświetlenia, regulacja temperatury czy zarządzanie energią. W Rzeszowie inteligentne domy wykorzystują najnowsze technologie do poprawy jakości życia, oferując mieszkańcom możliwość sterowania domem za pomocą aplikacji mobilnych czy głosowych asystentów. To nie tylko wygoda i oszczędność czasu, ale także znaczące obniżenie kosztów utrzymania domu, dzięki efektywniejszemu zarządzaniu zasobami energetycznymi.
Prześlij komentarz