Uni-timer locsoló rendszer vezérlő vagy időzítő

Az Uni-timer egy Arduino hardver alapokon készült univerzális időzítő egység, amely 4 relét tud vezérelni bár milyen kombinációban.

A projekt célja egy olyan olcsó programozható eszköz létrehozása volt amely vezérelni tud egy locsoló rendszert, de bármilyen időzítést szükségessé tevő alkalmazásra használható. (Legkisebb beállítható időintervallum 1 perc.)

Az áramkör olcsó modulokból van összerakva és Bluetooth-on keresztül programozható egy Androidos applikációval. (Később Iphone alapú eszközökre is megírom csak ehhez szükségem lesz egy ilyen eszközre.)

A cikket itt is megjelentettem szavazz rám ha tetszik vagy támogatni szeretnél. Instructables.com sok okos hasonló cikket találsz, néhányat magam is megvalósítok és magyarra fordítok idővel.

Áramkör vázlata
További információ

Bluetooth modul + AT parancsok

Az előző cikkben tárgyalt “Akkulminátor ” készülék bluetooth modulját egyedivé alakíthatod néhány AT paranccsal, úgy mint név, pin, egyéb, sőt magát a modult is használhatod vezérlésre ha egyéb kimenetei ki vannak vezetve. (ezt most nem tárgyalom, mivel 6 lábbal rendelkező modullal foglalkozok)

Kapcsolási rajz:

A modul TTL szintű soros portját össze kell kapcsolni egy soros -> usb átalakító panellal. Így könnyen a számítógépre csatlakoztathatjuk. Az AT parancsok beviteléhez elegendő egy putty terminál program, vagy az Arduino soros monitorát is használhatjuk, sok egyéb soros kommunikációs program mellett amit most nem tárgyalunk. A tápellátást a modul az FTDI232 modulon keresztül a számítógép usb portjáról kapja.

HC-05 bluetooth modul

 

Az ellenállások csak 3,3 V nem illesztett modul esetén szükségesek. Némelyik modulnál a nyomógomb már be van ültetve.

 

Kommunikáció a géppel:

Terminál beállítása – Com 1 (az FTDI232 modul Kommunikációs portja amelyen települt a gépre ) baud 38400

Kocsi vissza új sor 🙂 (küldje el ezeket a karaktereket enter lenyomása után)

Fontosabb AT parancsok (teljesség igénye nélkül):

Ha több parancsra van szükséged: letöltés innen

  • AT : ha jó a kapcsolat OK-val válaszol
  • AT+NAMExyz : modul nevének lekérdezése/beállítása
  • AT+ADDR : modul címe
  • AT+VERSION : firmware verzió
  • AT+UART : kommunikációs adatok lekérdezése/beállítása; mint  baud, stop bit szám, paritás.
  • AT+ROLE: master vagy slave beállítása lekérdezése(1=master/0=slave)
  • AT+RESET : Reset és kilépés AT módból
  • AT+ORGL : Gyári állapot vissza állítása
  • AT+PSWD: PIN lekérdezés/beállítás

 

Akkulminátor :D

De nevezhetném  L.A.É.M.K. (Laptop Akku Élet Meghosszabbító Készüléknek) (Végig éltem a PC fejlődés jelentősebb részét nekem laptop marad! Még-hogy notebook!) esetleg angolul B.L.E.M. (Battery Life Expander Module) mondjon valaki valami jót, addig Akkulminátor marad. És hogy mi ez ? Laptop akkumulátor élettartamának meghosszabbítására szolgáló készülék.

Szóval ahogy egy félisten mondaná: “Kezdjük már el!

És ahogy a reklámszöveg:

Tapasztaltad már, hogy laptopod (akkor sem lesz notebook) egyre kevesebbet bírja az akkuról működést és mind több ideig tart a a feltöltése, a végén már ott lóg a kábel végén, oda a mobilitás, oda a szabadság? Nos azt nem állítom, hogy ez nem fog bekövetkezni de talán kicsit később.

A probléma oka természetesen Te vagy kedves laptop használó (akkor sem lesz notebook!), aki töltőn felejti a készüléket, emberek vagyunk néha előfordul.  Elárulom, hogy a töltést szabályozza a laptop, de nem kapcsolja le a töltőt az akkuról. HOLOTT MEGTEHETNÉ !!! (kedves gyártók ugye figyeltek) Még csak áramkörben sem igen kéne módosítani. Ebből származik némi túltöltés akku ellustulás és kész a baj.

csupakabra:

Vehetsz újat 20 rongyért.

break

Vagy a másik véglet. Te kedves felhasználó, tisztában vagy ezzel és előre látó módon ki veszed az akkut (már amelyikből manapság lehet) , elteszed az almáriumba, jó lesz az majd ha kell, megesszük befőtt helyett… Csak-hogy  ha nincs töltve akkor is lemerül idővel és elérhet egy olyan pontot ahonnan nincs visszaút tehát

