Dieses Blog durchsuchen

Sonntag, 27. August 2017

Arduino Tutorial

Hallo,

ich fange hier mit einen Arduino Tutorial an. Hiermit werden wir eine kleine Wetterstation für zu Hause bauen. Die Teile liste ich genau auf. Bitte lest das Tutorial von vorne weg. Ich werde auch einige weitere Sachen zusätzlich erklären, die möglicherweise wichtig sind.

Hier ist Part 1

Benötigte Teile:
Hardware
Software
  • Arduino IDE


Im heutigen Schritt erstellen wir als erstes eine einfache Schaltung, und machen eine LED welche im Takt des Loops blinkt.
Im nächsten Teil werden wir dann weitermachen.

Erst mal die Schaltung - für das Zeichen der Schaltung verwende ich Fritzing, zum Programmieren des Codes verwende ich die Arduino IDE.

1. Schaltung mit Arduino UNO


2. Schaltung mit Arduino Mega
Das ist der erste Teil. Jetzt mal kurz eine Erklärung. Warum 220 Ohm

Rote Leds benötigten je nach Aufbau (GaAsP, oder GAP) 1,6 Volt oder 2,1 Volt. Der Arduino hat eine Spannung von 5 Volt auf den digitalen Pins, mit einem Strom von 20 mA

Somit können wir ausrechnen, wieviel Spannung abfallen muss, damit wir die LED nicht überlasten.
Ich verwende dazu eine PSPICE Grafik um das zu veranschaulichen.


 dann kommen wir jetzt zum Code.
da der Arduino UNO 16 MHZ hat, wäre ein Loop wohl etwas zu schnell. Daher werden wir als Schritt eins einen Delay einbauen sagen wir 1000 ms.

Als erstes sehen wir uns den Code an.
Wenn man einen neuen Sketch in der Arduino IDE erstellen - sehen wir folgendes.

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run
repeatedly:
 }
 Code innerhalb von void setup() wird beim starten des Programmes einmal ausgeführt.
Code innerhalb von void loop() wird immer wieder ausgeführt. Dort werden wir auch unseren Delay einbauen. Der Code sieht dann so aus: 

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:


delay(1000);
}


 delay(1000); ist der befehl dass der Arduino 1000ms wartete bevor der Loop erneut startet. Mit der zahl stellt man die ms ein.

als nächstes müssen wir unseren Pin defineren. Hier haben wir 2 Codes. Einen für den Uno und einen für dem Mega . der Unterschied ist lediglich die PIN Nummer.
wird definieren den Pin mit einen #define befehl. dieser wird noch vor das void setup() geschrieben

#define led_pin 13    <-- Arduino UNO
#define led_pin 22    <-- Arduino MEGA

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:


delay(1000);
}


jetzt haben wir unseren Pin definiert. diesen werden wir nun im void setup einstellen. 

#define led_pin 13
void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:


delay(1000);
}


 mit pinMode kann der Modus des Pins eingestellt werden. Der erste Wert ist die Pinnummer der zweite wert entweder INPUT oder OUTPUT. da wir eine LED leuchten lassen wollen, setzten wir den Wert auf Output.
Wenn wir uns den define Befehl sparen wollen könnten wir auch pinMode(13,OUTPUT); schreiben.

Nun generieren wir eine Variable, die den Status der LED hält. Damit wir auch blinken können.

#define led_pin 13
bool led_status = false;
void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:


delay(1000);
}


 bool led_status = false, bedeutet das der wert des leds aktuell 0 ist. Bool ist ein Datentyp der nur 2 Zustände haben kann, true oder false.

Jetzt müssen wir diesen Status bei jedem Durchlauf umschalten. 

 #define led_pin 13
bool led_status = false;
void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:

led_status = !led_status;
delay(1000);
}


led_status = !led_status bedeutet das die boolsche Variable negiert wird, und sich setzt. Das ! bedeutet nicht. Somit wenn led_status true ist, wird er nachher false und vice versa.

Und jetzt muss es noch leuchten. Das erreichen wir mit einem digitalWrite befehl, der den aktuellen Wert an den Pin sendet und somit das Led leuchten lässt oder auch nicht.

