Seite 2 von 2

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

BeitragVerfasst: Mo 10. Feb 2014, 08:22
von Rocktagon
Einfach mal die aktuelle Version des Hausbrett Sketches. Halt auch noch mitten drin (glaub eh nicht das die irgendwann mal fertig wird ^^)
Die Daten auf der SD Karte (Modulliste) sind mit der vorigen Version NICHT kompatibel !!!! Da ich bei der Adresse ein Byte zugefügt habe für das Home Easy System.

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

BeitragVerfasst: Fr 14. Feb 2014, 09:03
von Rocktagon
Nochmal ein Update:
Keine String Variablen mehr. Alles wurde mit char * ersetzt.
Wire Lib wurde durch das I2c Lib ersetzt (Siehe ein paar Posts vorher).

Das ganze ist nun wesentlich flotter, stabieler und um über 4K Kb kleiner.

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

BeitragVerfasst: Mo 5. Mai 2014, 06:50
von Rocktagon
Als I2C Port Expander benutze ich mittlerweile lieber den MCP23017 . Dieser hat insgesammt 16 Kanäle, 8 an jeder Seite und alle nebeneinander. Macht gewisse Sachen wie ein Button Pad oder Relais zu benutzen einfacher. Der MCP verträgt 3,3V und 5V und ist highspeed (400K statt 100K) fähig.
Hier kurz vorgestellt das 16 Kanal Relais Modul (2 mal http://www.ebay.de/itm/261464632749) welches ich am Hausbrett verwende (zb zum schalten von Tür,Lampen usw).
Der Stromverlauf ist auch eingezeichnet, es gibt zwei Brücken (Eine unter dem IC). + und - laufen an A0-A3 jeweils an den Seiten vorbei so ist es kein Problem die Adresse ein zu stellen. Reset de MCP sollte an + bleiben. Die Interrupts bleiben unbenutzt.

Code: Alles auswählen
#include <I2C.h>          // I2C Lib: dsscircuits.com/index.php/articles/66-arduino-i2c-master-library

byte board=0x24; //Eingestellte I2C Adresse des MCP (... nein das ist nicht das "Master Controll Programm" ^^)
byte porta=0x12; //Kanal 1-8
byte portb=0x13; //Kanal 9-16
word portStates;

void setup(){
  I2c.begin();
  I2c.setSpeed(true); //High Speed 400K - Wiederstände nicht vergessen siehe voriger Thread
  //Relais Board als outputs
  sendTwo(board,0x00,0x00,0x00);
}

void sendTwo(byte adr,byte po,byte d1, byte d2){
  byte tos[2]={
    d1,d2                    };
  I2c.write(adr,po,tos,2); //2 Byte senden
}


void updateBoard(){
  sendTwo(board,byte(porta),byte(portStates),byte(portStates>>8)); //beide Ports (Kanal 1-16) setzen
}

//Zum steuern nur das jeweilig Bit in portStates ändern (zb mit bitWrite) und dann updateBoard aufrufen


Übrigens hat der MCP auch interne Pullups. So können Taster einfach gegen Masse geschaltet werden - man benötigt keine weiteren Wiederstände.
Allerdings sind die Eingänge dann im offenen Zustand eine 1 (weil Pullups). Das kann man einfach durch invertieren (~) anpassen wenn nötig.

//Button Pad als inputs mit aktiviertem Pullup (100K Ohm an V+), Buttons somit nach V- schalten.
//Kann bei bedarf dann mit dem ~ invertiert werden, zb: byte inputs=~Wire.read();
sendTwo(MCPAdresse,0x0C,0xFF,0xFF); //0C = Adresse für Kanaleinstellung, FF Inputs-Pullups einschalten

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

BeitragVerfasst: Di 8. Jul 2014, 12:17
von Rocktagon
Man kann die Grafikdateien auch auslager. So zb auf eine Fritzbox mit aktiviertem FTP Server.

Um Username und Passwort in der URL angeben verwenden Sie folgende Syntax:
ftp://username:passwort@servername.tld (.tld bedeutet die Top Level Domain, wie z.B. .ch oder .com)

Hat man also die Imagdateien auf der Fritzbox(bzw FTP Server) im Ordner /brett/images - der Nutzername ist ftpuser und dass Passwort wäre lalelu wäre der Link:
ftp://ftpuser:lalelu@fritz.box/brett/images
zum testen im Broweser: ftp://ftpuser:lalelu@fritz.box/brett/im ... 0/back.gif

Re: Das Hausbrett oder: Arduino und FS20 Haussteuerung

BeitragVerfasst: So 1. Nov 2015, 15:18
von Rocktagon
Da der Arduino mittlerweile an seine Grenzen kommt und der Due noch langem Kopfzerbrechen nicht so funktioniert wie ich es brauche baue ich das ganze komplett um.
Der Arduino wird zukünftig nur noch als I/O Board fungieren und die ganze Auswertung etc läuft dann über PHP & Mysql.
Werde bald die erste Version vorstellen können.

Fatal: Not able to open ./cache/data_global.php