go to csupakabra

(a teljesség igénye nélkül)

Fentieket orvosolandó, kell egy készülék ami figyeli az akku töltöttséget. 100% töltöttség esetén lekapcsolja a töltést, ha az akku töltöttség egy beállított százalék alá esik vissza kapcsolja azt. Így kondicionálja az akkumulátort. Az akkumulátor a tervezett módon van használva és több ideig bírja. Főleg asztalon használt állandóan töltőre dugott készülékekhez ajánlom. Előre bocsájtom nem kell szétszedned a note… izé… laptopod. Természetesen az megoldási is jó ha csak kihúzod a töltőt ha a készülék feltöltött, de elektronika őrültként ez a megoldás kicsit snassz. 😀

Hogy kompatibilis legyen minden típussal, a készülék a konnektor felöli oldalon fogja megszakítani az áramkört vagy bekapcsolni és bluetooth-on tartja a kapcsolatot a laptoppal. És akkor…

 

Szükséges anyagok:

Csak a burkolata 🙂

Arduino Pro Mini 5V
Arduino Pro Mini 5V

12V kapcsolóüzemű tápegység 400mA
5V kapcsolóüzemű tápegység 400mA

HC-05 Bluetooth modul

Egyéb hozzávalók:

  • ellenállás R1  1K   1db
  • tranzisztor Q1 BC817 1db
  • dióda D1 1N4148 1db
  • 5V relé 2A tudjon kapcsolni AC-ben (nagyon fontos, hogy a fogyasztó által felvett teljesítményhez igazítsd)

Működés:

Ahogy az előbbiekben is írtam a készülék egy köztes aljzatként beékelődik a töltő és a hálózat közé, buetooth-on párosítani kell a laptoppal, ahol egy virtuális soros portként fog jelentkezni. A laptopon fut 2 percenként egy kötegfájl (.bat) ami lekérdezi a töltöttség állapotát az operációs rendszertől, ha ez eléri a kötegfájlban megadott értéket mondjuk 10%-ot akkor meghív egy egyszerű soros kommunikációra alkalmas programot, és ennek segítségével küld egy 1-est a virtuális soros porton keresztül a készüléknek ami bekapcsolja a töltőt.  Ha eléri a 100% a töltés ugyanez megy végbe de ezúttal 0-át küld a készülék felé ami kikapcsolja a töltőt. A visszacsatolás maga a töltés megjelenése. A készülék a bekapcsolás után már csak 0-át fogad el. A dolgot picit bonyolítja, hogy a kötegfájlt ugyan meg lehet hívni direktben taskmanagerből, de akkor 2 percenként felvillanó sötét ablakokat kapunk ami eléggé zavaró, így egy szkriptet hívogatunk meg ami meghívja a kötegfájlt, így nem nyílnak ablakok. Aki tud jobb megoldást, hajrá.

Felhívom a figyelmet aki érez magában affinitást írni hozzá egy programot és hajlandó megosztani azt közzéteszem.

Egyébként egy egyszerű bluetooth-on vezérelhető kapcsoló, bármi egyéb bekapcsolására is alkalmas.

Kapcsolási rajz:

FONTOS! Az áramkör egyes részei életveszélyes feszültségen vannak, ennek figyelembevételével építsd meg. Bármilyen anyagi, illetve nem anyagi kár esetén engem felelősség nem terhel. Én szóltam!!! 🙂 Másrészt olyan bluetooth modult használj aminek illesztettek 5V-ra az RX-TX  lábai.

Program:

byte x = 0;

void setup() {
// soros kommunikáció 9600 baud
Serial.begin(9600);

pinMode(13, OUTPUT); // 13 láb a kimenet
establishContact(); // folamatos nagy A betű küldés debug célból elhagyható
}

void loop() {
// soros port figyelése
if (Serial.available() > 0) {
// bejövő adat elkapása
int inByte = Serial.parseInt();
if(inByte==1 && x==0){ //csak 1-et fogad el
x=1;
digitalWrite(13, HIGH); // bekapcsol
Serial.write(“ACK”); // visszajelzés debug célból

}
if(inByte==0 && x==1){ //csak 0-át fogad el
x=0;
digitalWrite(13, LOW);// kikapcsol
Serial.write(“ACK”);// visszajelzés debug célból

}

}
}
// A betűt küldő funkció,nem fontos
void establishContact() {
while (Serial.available() <= 0) {
Serial.print(‘A’); // küldj egy A-t
delay(300);
}
}

Program letöltése (tartalmazza a vezérlő kötegfájlokat magyarázat  readme.txt)

Végeredmény:

Működés közben (szimuláció):

A tartalom nem elérhető.
A sütik használatát az "Elfogadás" gombra kattintva lehet jóváhagyni.