#define led_pin 13
bool led_status = false;
void setup() {
  // put your setup code here, to run once:
  pinMode(led_pin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
digitalWrite(led_pin, led_status);
led_status = !led_status;
delay(1000);
}


 So das war der erste Teil des Tutorials - wir sehen uns im nächsten Teil.

Dienstag, 25. April 2017

Giessen und andere Hobbies

Morgen,

ja ich habe damit angefangen endlich meine Giessanlage zu bauen. Sie ist noch nicht sondlich schön - aber ich hab schon die ersten Messergebniss geholt. (momentan giesst sie noch nicht - ich mache gerade Referenzmessungen)

Die Bauteilliste sieht aktuell wie folgt aus.

Testversion

 Arduino MEGA
 Analoger Temperatursensor
 Analoger Bodenfeuchtesensor (messt den Leitwert der Erde) - wird aber durch eine kapazitive Messung ersetzt)
  Analoger Helligkeitsmesser
  4 LEDs (grün)
  1 LED  (rot)

 Aktuelle Version

Arduino NANO V3
Analoger Temperatursensor
LCD (32 Zeichen auf 2 Zeilen)
Analoger Bodenfeuchtesensor
1 LED Grün
POTI (für die LCD helligkeit)

Momentan stimmt das Mapping noch nicht ganz. dH ich habe nie eine Bodenfeuchtigkeit von 0% selbst wenn er gar nicht im Boden steckt - und somit kein Strom fliessen kann. Ausserdem hab ich nie 100 % selbst wenn ich Ihn in ein Glas Wasser (mit gelöstem Salz) hänge.

Aber ich denke dass ich das noch in den Griff kriege - und vorallem dann - wenn ich einen kapazitiven Sensor verwende.

