Påbörjad växelstyrning

Nu under helgen har jag fortsatt med mitt projekt att styra moduler trådlöst. Det hela började med en bortkastad kväll då jag inte lyckades lista ut hur jag skulle addressera pinnarna på en NodeMCU. Det slutade med att jag kortslöt 3.3V-utgången och sen slutade kortet att fungera. Trist.

Utvecklar med Arduino

Men jag fortsatte programmeringen med en Arduino och har nu istället koncentrerat mig på att få själva styrningen att fungera. Kortet jag jobbar med är tänkt att kunna styra två 2-vägs-växlar via servo, som vardera läggs om med en tryckknapp och har två lysdioder för att indikerar hur de är lagda.

Lysdioderna indikerar växelläget

Totalt använder jag alltså 8 pinnar och det är lagom för Wemos-kretsen som jag tänkte använda framöver. Jag har nu fått till de viktigaste funktionerna som styr lysdioderna:

  • Växelns bägge lysdioder blinkar simultant när strömmer slås på, för att indikera att kortet inte vet i vilket läge växeln ligger.
  • Ett första tryck på knappen gör att växeln går till normalläge.
  • Under omläggningen av växeln blinkar lysdioden för det valda växelläget.
  • En fast lysande lysdiod visar vilket läge växel ligger i.
  • De båda växlarna kan hanteras oberoende av varandra, så även då lysdioderna.

Bra grund för framtiden

Det som tar lite tid med programmeringen, är att jag vill göra det ordentligt, generellt och som en grund för framtida klienter. Jag har ställt upp några krav på mig själv:

  • Ordentligt kommenterad källkod.
  • ”Multitasking” med Arduinos millis()-funktion så att t.ex. två servon kan röra sig oberoende av varandra och lysdioder blinka med olika frekvens.
  • Styrning ska vara möjlig både fysiskt (med knappar & dioder) och trådlöst (wifi & mqtt), oberoende av varandra.

MQTT-strukturen

Under veckan har jag även funderat mer på hur man ska använda MQTT på en bra sätt. Meddelanden hanteras ju i en slags struktur (som mappar i en dator). Precis som i en dator, kan det snabbt bli kaos, så jag vill försöka få till en logisk och genomtänkt struktur till mina klienter.

På nätet hittade jag en jättebra beskrivning av en struktur som är både flexibel och tydlig. Dessutom väl dokumenterad och fri att använda. Så jag har nu gjort några mindre namnändringar och tagit åt mig den som utgångspunkt för det som ska bli mitt ”systems” ämnen eller ”topics”.

Ännu så länge är det mesta bara ”på gång”, så jag har inte så mycket att visa upp. Men tanken är fortfarande att göra detta tillgängligt för fler att bygga vidare på.


Publicerat

i

,

av

Etiketter: