Posts

Posts uit mei, 2020 tonen

Relais op afstand

Afbeelding
De i2c bus Vanuit een ander project heb ik al wat ervaring opgedaan met het gebruiken van de i2c bus; deze bus kan gebruikt worden om extra I/O poorten en sensoren aan te sluiten, zelfs op een redelijke afstand. Volgens de specificaties zou een afstand van 1 meter het maximaal haalbare zijn, maar dit is redelijk flexibel: ik heb succesvol een afstand van ruim 2 meter gebruikt. Ik heb deze bus gebruikt om vanuit een Arduino Mega een kastje aan te sluiten met daarin twee apparaten: een MCP23017 IC (16-poorts I/O expander) met daarop aangesloten een 4-voudig relais. een BMP280 sensorboard voor meting van luchtdruk en temperatuur. Voor de aansluiting met de Arduino gebruik ik 4-voudige platte telefoonkabel en RJ-12 stekkers. Op deze manier kan ik op eenvoudige wijze meer I/O aansluiten. In de Arduino code heb ik dit geregeld door de Adafruit mcp library te laden, mits er een compiler flag wordt gezet: #if defined(MCP_present) #include <Wire.h> #include "Adafruit_MCP23017.h"

Smart meter in de revisie

Afbeelding
Slimme Meter Hoewel ik al een tijdje de slimme meter uitlas met een op ESP01 gebaseerd draadloze interface, bleef dit een een beetje een zorgenkindje: hoewel het een op Arduino gebaseerde sketch was, had ik veel moeite om het te compileren, en bovendien was het een erg gecompliceerde oplossing, die teveel mogelijkheden had voor mijn doel: ik wilde alleen de meterwaarden uitlezen via MQTT, zodat ik ze kon gebruiken in Home Assistant. Op een gegeven moment hield de interface op met werken, dus dit was het punt om schoon schip te maken. Mijn aanpak was als volgt: Een eigen interface bouwen om de seriële output van de meter te lezen. Ik had al een paar pogingen ondernomen, maar het was elke keer mislukt. De software integreren in de 'library' die ik gebouwd had voor de Arduino Mega controllers. Dit was ook al een keer gestrand op het 'blokkerende' karakter van het uitlezen van een seriële verbinding. Interface De interface bouwen bleek na wat naspeurwerk simpel te zijn: het