Die Idee dahinter ist, dass er nur giessen soll wenn der Schwellwert der Bodenfeuchtigkeit unterschritten ist - und wenn die Helligkeit stimmt. (Pflanzen soll man ja nicht giessen wenn die Sonne sie anscheint - die Blätter können verbrennen.) dH. Der Messinterval wird abhängig von der Helligkeit. Wenn es dunkel ist, messt er öfters, und giesst auch zu dieser Zeit. Wenn es Hell ist giesst er nicht - sondern merkt sich nur dass er giessen soll. Wenn dann die Helligkeit weg ist. Natürlich muss es ein Notsystem geben - dass heist wenn die Bodenfeuchtigkeit zu niedrich ist (unter dem ersten Schwellenwert. -> und die Bodenfeuchtigkeit unter den 2ten Schwellwert fällt. Muss er giesen - ganz egal wie hell es ist. Sonst kann es ja passieren dass die Pflanze austrocknet.

Das nächste wird sein, dass ich versuche die Daten zu loggen. Somit kann das Programm auf Erfahrungswerte zugreifen -  und den Messintervall nach diesen stellen. Zusätzlich möchte ich noch eine Möglichkeit schaffen - dass die Intervalle als Kurven vom I-Net runtergeladen werden können. So kann jeder der das System verwendet -> auf Daten zugreifen welche ein anderer bereits verwendet hat - diese Daten anpassen und danach bewerten.

Einfaches Beispiel wäre: Das für jede ZONE eine Pflanzart ausgwählt werden kann. Und die Schaltung seinen Intervall genau nach dieser Einstellung bestimmt. -> Das wird mit dem aktuellen Board nicht so sauber funktionieren - darum bin ich gerade dabei ein anderes Board zu wählne. (Möglicherweise ein Arduino YUN oder so. Damit ich eine WIFI-Verbindung habe und die Daten übertragen kann.

Hier noch ein Bild von dem Teil. (TESTAUFBAU)

Montag, 27. März 2017

Irgendwas

Hallo,

jetzt wo der Umbau unseres Hauses "fast" erledigt ist, hab ich wieder Zeit mich um diese Seite zu kümmern. Ich weiß ich hab das schön des öftern gesagt, aber ich werde es diesesmal vielleicht einhalten.

Des weiteren habe ich wieder 2 Bücher an div. Verlage gesendet, und hoffe auf ein positives Feedback. - Mal sehen wie es ausgeht.

Ausserdem wollte ich eigentlich wiedermal ein politisches Statement abgeben, aber eigentlich habe ich keinen Bock mehr - mich mit diesem Zeugs zu beschäftigen. Es gibt sicher andere Menschen die besser dafür geeignet sind als ich. Und es wäre auch ziemlich toll, wenn sie in der Politik wären.

Auch zum Thema Schubladendenken will ich nur kurz etwas sagen. Scheißt auf die Schubladen die euch vorgegeben werden (Links, Rechts, Skater, Punk, ...) baut euch eure eigene. Ich weiß eine Schublade selber bauen ist nicht so leicht, und gelegentlich zwicken Sie dann ein bisschen - aber es ist wesentlicher angenehmer selber eine zu haben. Vorallem weil man dann nicht von der definition der Schublade eingeschränkt wird - man definiert sie einfach selber.  Und auch wenn jetzt wieder irgendwelche Leute kommen und meinen dass man nicht einfach eine eigene Meinung haben kann .... was für eine Frechheit !!! Dann kann man sie ja daran erinnern, dass jeder irgendwann eine eigene Meinung hatte - bevor man dahin getrimmt wurde, wo man jetzt ist. Also lieber eine Schublade selber bauen als eine nehmen, wo der Boden schon durchhängt.

Des weiteren ist unsere Katze Jonny nach 8 Wochen wieder nach Hause gekommen. Plötzlich stand sie ziemlich abgemagert vor der Tür. Ich bin froh das er wieder da ist und auch wenn er momentan wieder geschreckt ist, hat er sich bereits wieder gut eingefunden.

Bis denne,
Nieman D.

Dienstag, 7. März 2017

Scherben der Welt TRIOLOGIE

Morgen


Es wird für mich wieder Zeit an einen neuen Buch zu arbeiten.
Hier ist der Plan für die nächsten 2 Jahre ..... immerhin hab ich das ganze jetzt eh schon 4 Jahre verschoben.

Blutmond - Scherben der Welt Teil 2
            Wir erleben Aria - wie sie ein altes Geheimnis aufdeckt. Ausserdem betrachten wir Frederick und seine Rolle bei der Gründung einer neuen Religion

Morgenrot - Scherben der Welt Teil 3
              [NOT A PLOT YET]




Ausserdem arbeite ich immer noch am 2ten Teil von TIM. Den ersten Teil kann man hier ja auch gratis lesen.

Montag, 6. März 2017

Software Development

Hmmmm, momentan schlafen alle meine Projekte ein. Ganz egal was ich gerne machen würde, ich finde einfach keine Zeit dazu.

Weder mein Spiel, noch meine Anwendugssoftware noch meine Steuerung werden fertig.



Bei der Steuerung bin ich ja auch noch dazu umgestiegen. Von Arduino zu Raspberry. Auch wenn mir die Programmiersprache vom Arduino mehr liegt, aber Preis/Leistung ist beim Rasp einfach höher. Immerhin hat er WLAN und Bluetooth on Board. Und man braucht keine Separate Hardware dazu.

Die Warenwirtschaft die ich grade so nebenbei Schreibe steckt ebenfalls noch in den Kinderschuhen, und mein neues Buch hab ich auch noch nicht veröffentlicht. -> Mal sehen ob dass dieses Jahr noch was wird.

Aber dafür hab ich dank meiner gelieben Frau / Freundin jetzt einen Vorraum in Party-Pink. Was - wie ich ehrlich zugegeben muss, nicht so schlimm aussieht - wie ich es am Anfang vermutet habe. MUT ZUR FARBE würde ich dass dann nennen.

.... Ich werde mich auf jeden Fall mal wieder melden, wenn ich wieder mehr Zeit finde mich um meine Hobbies zu kümmern. ..... Momentan läuft das nicht so.

Dienstag, 21. Februar 2017

Hat wer Bock?

Morgen,

hätte ein neues Buch fertig (eh schon länger). Hätte wer Lust es Korrektur zu lesen?

Er/Sie wird dann im Buch erwähnt - und wenn es veröffentlicht wird, werden wir uns wegen einer Gewinnbeteilung unterhalten.


Sonntag, 12. Februar 2017

Soviel im Kopf

Hallo allen zusammen,

momentan hab ich wiedermal stressige Zeiten. Ich habe damit begonnen meine Wohnung (Haus) umzubauen - und daher bleibt alles andere momentan ziemlich liegen.
Des weiteren arbeite ich an einigen Konzepten in Bereich "smart" Gardening. (Der Umwelt zuliebe) wo ich meine Erfahrung als Software Entwicklcher und meine Ausbildung als Regelungstechniker mit einbringen werde.
Ich bin froh, dass ich bereits eine Firma gefunden habe, der mein Konzept "gefällt" auch wenn ich selber der Meinung bin, dass es noch nicht vollständig ausgereift ist. Aber mal sehen was die Zeit bringt. Immerhin ist es ja eh noch nicht Frühling.

Eine unserer Katzen ist leider auch abhanden gekommen, und die Trauer in der Familie ist groß. Vielleicht taucht sie ja wieder auf - aber sie ist jetzt schon beinahe seit 4 Wochen fort. Ohne lebenszeichen. Mal sehen - ob sie wieder kommt oder nicht.


Ich wünsche euch eine wunderschöne Zeit. Und hoffe das es bei euch auch vorangeht.

Mfg
Nieman D



Mittwoch, 11. Januar 2017

Neujahrs-Gedanken

Man macht sich ja Gedanken....



Manchmal über sinnloses und manchmal über sinnvolles ....


Aber wer definiert was "Sinnvoll" oder "Sinnlos" ist?


Und ist das bereits ein Gedanke - wenn ich darüber nachdenke - ob das über was ich nachdenke "Sinnvoll" oder "Sinnlos" ist?


Aktuell denke ich eher über Dinge nach - die ich in den nächsten Monaten entwickeln will, oder bauen will. Natürlich auch der Umbau zu Hause - mein Hochbeet, dann 2 kleine Programme die das Leben erleichtern sollen, und ein Programm welches für eine spezielle Sparte ausgerichtet ist. Ich bin ja immerhin Softwareentwickler - und da macht mal halt sowas.

Von meinem Standpunkt aus - sind diese Sachen Sinnvoll, ein anderer wird das vielleicht nicht so sehen. Und dann haben wir den Salat. Wer von uns beiden hat jetzt Recht? Gibt es in dieser Frage überhaupt ein "Recht haben"?

Ist es nur weil ich es als Sinnvoll betrachte - auch wirklich sinnvoll? Oder ist es Sinnlos weil der andere es als Sinnlos sieht?


Wie zum Beispiel Links oder Rechts sein. Ich persönlich finde das als Sinnlos, dass wir glauben - das jeder/jede in eine Schublade gepackt werden kann. Auch wenn es vielleicht einfach ist, und ja der Mensch neigt zu einfachen Weltbildern .... Es ist einfach schöner wenn mir jemand sagt - was richtig/sinnvoll ist, als das ich selber darüber nachdenken muss. Aber es würde nicht schaden mal darüber nachzudenken - ob es auch wirklich so ist.

Wenn wir immer nur dennen nachlaufen - die uns erzählen - das sie es wissen, geben wir unsere Eigenständigkeit ab, und nachher können wir dann wieder sagen: Das hab ich ja nicht gewusst, dass der das so meint oder macht.

Meiner Meinung nach - ist das eben nicht Sinnvoll, immer jemanden zu folgen. Wir sollten damit aufhören - immer zu folgen. Sondern einfach mal das tun, was wir auch wirklich tun wollen. Auch wenn das in den Augen von machen als Sinnlos abgestempelt wird. Es mag auch so sein - möglicherweise ist es sinnlos, aber immerhin haben wir es gemacht - und nachher ist man immer gescheiter. Vorher kann man es ja sowieso kaum abschätzen.

Darum um zum Ende meiner Neujahrsgedanken zu kommen.

- Nehmt euch Zeit und macht etwas. (auch wenn es nur eine Doku im TV anzusehen ist. - Immerhin noch besser als "...... (beliebiges Land einsetzen) sucht den ...... (beliebigen Wert einsetzten)".

- Redet mit anderen darüber was ihr machen wollte - holt euch Feedback - und ja es kann negativ sein, dass sollte euch aber nicht aufhalten. Diskutiert anstatt zu Streiten

- Betrachtet die Welt in all ihrer Schönheit  und Hässlichkeit - und überlegt was man tun kann. Immerhin haben wir diese Welt nur geborgt.

- Geht auf Reisen und lernt andere Kulturen kennen, und ich meine wirklich "Kennen" lernen. Denn wenn man etwas kennt - ist es sehr schwer sich davor zu fürchten und es zu hassen.

- Betrachtete die Nachrichten genau - und bildet euch eure EIGENE Meinung. Übernehmt nicht unreflektiert die Meinungen der Journalisten und "Spezialisten".

- Bildet euch weiter - in was auch immer.

- Kümmert euch um eure Kinder. Schiebt sie nicht weiter in Schule ab und verschreibt ihnen Ritalin wenn sie zu aktiv sind. Kinder brauchen die Nähe der Eltern - keine Tabletten.


Jetzt kann sich jeder selber die Meinung bilden - ob das was ich jetzt gesagt habe Sinnvoll oder Sinnlos ist. Wenn ihr es mir auch sagen wollte - schreibt es als Kommentar, oder auf Facebook.

Ich wünsche euch allen auf jeden Fall ein gutes neues Jahr (auch mit etwas Verspätung) und viel Glück und Freude in der Zukunft

Eurer
Nieman D.