2 – Wetterstation mit Arduino und Wettersensor BME 280

1

Wärme, Feuchte und Luftdruck mit farbigen Pixeln auf der Wetterstation anzeigen!

Wetterstation mit Arduino und BME280

Das lernst du hier:

Wie warm ist es jetzt und wie feucht ist die Luft? Mit einer Wetterstation kannst du das Klima im Raum oder draussen messen und viele interessante Dinge tun. Ist es beispielsweise schon Zeit, das Klassenzimmer zu lüften, weil die Feuchte stark angestiegen ist? Wird der Raum durch offene Fenster im Sommer kühler oder wärmer? Wann ist es Zeit für einen erfrischenden Waldspaziergang? Wie kalt war es letzte Nacht?

Weil du in diesem Projekt lernst, wie du das Wetter mit farbigen Pixeln darstellst, kannst du es spielerisch angehen und zum Beispiel ein Plakat gestalten, auf dem du deine Aktivitäten dem idealen Wetter zuordnest. siehe weiter unten 👇.

Natürlich ist aber auch etwas für dich dabei, wenn du es richtig anspruchsvoll magst, denn dank dem super-einfachen Arduino lassen sich die Wetterdaten sogar über ein Excel ins Internet streamen. Wir zeigen dir am Schluss dieses Posts, wie’s geht!

2

Wetter mit farbigen Pixeln darstellen und ein Plakat gestalten

Was tun bei welchem Wetter? Klebe den Pixelstreifen oder die Matrix auf ein Plakat und ordne deine Lieblingsaktivitäten dem idealen Wetter zu. Das heisst zum Beispiel: gehe in den Wald, wenn es heiss ist oder lese ein Buch. Nimm den Regenschirm bei tiefem Luftdruck oder mach Sport, bei angenehmen Temperaturen, und, und, und…

Wetterstation mit Arduino für die Primarschule
3

Messstation bauen mit dem Wettersensor BME280

Wie geht das?

Ob mit dem Mikrocontroller KOMFORT für Experimente oder mit der Version PIXEL, zum Nachhause nehmen: Der Bau der Station ist einfach. Überlege dir zuerst, mit wie vielen Pixeln du deine Daten anzeigen möchtest, denn das kann mit einem einfachen STICK mit 8 Pixeln, mit einer MATRIX, mit einer 30er-STRIPE oder sogar mit einem 72er STRIPE geschehen! Unser Tipp: Keep it simple, weniger ist mehr!

Lerne hier, wie du deinen Controller löten kannst! > Löten lernen.

Wetterstation Anschlussschema
4

Wetter mit der Höhe eines Pixels anzeigen

Stell dir vor, je wärmer es ist, desto höher liegt der orange Pixel auf deinem Neopixel Stripe. Das gleiche machst du dann mit den Werten der Feuchte und des Luftdrucks. Wie einfach das ist, siehst du im Bild.

Wetterdaten mit Position der Pixel anzeigen

Einfach? Nicht ganz, denn wenn du beispielsweise mit 72 Pixeln die Feuchte zwischen 0% und 100% anzeigen willst, fehlen dir 18 Pixel 😮. Checke, wie das geht, indem du den Code unten in den Editor lädst 😅!

By the way, hast du schon verstanden, wie die Farben der Pixel eingestellt werden? Klicke hier, um mehr darüber zu erfahren.

Challenge:

Challenge: XML-Code in Editor einfügen
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="^P3YP+_F|]Z4sM`GL*k6">Temperatur in °C</variable><variable id="L6~(v:M{{r3:TItG/G/j">Feuchte in %</variable><variable id="yRvAz]@{j^`=l`.K3cwA">Luftdruck in hPa</variable></variables><block type="basic_comment" id="T=0)6yzGxjpI(RNT~vDH" x="-22" y="-997"><field name="COMMENT">Hauptsketch: Lese Werte aus Sensor und stelle sie auf einem Neopixel Stripe mit 72 Pixeln dar</field></block><block type="basic_comment" id="Fi+dG;i?8K0#CmzSj*4~" x="-25" y="-933"><field name="COMMENT">Sensorwerte mit Pixeln anzeigen&amp;#10;****************************&amp;#10;1. Schliesse das Arduino über USB an deinen PC/Mac an und öffne die offizielle Arduino IDE&amp;#10;2. Mache folgende Einstellungen in der IDE:&amp;#10;    &gt; Board: Ardiono Nano&amp;#10;    &gt; Processor: ATmega328P&amp;#10;    &gt; Port: COM XY (da wo du den Arduino angeschlossen hast - ev. im Geräte Manager nachschauen)&amp;#10;3. Installiere diese Libraries:&amp;#10;    &gt; Wire.h (direkt aus Library Manager)&amp;#10;    &gt; ErriezBMX280 Ab Github über Google - bei CODE auf DOWNLOAD ZIP gehen.&amp;#10;       Dann in der Arduino IDE: SKETCH &gt; INCLUDE LIBRARY &gt; ADD A .ZIP LIBRARY&amp;#10;4. Wenn du mit der Teacher's Box arbeitest, sind alle Installationen schon gemacht 😊.&amp;#10;&amp;#10;Dieses Beispiel ist auf einen Neopixel-Stripe mit 72 Pixeln ausgelegt. Ändere das, nach Bedarf.</field></block><block type="set_neo_pixel" id="YY|Bcya?_L-oV?6{QU5D" x="-23" y="-577"><value name="NUM_LEDS"><block type="math_number" id="(4q4{dIht!L3E(ZeEq*n"><field name="NUM">72</field></block></value><value name="BRIGHTNESS"><block type="math_number" id="j.EW.y)bjOAcv_^N@Z1I"><field name="NUM">50</field></block></value><value name="OUTTURN"><block type="led_pin" id="uK|E4O=ZqrxCpVyN?ga0"><field name="LED">LED1</field></block></value></block><block type="basic_comment" id="Z{zHm6FS,5hTL^hrKkv%" x="-914" y="-417"><field name="COMMENT">Grundfunktionen: nicht löschen</field></block><block type="basic_main_loop" id=":60|XHi7ftdu2x$67[jQ" deletable="false" x="-20" y="-440"><value name="BLINK"><block type="basic_blinkcode" id="4^aq{Y9|0}V[y#o!kCdZ"><field name="SHORT">1</field><field name="LONG">1</field></block></value></block><block type="basic_comment" id="O+6!=0^XDZ^8xz~!{ht)" collapsed="true" x="-916" y="-369"><field name="COMMENT">Info zur Library:       https://github.com/Erriez/ErriezBMX280&amp;#10;Datenblatt BME280:  https://github.com/Erriez/ErriezBMX280/raw/master/extras/BME280_datasheet.pdf</field></block><block type="code_declaration" id="xnRAG*|Ca-CXN8*MNu~K" collapsed="true" x="-915" y="-325"><field name="CODE_DECLRATION">#include &lt;Wire.h&gt;&amp;#10;#include &lt;ErriezBMX280.h&gt;&amp;#10;&amp;#10;ErriezBMX280 bmx280 = ErriezBMX280(0x76);</field></block><block type="procedures_callnoreturn" id="(JLh-:qjbXCO4{~d7}Z3" x="-18" y="-333"><mutation name="Lese Messwerte aus dem Sensor"></mutation></block><block type="expert_setup" id="$@+^$6/}Cj1|StEyOvPQ" collapsed="true" x="-916" y="-278"><statement name="CODE"><block type="code_input" id="nu?z9)K[8CUT(HXn)/?|"><field name="CODE_INPUT">Wire.begin();</field><next><block type="code_input" id="yLG3)YpqNWvAbY0+Y2r|"><field name="CODE_INPUT">bmx280.begin();&amp;#10;&amp;#10;bmx280.setSampling(BMX280_MODE_NORMAL,    // SLEEP, FORCED, NORMAL&amp;#10;     BMX280_SAMPLING_X1,   // Temp:  NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Press: NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Hum:   NONE, X1, X2, X4, X8, X16 (BME280)&amp;#10;     BMX280_FILTER_OFF,     // OFF, X2, X4, X8, X16&amp;#10;     BMX280_STANDBY_MS_1000);// 0_5, 10, 20, 62_5, 125, 250, 500, 1000&amp;#10;</field></block></next></block></statement></block><block type="basic_comment" id="ZpmoQ5AS3R*e_FY(LL7[" x="-286" y="-264"><field name="COMMENT">Lese die Werte nur jede halbe Sekunde</field></block><block type="basic_comment" id="H(|spNs=ofQ3_eG)F/}G" collapsed="true" x="-918" y="-227"><field name="COMMENT">Kalibriere die Messung, indem du einen Korrekturwert eingibst:&amp;#10;&gt; suche in Google eine Wetterstation in deiner Nähe&amp;#10;&gt; nutze eine Barometer App mit deinem Smartphone (nur teure Versionen)&amp;#10;&gt; verwende ein präzises Thermometer</field></block><block type="flow_delay" id=".inB5U=yK:^6GW(hxo1P" x="-17" y="-268"><value name="DELAY"><block type="math_number" id="dSA(U$l+m.OKgBKIntIg"><field name="NUM">500</field></block></value></block><block type="procedures_defnoreturn" id="igkSzOuk-xKLOf:ItGfm" collapsed="true" x="-918" y="-180"><field name="NAME">Lese Messwerte aus dem Sensor</field><statement name="STACK"><block type="variables_set" id="9hY+HjfaMxFfI(!N.EQ)"><field name="VAR" id="^P3YP+_F|]Z4sM`GL*k6">Temperatur in °C</field><value name="VALUE"><block type="math_arithmetic" id="S-;Q#2gzwVFgdBz]),xs"><field name="OP">MINUS</field><value name="A"><block type="code_pin" id="v{.krVs)k%ZI=W0Wio6w"><field name="CODE_PIN">bmx280.readTemperature()</field></block></value><value name="B"><block type="math_number" id="{(!PE@Q%=p%{ZJJQ`dba"><field name="NUM">2.1</field></block></value></block></value><next><block type="variables_set" id="(uO2(ik?$80JvRNu}Ay/"><field name="VAR" id="L6~(v:M{{r3:TItG/G/j">Feuchte in %</field><value name="VALUE"><block type="math_arithmetic" id="rdL]y`q5gzfojp8PR^vu"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="TBZ+$_j6hmG0YwJq$#*9"><field name="CODE_PIN">bmx280.readHumidity()</field></block></value><value name="B"><block type="math_number" id=")4TMb8-j+NG{-@|Jy(MA"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="Uop,yOd$IgvV@4ubDcU#"><field name="VAR" id="yRvAz]@{j^`=l`.K3cwA">Luftdruck in hPa</field><value name="VALUE"><block type="math_arithmetic" id="aravOYyc|v*z#ZN^c^,;"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="oJDr5Stym3=~u47#yD0g"><field name="CODE_PIN">bmx280.readPressure()/100</field></block></value><value name="B"><block type="math_number" id="Z4P8M*S7RhXQmD*8n]G:"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></statement></block><block type="basic_comment" id="%d2C0wnReINobli}S=yM" x="-271" y="-157"><field name="COMMENT">Zeige die Werte auf dem Pixelstreifen</field></block><block type="set_pixel_color" id="S5M8t=!ZA*nNeC#xIGiu" x="-13" y="-162"><field name="MODE">MODE2</field><value name="TO"><block type="math_number" id="ExGK+?8z2qS}9nOikl$y"><field name="NUM">1</field></block></value><value name="H"><block type="math_number" id="]Ol..jKq/.pJFaZ-MF[D"><field name="NUM">120</field></block></value><value name="S"><block type="math_number" id="5n-[K`fn{*quP{-/#%w0"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="Z:5Fp=ftJdtF9AXIv89l"><field name="NUM">100</field></block></value><next><block type="set_pixel_color" id="x],ecZYb1]Q}XkN_cUa,"><field name="MODE">MODE2</field><value name="TO"><block type="math_number" id="E|V/x8+|W?Dt$T3{L5B3"><field name="NUM">1</field></block></value><value name="H"><block type="math_number" id="-k]8Zq%Pv_;j4VvZ$EVU"><field name="NUM">225</field></block></value><value name="S"><block type="math_number" id="3iC%}{2ZRWbViQVgt`}H"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="s3tZ68rpt4JdV`Aiy*e."><field name="NUM">100</field></block></value><next><block type="set_pixel_color" id="6So3o6gmvil3BTxqlx%W"><field name="MODE">MODE2</field><value name="TO"><block type="math_number" id="Z/b)`$CRyLSwc^cPKEfX"><field name="NUM">1</field></block></value><value name="H"><block type="math_number" id="9=S(/uOc0]=c[x9pq2rK"><field name="NUM">310</field></block></value><value name="S"><block type="math_number" id="7xL-6;H^,~LYxx:^hgnQ"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="(b0w6PR3mIDS.2`tN^#p"><field name="NUM">100</field></block></value><next><block type="fast_led" id="BcAkA$?])~6)Sy0VVurY"><next><block type="fast_led_clear" id="_zbl2H95If6cM}~]B%bB"></block></next></block></next></block></next></block></next></block><block type="basic_comment" id="O%4IPX)86{,Wv2H-(Gis" x="-290" y="87"><field name="COMMENT">Pixelnummer entspricht der Temperatur</field></block><block type="math_arithmetic" id="7R8|ZxS6b]I){O7F|5`l" x="-17" y="80"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="^1?%#UJ#6#Pv_#^b7pUH"><field name="VAR" id="^P3YP+_F|]Z4sM`GL*k6">Temperatur in °C</field></block></value><value name="B"><block type="math_number" id="]i^`cX=5Bwbo#ns}f#qm"><field name="NUM">1</field></block></value></block><block type="basic_comment" id="ci:~iNizP(Zu`froJE%?" x="-241" y="161"><field name="COMMENT">Pixel 1 = 0%,  Pixel 72 = 100%</field></block><block type="math_arithmetic" id="H;XQYx~sewpiF!%xWyA9" x="-15" y="157"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="nmG3(g*;ETvr}Rk.PL=G"><field name="VAR" id="L6~(v:M{{r3:TItG/G/j">Feuchte in %</field></block></value><value name="B"><block type="math_number" id="OhFy0/HZgX?*Hq_+`8o!"><field name="NUM">0.72</field></block></value></block><block type="basic_comment" id="EEX_o]E[u2HGk{8gK99W" x="-282" y="243"><field name="COMMENT">Pixel 1 = 970 hPa, Pixel 72 = 1042 hPa</field></block><block type="math_arithmetic" id="-B,g82n}v*M|1=n;*NT0" x="-13" y="234"><field name="OP">MINUS</field><value name="A"><block type="math_arithmetic" id="h)6dwCwZn)K*Rf.b1[Us"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="tilD}%1PQKx{ugJT-kjO"><field name="VAR" id="yRvAz]@{j^`=l`.K3cwA">Luftdruck in hPa</field></block></value><value name="B"><block type="math_number" id="TSxiRr1j8$lc(saMDHD."><field name="NUM">1</field></block></value></block></value><value name="B"><block type="math_number" id="yr~?DN2.|#?FWHM,[)p1"><field name="NUM">970</field></block></value></block></xml>

Mögliche Lösung:

Lösung: XML-Code in Editor einfügen
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="^P3YP+_F|]Z4sM`GL*k6">Temperatur in °C</variable><variable id="L6~(v:M{{r3:TItG/G/j">Feuchte in %</variable><variable id="yRvAz]@{j^`=l`.K3cwA">Luftdruck in hPa</variable></variables><block type="basic_comment" id="T=0)6yzGxjpI(RNT~vDH" x="-22" y="-997"><field name="COMMENT">Hauptsketch: Lese Werte aus Sensor und stelle sie auf einem Neopixel Stripe mit 72 Pixeln dar</field></block><block type="basic_comment" id="Fi+dG;i?8K0#CmzSj*4~" x="-24" y="-931"><field name="COMMENT">Sensorwerte mit Pixeln anzeigen&amp;#10;****************************&amp;#10;1. Schliesse das Arduino über USB an deinen PC/Mac an und öffne die offizielle Arduino IDE&amp;#10;2. Mache folgende Einstellungen in der IDE:&amp;#10;    &gt; Board: Ardiono Nano&amp;#10;    &gt; Processor: ATmega328P&amp;#10;    &gt; Port: COM XY (da wo du den Arduino angeschlossen hast - ev. im Geräte Manager nachschauen)&amp;#10;3. Installiere diese Libraries:&amp;#10;    &gt; Wire.h (direkt aus Library Manager)&amp;#10;    &gt; ErriezBMX280 Ab Github über Google - bei CODE auf DOWNLOAD ZIP gehen.&amp;#10;       Dann in der Arduino IDE: SKETCH &gt; INCLUDE LIBRARY &gt; ADD A .ZIP LIBRARY&amp;#10;4. Wenn du mit der Teacher's Box arbeitest, sind alle Installationen schon gemacht 😊.&amp;#10;&amp;#10;Dieses Beispiel ist auf einen Neopixel-Stripe mit 72 Pixeln ausgelegt. Ändere das, nach Bedarf.</field></block><block type="set_neo_pixel" id="YY|Bcya?_L-oV?6{QU5D" x="-23" y="-577"><value name="NUM_LEDS"><block type="math_number" id="(4q4{dIht!L3E(ZeEq*n"><field name="NUM">72</field></block></value><value name="BRIGHTNESS"><block type="math_number" id="j.EW.y)bjOAcv_^N@Z1I"><field name="NUM">50</field></block></value><value name="OUTTURN"><block type="led_pin" id="uK|E4O=ZqrxCpVyN?ga0"><field name="LED">LED1</field></block></value></block><block type="basic_comment" id="Z{zHm6FS,5hTL^hrKkv%" x="-914" y="-417"><field name="COMMENT">Grundfunktionen: nicht löschen</field></block><block type="basic_main_loop" id=":60|XHi7ftdu2x$67[jQ" deletable="false" x="-20" y="-440"><value name="BLINK"><block type="basic_blinkcode" id="4^aq{Y9|0}V[y#o!kCdZ"><field name="SHORT">1</field><field name="LONG">1</field></block></value><statement name="CODE"><block type="procedures_callnoreturn" id="(JLh-:qjbXCO4{~d7}Z3"><mutation name="Lese Messwerte aus dem Sensor"></mutation><next><block type="flow_delay" id=".inB5U=yK:^6GW(hxo1P"><value name="DELAY"><block type="math_number" id="dSA(U$l+m.OKgBKIntIg"><field name="NUM">500</field></block></value><next><block type="set_pixel_color" id="S5M8t=!ZA*nNeC#xIGiu"><field name="MODE">MODE2</field><value name="FROM"><block type="math_arithmetic" id="7R8|ZxS6b]I){O7F|5`l"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="^1?%#UJ#6#Pv_#^b7pUH"><field name="VAR" id="^P3YP+_F|]Z4sM`GL*k6">Temperatur in °C</field></block></value><value name="B"><block type="math_number" id="]i^`cX=5Bwbo#ns}f#qm"><field name="NUM">1</field></block></value></block></value><value name="TO"><block type="math_number" id="ExGK+?8z2qS}9nOikl$y"><field name="NUM">1</field></block></value><value name="H"><block type="math_number" id="]Ol..jKq/.pJFaZ-MF[D"><field name="NUM">120</field></block></value><value name="S"><block type="math_number" id="5n-[K`fn{*quP{-/#%w0"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="Z:5Fp=ftJdtF9AXIv89l"><field name="NUM">100</field></block></value><next><block type="set_pixel_color" id="x],ecZYb1]Q}XkN_cUa,"><field name="MODE">MODE2</field><value name="FROM"><block type="math_arithmetic" id="H;XQYx~sewpiF!%xWyA9"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="nmG3(g*;ETvr}Rk.PL=G"><field name="VAR" id="L6~(v:M{{r3:TItG/G/j">Feuchte in %</field></block></value><value name="B"><block type="math_number" id="OhFy0/HZgX?*Hq_+`8o!"><field name="NUM">0.72</field></block></value></block></value><value name="TO"><block type="math_number" id="E|V/x8+|W?Dt$T3{L5B3"><field name="NUM">1</field></block></value><value name="H"><block type="math_number" id="-k]8Zq%Pv_;j4VvZ$EVU"><field name="NUM">225</field></block></value><value name="S"><block type="math_number" id="3iC%}{2ZRWbViQVgt`}H"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="s3tZ68rpt4JdV`Aiy*e."><field name="NUM">100</field></block></value><next><block type="set_pixel_color" id="6So3o6gmvil3BTxqlx%W"><field name="MODE">MODE2</field><value name="FROM"><block type="math_arithmetic" id="-B,g82n}v*M|1=n;*NT0"><field name="OP">MINUS</field><value name="A"><block type="math_arithmetic" id="h)6dwCwZn)K*Rf.b1[Us"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="tilD}%1PQKx{ugJT-kjO"><field name="VAR" id="yRvAz]@{j^`=l`.K3cwA">Luftdruck in hPa</field></block></value><value name="B"><block type="math_number" id="TSxiRr1j8$lc(saMDHD."><field name="NUM">1</field></block></value></block></value><value name="B"><block type="math_number" id="yr~?DN2.|#?FWHM,[)p1"><field name="NUM">970</field></block></value></block></value><value name="TO"><block type="math_number" id="Z/b)`$CRyLSwc^cPKEfX"><field name="NUM">1</field></block></value><value name="H"><block type="math_number" id="9=S(/uOc0]=c[x9pq2rK"><field name="NUM">310</field></block></value><value name="S"><block type="math_number" id="7xL-6;H^,~LYxx:^hgnQ"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="(b0w6PR3mIDS.2`tN^#p"><field name="NUM">100</field></block></value><next><block type="fast_led" id="BcAkA$?])~6)Sy0VVurY"><next><block type="fast_led_clear" id="_zbl2H95If6cM}~]B%bB"></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="basic_comment" id="O+6!=0^XDZ^8xz~!{ht)" collapsed="true" x="-916" y="-369"><field name="COMMENT">Info zur Library:       https://github.com/Erriez/ErriezBMX280&amp;#10;Datenblatt BME280:  https://github.com/Erriez/ErriezBMX280/raw/master/extras/BME280_datasheet.pdf</field></block><block type="basic_comment" id="ZpmoQ5AS3R*e_FY(LL7[" x="-284" y="-376"><field name="COMMENT">Lese die Werte nur jede halbe Sekunde</field></block><block type="code_declaration" id="xnRAG*|Ca-CXN8*MNu~K" collapsed="true" x="-915" y="-325"><field name="CODE_DECLRATION">#include &lt;Wire.h&gt;&amp;#10;#include &lt;ErriezBMX280.h&gt;&amp;#10;&amp;#10;ErriezBMX280 bmx280 = ErriezBMX280(0x76);</field></block><block type="basic_comment" id="O%4IPX)86{,Wv2H-(Gis" x="-288" y="-328"><field name="COMMENT">Pixelnummer entspricht der Temperatur</field></block><block type="expert_setup" id="$@+^$6/}Cj1|StEyOvPQ" collapsed="true" x="-916" y="-278"><statement name="CODE"><block type="code_input" id="nu?z9)K[8CUT(HXn)/?|"><field name="CODE_INPUT">Wire.begin();</field><next><block type="code_input" id="yLG3)YpqNWvAbY0+Y2r|"><field name="CODE_INPUT">bmx280.begin();&amp;#10;&amp;#10;bmx280.setSampling(BMX280_MODE_NORMAL,    // SLEEP, FORCED, NORMAL&amp;#10;     BMX280_SAMPLING_X1,   // Temp:  NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Press: NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Hum:   NONE, X1, X2, X4, X8, X16 (BME280)&amp;#10;     BMX280_FILTER_OFF,     // OFF, X2, X4, X8, X16&amp;#10;     BMX280_STANDBY_MS_1000);// 0_5, 10, 20, 62_5, 125, 250, 500, 1000&amp;#10;</field></block></next></block></statement></block><block type="basic_comment" id="ci:~iNizP(Zu`froJE%?" x="-239" y="-278"><field name="COMMENT">Pixel 1 = 0%,  Pixel 72 = 100%</field></block><block type="basic_comment" id="H(|spNs=ofQ3_eG)F/}G" collapsed="true" x="-915" y="-201"><field name="COMMENT">Kalibriere die Messung, indem du einen Korrekturwert eingibst:&amp;#10;&gt; suche in Google eine Wetterstation in deiner Nähe&amp;#10;&gt; nutze eine Barometer App mit deinem Smartphone (nur teure Versionen)&amp;#10;&gt; verwende ein präzises Thermometer</field></block><block type="basic_comment" id="EEX_o]E[u2HGk{8gK99W" x="-281" y="-220"><field name="COMMENT">Pixel 1 = 970 hPa, Pixel 72 = 1042 hPa</field></block><block type="procedures_defnoreturn" id="igkSzOuk-xKLOf:ItGfm" collapsed="true" x="-916" y="-157"><field name="NAME">Lese Messwerte aus dem Sensor</field><statement name="STACK"><block type="variables_set" id="9hY+HjfaMxFfI(!N.EQ)"><field name="VAR" id="^P3YP+_F|]Z4sM`GL*k6">Temperatur in °C</field><value name="VALUE"><block type="math_arithmetic" id="S-;Q#2gzwVFgdBz]),xs"><field name="OP">MINUS</field><value name="A"><block type="code_pin" id="v{.krVs)k%ZI=W0Wio6w"><field name="CODE_PIN">bmx280.readTemperature()</field></block></value><value name="B"><block type="math_number" id="{(!PE@Q%=p%{ZJJQ`dba"><field name="NUM">2.1</field></block></value></block></value><next><block type="variables_set" id="(uO2(ik?$80JvRNu}Ay/"><field name="VAR" id="L6~(v:M{{r3:TItG/G/j">Feuchte in %</field><value name="VALUE"><block type="math_arithmetic" id="rdL]y`q5gzfojp8PR^vu"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="TBZ+$_j6hmG0YwJq$#*9"><field name="CODE_PIN">bmx280.readHumidity()</field></block></value><value name="B"><block type="math_number" id=")4TMb8-j+NG{-@|Jy(MA"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="Uop,yOd$IgvV@4ubDcU#"><field name="VAR" id="yRvAz]@{j^`=l`.K3cwA">Luftdruck in hPa</field><value name="VALUE"><block type="math_arithmetic" id="aravOYyc|v*z#ZN^c^,;"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="oJDr5Stym3=~u47#yD0g"><field name="CODE_PIN">bmx280.readPressure()/100</field></block></value><value name="B"><block type="math_number" id="Z4P8M*S7RhXQmD*8n]G:"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></statement></block><block type="basic_comment" id="%d2C0wnReINobli}S=yM" x="-273" y="-175"><field name="COMMENT">Zeige die Werte auf dem Pixelstreifen</field></block></xml>
5

Wetter-Icon gestalten und mit einer MATRIX anzeigen

Mit einer MATRIX steht dir ein Pixel-Raster von 4×4 Pixeln zur Verfügung. Wenn du sie brauchst, um einfach erkennbare Icons für das Wetter zu zeigen, dann ist es, als ob du kleine Screens programmieren würdest. Wie cool! Spiele damit, indem du den MATRIX-DESIGNER verwendest.

An die Cracks unter euch oder die es werden wollen: kannst du auch eine Veränderung (ein Trend) des Luftdrucks mit Icons darstellen? Denn damit kannst du leicht eine Wettervorhersage machen. Schaue dir dies einmal an ↗.

Wetter mit Matrix anzeigen

Challenge:

Challenge: XML-Code in Editor einfügen
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</variable><variable id="w*31~?|+c#PT^JI#`;G1">Farbe°</variable><variable id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</variable><variable id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</variable><variable id="/qKL*;/x!%R,!Ovhh3ZU">1</variable><variable id="_TR;_OGyXAX;pZu;tDJf">2</variable><variable id="X8=}?3D]2x5*$N3/w!,k">3</variable><variable id="QE/jr0[0w5lKSW{oYgNL">4</variable><variable id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</variable><variable id="?K7eWV.aphZ(1PnR%k@g">FV°</variable><variable id="/0y_uI4Jv4bU)cSDh7)J">FH°</variable><variable id="-f{zBV=w=olsvW#/PEGZ">HV%</variable><variable id="Gegiis%pZIy4H8~8b)IO">HH%</variable><variable id="/Z^p0DyZuhPN?*}Yx]}W">Feuchte in %</variable><variable id="}jj;X_WVyXrfcLn9/+3~">Luftdruck in hPa</variable><variable id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</variable><variable id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</variable><variable id="#bI4ov(rS`RxMd$x~mRD">BitNummer</variable><variable id="l9Ei[B]UF0YL`FcrA^#|">Bit</variable></variables><block type="basic_comment" id="5X]|a^.WwR,P~/FMKj|U" x="239" y="-744"><field name="COMMENT">MATRIX-Muster bei verschiedenen Temperaturen</field></block><block type="basic_comment" id="0sexmlUaou8F;B/Jx)Vg" x="236" y="-686"><field name="COMMENT">Sensorwerte mit Pixeln anzeigen&amp;#10;****************************&amp;#10;1. Schliesse das Arduino über USB an deinen PC/Mac an und öffne die offizielle Arduino IDE&amp;#10;2. Mache folgende Einstellungen in der IDE:&amp;#10;    &gt; Board: Ardiono Nano&amp;#10;    &gt; Processor: ATmega328P&amp;#10;    &gt; Port: COM XY (da wo du den Arduino angeschlossen hast - ev. im Geräte Manager nachschauen)&amp;#10;3. Installiere diese Libraries:&amp;#10;    &gt; Wire.h (direkt aus Library Manager)&amp;#10;    &gt; ErriezBMX280 Ab Github über Google - bei CODE auf DOWNLOAD ZIP gehen.&amp;#10;       Dann in der Arduino IDE: SKETCH &gt; INCLUDE LIBRARY &gt; ADD A .ZIP LIBRARY&amp;#10;4. Wenn du mit der Teacher's Box arbeitest, sind alle Installationen schon gemacht 😊.&amp;#10;&amp;#10;Dieses Beispiel ist auf einen Neopixel-Stripe mit 72 Pixeln ausgelegt. Ändere das, nach Bedarf.</field></block><block type="basic_comment" id="d.,EUDzoljH;-*EB$87(" x="231" y="-358"><field name="COMMENT">Info zur Library:       https://github.com/Erriez/ErriezBMX280&amp;#10;Datenblatt BME280:  https://github.com/Erriez/ErriezBMX280/raw/master/extras/BME280_datasheet.pdf</field></block><block type="basic_comment" id="9ZF*g[_C]{MWii;muwUJ" x="-290" y="-234"><field name="COMMENT">Unterprogramme für den Wettersensor</field></block><block type="set_neo_pixel" id="bmw]#GEj(a2!6OWUx@(|" x="230" y="-257"><value name="NUM_LEDS"><block type="math_number" id=":`o#0|wMGz{4ui13Z!i["><field name="NUM">16</field></block></value><value name="BRIGHTNESS"><block type="math_number" id="?oeGzA+Ap#NUC{QOvgU("><field name="NUM">100</field></block></value><value name="OUTTURN"><block type="led_pin" id="@0xE:ifIn0bNeU*TR*/y"><field name="LED">LED1</field></block></value></block><block type="basic_main_loop" id="oh{4)]E/c6ZnlvMJU:hx" deletable="false" x="224" y="-163"><value name="BLINK"><block type="basic_blinkcode" id="30Q8]G`cyw:$0tmjHjkl"><field name="SHORT">1</field><field name="LONG">1</field></block></value></block><block type="code_declaration" id="2%h8#fxs~:bo*CS~AId(" collapsed="true" x="-245" y="-138"><field name="CODE_DECLRATION">#include &lt;Wire.h&gt;&amp;#10;#include &lt;ErriezBMX280.h&gt;&amp;#10;&amp;#10;ErriezBMX280 bmx280 = ErriezBMX280(0x76);</field></block><block type="expert_setup" id="fCgA.u@W5hv=t7p#=q=9" collapsed="true" x="-248" y="-88"><statement name="CODE"><block type="code_input" id="0Wi{~x^-yYU;a?D@.#%8"><field name="CODE_INPUT">Wire.begin();</field><next><block type="code_input" id="b@/(Ruq9P,VEhBQi[2~="><field name="CODE_INPUT">bmx280.begin();&amp;#10;&amp;#10;bmx280.setSampling(BMX280_MODE_NORMAL,    // SLEEP, FORCED, NORMAL&amp;#10;     BMX280_SAMPLING_X1,   // Temp:  NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Press: NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Hum:   NONE, X1, X2, X4, X8, X16 (BME280)&amp;#10;     BMX280_FILTER_OFF,     // OFF, X2, X4, X8, X16&amp;#10;     BMX280_STANDBY_MS_1000);// 0_5, 10, 20, 62_5, 125, 250, 500, 1000&amp;#10;</field></block></next></block></statement></block><block type="basic_comment" id=":RyfF%5p@4$4D_1_49p;" collapsed="true" x="-246" y="-41"><field name="COMMENT">Kalibriere die Messung, indem du einen Korrekturwert eingibst:&amp;#10;&gt; suche in Google eine Wetterstation in deiner Nähe&amp;#10;&gt; nutze eine Barometer App mit deinem Smartphone (nur teure Versionen)&amp;#10;&gt; verwende ein präzises Thermometer</field></block><block type="basic_comment" id="{vf1dr^yG5H9)dTEY+pI" x="227" y="-56"><field name="COMMENT">Lese die Messwerte jede halbe Sekunde</field></block><block type="procedures_defnoreturn" id="u#vEaseOUs2-;F]PCh,:" collapsed="true" x="-246" y="7"><field name="NAME">Lese Messwerte aus dem Sensor</field><statement name="STACK"><block type="variables_set" id="n72X_|pZi[xIO1W/-E$V"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</field><value name="VALUE"><block type="math_arithmetic" id="umzUox1,pAcubq-mJY:7"><field name="OP">MINUS</field><value name="A"><block type="code_pin" id="CDTZK#yFc0Vxp@?@jI7-"><field name="CODE_PIN">bmx280.readTemperature()</field></block></value><value name="B"><block type="math_number" id="bR#P8SpV/tg}es?6}gH{"><field name="NUM">2.1</field></block></value></block></value><next><block type="variables_set" id=":CCaUdo-an2@HEh7+~%u"><field name="VAR" id="/Z^p0DyZuhPN?*}Yx]}W">Feuchte in %</field><value name="VALUE"><block type="math_arithmetic" id="hSDoK!@@Tb_;^}OaL$)J"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="6=7ST;k#S5Pi?j^2|Ol~"><field name="CODE_PIN">bmx280.readHumidity()</field></block></value><value name="B"><block type="math_number" id="h.`dbyTR$X/Xf)F#L*}*"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="*2HcWLe-@gRHxnnZ])zF"><field name="VAR" id="}jj;X_WVyXrfcLn9/+3~">Luftdruck in hPa</field><value name="VALUE"><block type="math_arithmetic" id="/9i0A6rAfr@wI;_X|cZM"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="FR_?^Q=~n4I_I^6D]zu;"><field name="CODE_PIN">bmx280.readPressure()/100</field></block></value><value name="B"><block type="math_number" id="s3d)@kYCV~j!6Y,:~5k7"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></statement></block><block type="procedures_callnoreturn" id="CF(4A)~ymUdj.^c.WqU0" x="226" y="5"><mutation name="Lese Messwerte aus dem Sensor"></mutation><next><block type="flow_delay" id="L#Kqo4-onhP]^l5[Q*Yl"><value name="DELAY"><block type="math_number" id="9b2TUx.|e(kS`xBWO!_G"><field name="NUM">500</field></block></value></block></next></block><block type="basic_comment" id="4PGL{$u_nC$3;Tz!5TQx" x="-284" y="58"><field name="COMMENT">Unterprogramme für die MATRIX</field></block><block type="procedures_defnoreturn" id="?SfC3CIs`::YLgrXY^Z5" collapsed="true" x="-248" y="107"><mutation><arg name="Dezimalcode" varid="n/_%;f5mNS1Ev%_YDewY"></arg><arg name="Farbe°" varid="w*31~?|+c#PT^JI#`;G1"></arg><arg name="Sättigung %" varid=".+_,gCEH:Q9W:j!A62*0"></arg><arg name="Helligkeit %" varid="Kd8KnJ-r3g|d~PHtEiY6"></arg></mutation><field name="NAME">Leuchte Matrix</field><statement name="STACK"><block type="variables_set" id="(L(So~,eCHHb_b/3OX9A"><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="variables_get" id="!Kfm|d)H,cKeirrOZ+M5"><field name="VAR" id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</field></block></value><next><block type="flow_for" id="8?gOhI~8@8u4l^87u-Yr"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field><value name="FROM"><block type="math_number" id="(lCd}5y!ju,P8^BmhS];"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="@BS3]9]:}F|AC@=W]XW("><field name="NUM">16</field></block></value><value name="BY"><block type="math_number" id="gaY?_yHrFkqYJ~lm[F@^"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="/zOT=$D`MV0}qc`z#j$^"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field><value name="VALUE"><block type="math_single_basic" id="TP9!}zlsxKQsbZ!oJfb|"><field name="OP">ABS</field><value name="NUM"><block type="math_div" id="p%{):;Y_9HK7#H|u.tPf"><value name="VAL1"><block type="code_pin" id="{E^Qk`#Tn,9B}:Q[yYhm"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="VAL2"><block type="math_number" id="0NE.v8P$h11vxZ!:OlN7"><field name="NUM">2</field></block></value></block></value></block></value><next><block type="logic_if" id="t2rZ?)EmqvWv.,w1~/e|"><value name="IF0"><block type="logic_compare" id="~)%.^y+KcD3LZC,rL[sO"><field name="OP">EQ</field><value name="A"><block type="variables_get" id=".=d+C=|eRc0R/$Oh|)o`"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="math_number" id="hk?`,Q#+kGHuwwG[,JwL"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="set_pixel_color" id="$#4sOy_I,5(dy=m(cOkm"><field name="MODE">MODE2</field><value name="FROM"><block type="variables_get" id="Uhhtqh~65_iF]Lk~*.a4"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field></block></value><value name="TO"><block type="math_number" id="sT4oR}=Ce3%o#W@wp-+S"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="nyVW[L}EH:~SZZ-_DYt9"><field name="VAR" id="w*31~?|+c#PT^JI#`;G1">Farbe°</field></block></value><value name="S"><block type="variables_get" id="TGJh[{uS|xh;sEm[,}X|"><field name="VAR" id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</field></block></value><value name="B"><block type="math_arithmetic" id="!C_I~h|0MZ[+Ucm[nc1y"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="T9vL:6K=*LM^L~I3Uypk"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="variables_get" id="C5Lm0ef,_eshom*;2qot"><field name="VAR" id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</field></block></value></block></value></block></statement><next><block type="variables_set" id="rGU1,%!=xQb.)$8CiLW["><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="math_arithmetic" id="uqLLj.dio)oPT}s6!,DE"><field name="OP">DIVIDE</field><value name="A"><block type="code_pin" id="{~?eq1#)+JA~IgcB(GP,"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="B"><block type="math_number" id="C=5L@PiuLJNsS1}*H#X$"><field name="NUM">2</field></block></value></block></value></block></next></block></next></block></statement><next><block type="fast_led" id="C!],#6%q_KagyLso%TZg"><next><block type="fast_led_clear" id="gCE0[S7l.=s;~RHk:oqI"><next><block type="code_input" id="`)?xI_O.mMs}vJF/s)tR"><field name="CODE_INPUT">// Lerne hier, wie eine Dezimalzahl in eine Binärzahl umgewandelt wird&amp;#10;// https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10</field></block></next></block></next></block></next></block></next></block></statement></block><block type="basic_comment" id="@[x}vLl?|u?TPlv4f[?l" x="228" y="113"><field name="COMMENT">↓ Klicke auf diesen schwarzen Punkt, um noch weitere "sonst wenn" einzufügen</field></block><block type="procedures_defnoreturn" id="6$rp,+Y.vfTX,NaHq+.W" collapsed="true" x="-248" y="153"><mutation><arg name="Dezimalcode" varid="n/_%;f5mNS1Ev%_YDewY"></arg><arg name="Farbe°" varid="w*31~?|+c#PT^JI#`;G1"></arg><arg name="Sättigung %" varid=".+_,gCEH:Q9W:j!A62*0"></arg><arg name="Helligkeit %" varid="Kd8KnJ-r3g|d~PHtEiY6"></arg></mutation><field name="NAME">Speichere Matrix in Zwischenspeicher</field><statement name="STACK"><block type="variables_set" id="?y9oNjpri~$yFa.J=6V."><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="variables_get" id="x6:e40=EZIwLaz4j{bd#"><field name="VAR" id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</field></block></value><next><block type="flow_for" id="?V(xw|0x7|u5ugnh*s/|"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field><value name="FROM"><block type="math_number" id="cncBR0?btec@:KJ:J8l9"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="bA~okUtsmIZI]|*Eh15-"><field name="NUM">16</field></block></value><value name="BY"><block type="math_number" id="wV^}.ppGh/7M1fqy$r]T"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="3ATJ_3KO_h%R=t@YDDyq"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field><value name="VALUE"><block type="math_single_basic" id="MDsryqn5_G4:t`yV18A-"><field name="OP">ABS</field><value name="NUM"><block type="math_div" id="x^He%ACOq*%$E%`YuGFJ"><value name="VAL1"><block type="code_pin" id="5G1xdVEvlr32BBIaye}j"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="VAL2"><block type="math_number" id="1B%746*%s`Q_qmQE-C/="><field name="NUM">2</field></block></value></block></value></block></value><next><block type="logic_if" id=":P/w(_K{o`6=Dl2%)7(y"><value name="IF0"><block type="logic_compare" id="RLj5tF+%[!FB#_+sYF8T"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="q,;9W%/=nlIc1hf=%Fj_"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="math_number" id="d9cn7z]yT$0j1bBp{C+n"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="set_pixel_color" id="_rdMpDld(l/zu([)T`mx"><field name="MODE">MODE2</field><value name="FROM"><block type="variables_get" id="j$(f@c3fQ:fQB83P[T[7"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field></block></value><value name="TO"><block type="math_number" id="$a$rKyRV$:l6*jDGvTBp"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="-VQY^!jWts!3a@3o5K:#"><field name="VAR" id="w*31~?|+c#PT^JI#`;G1">Farbe°</field></block></value><value name="S"><block type="variables_get" id="|yp|}`:Sp,FSGqV2n1G6"><field name="VAR" id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</field></block></value><value name="B"><block type="math_arithmetic" id="4:Vf_aRv4etcKB{44A=%"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="mZIPfzAybt@pcXh_(hDs"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="variables_get" id="m@?RWh(,1jC`KhWo#?+n"><field name="VAR" id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</field></block></value></block></value></block></statement><next><block type="variables_set" id="~_$ic0xVH^s]_/ty}jzx"><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="math_arithmetic" id="/p7$23-jN|$TOOZI)TB2"><field name="OP">DIVIDE</field><value name="A"><block type="code_pin" id="`Tx{7HeJxiGSj7p{Nwus"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="B"><block type="math_number" id="ulPf1p.p,K9.3*/{oWU0"><field name="NUM">2</field></block></value></block></value></block></next></block></next></block></statement><next><block type="code_input" id="_02ed-P{`s:iOb5A0^qD"><field name="CODE_INPUT">// Lerne hier, wie eine Dezimalzahl in eine Binärzahl umgewandelt wird&amp;#10;// https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10</field></block></next></block></next></block></statement></block><block type="logic_if" id="JyL2K:WPnhrPG8dePYI0" x="230" y="162"><mutation xmlns="http://www.w3.org/1999/xhtml" elseif="2"></mutation><value name="IF0"><block type="logic_compare" id="iCndRA69Ws,X?o1yHiEn"><field name="OP">GTE</field><value name="A"><block type="variables_get" id="iw|PM)tevC[0$=+vj6,2"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</field></block></value><value name="B"><block type="math_number" id="-eSG%}P*.8m;p^oE~%v7"><field name="NUM">23</field></block></value></block></value><value name="IF1"><block type="logic_compare" id="DJgbc{BWEjQp#!WRUpIm"><field name="OP">GTE</field><value name="A"><block type="variables_get" id="W~-2zU^k/MQS;aF?-q7L"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</field></block></value><value name="B"><block type="math_number" id="}aYx(KDT#)g`dq=o@Vo%"><field name="NUM">20</field></block></value></block></value></block><block type="procedures_defnoreturn" id="2~?vi.;+.rR/Lo^Ss;oc" collapsed="true" x="-246" y="208"><mutation><arg name="1" varid="/qKL*;/x!%R,!Ovhh3ZU"></arg><arg name="2" varid="_TR;_OGyXAX;pZu;tDJf"></arg><arg name="3" varid="X8=}?3D]2x5*$N3/w!,k"></arg><arg name="4" varid="QE/jr0[0w5lKSW{oYgNL"></arg><arg name="Pause ms" varid="ATZ]^Dr%JzgVl(W,w9RE"></arg><arg name="FV°" varid="?K7eWV.aphZ(1PnR%k@g"></arg><arg name="FH°" varid="/0y_uI4Jv4bU)cSDh7)J"></arg><arg name="HV%" varid="-f{zBV=w=olsvW#/PEGZ"></arg><arg name="HH%" varid="Gegiis%pZIy4H8~8b)IO"></arg></mutation><field name="NAME">Leuchte Animation</field><statement name="STACK"><block type="set_pixel_color" id="j.T}l0y2IkJcjQ3X?8C("><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="4Z9YjZOk!3w([+b2OZJ2"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="n]{(sq0jRF1?|gQK+mTG"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id=".i[q0%-VK$`i)xZWzMG]"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="ju5Cl)(x5}L6H~JKnrt+"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="EN//9MUQIKn0-U5Ol=d%"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="x.[+RdA(*n-du0xqJ_0z"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="^vv;Rc7^BnaD2^]jLSo;"><field name="VAR" id="/qKL*;/x!%R,!Ovhh3ZU">1</field></block></value><value name="ARG1"><block type="variables_get" id="ey%ZNsrR$EQJ;FHT-UZ_"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="QA9sfiigN3o=XYJa:O?w"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="S1VOf|)Wb;pV|W8Q,MGK"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="KqWQH@K_n2jX+~IFerFc"><next><block type="logic_if" id="QU:XnpF[HS,SY7%+#!/%"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="*+Rj=qi|dw)ysh.-%C=,"><field name="OP">EQ</field><value name="A"><block type="variables_get" id=":Z_l?uc_C4ERn|M_,C#K"><field name="VAR" id="/qKL*;/x!%R,!Ovhh3ZU">1</field></block></value><value name="B"><block type="math_number" id="hC=$oCiLpG[ZsB@d53Y~"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="qCGcnIl)9V?Yvo,s%GY1"><value name="DELAY"><block type="variables_get" id="iWp-AxU;^+w_*ryrYvSZ"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="a#aJl5xEbHa3BpeX2g)Q"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="`kk7cin#bu4CV)9e]AY+"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="$ZbzfeX`KcK4@!g!0$~7"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="Jz!ck1ta,_8sTk;Zr(_^"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="`}q)jggpDy]St{EJ_9D."><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="]4,l%tvX!0,=CO{r1x*g"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="g,XT1axi%;TSyOzXeov("><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="$i.tqgFcz+/sHly=SJvZ"><field name="VAR" id="_TR;_OGyXAX;pZu;tDJf">2</field></block></value><value name="ARG1"><block type="variables_get" id="3Ct/_!.V=,*/EI!/D3pf"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="EB+Ga%c+RRj8%$Qn-v0m"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="^1yo-JZ%E{w-6luLgI@7"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id=":;5l]Wu@-D/LksS#`Qia"><next><block type="logic_if" id="|aNH!5]0B!@8ANO9-N3}"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="fN3kE`liSZ;5zY$5~t[%"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="tG=KnlUMGxIGgc/*P+{K"><field name="VAR" id="_TR;_OGyXAX;pZu;tDJf">2</field></block></value><value name="B"><block type="math_number" id="#FL9,9T[KC|JUPCe%xx."><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="!jtg/+qHMO.[7xDA,8%+"><value name="DELAY"><block type="variables_get" id="l2qsyAyJEls{YkA_Zs4P"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="AW7^3ZZgsSFt3H^%gCw^"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="u.87N3sZceOZi6E6!6pz"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="u|Ok^so8HySs0iNxxKs8"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="rX]+L^eeY/bXvpeOpd9p"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="YaqUu!CL^vzX9YtxEb+W"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="`AU;T$p.AsQMB3UB2g/q"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="HMev=9FHKyJ%14Y?{sO1"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="iG@=8@VDuzb*]`E,9cjQ"><field name="VAR" id="X8=}?3D]2x5*$N3/w!,k">3</field></block></value><value name="ARG1"><block type="variables_get" id="*`]^tzI$Pl^P@)uJI0mJ"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="]H=$ULoQ;5R}fnb%A9^#"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="KY}HkMO4D:t@61gAA%1="><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="@nT_WSlY`q^eIq[i5%NK"><next><block type="logic_if" id="{BK.V(g6w@9[rz=;RtIB"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="kC~=Qk%H~08xetx!Tr--"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="}t/:mj0Wr(.=LcP/1IkV"><field name="VAR" id="X8=}?3D]2x5*$N3/w!,k">3</field></block></value><value name="B"><block type="math_number" id="QT-_o;{h!YSnLvFca^|V"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="|yY^F2gUhdbS,x?AzHoR"><value name="DELAY"><block type="variables_get" id="[K[}3DqWVb}NeTmbg|2%"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="DaXXVX#N}LW@jg)p;zzz"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id=";/5m8-DhHUg2~31ng!R?"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id=":6Tq.6Y%)XdxA[uGSzg:"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="M,Z2Q/M4;kU}+V@1BDGU"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="54uu6y~0-sssfuJb2x`o"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="]XL`aWJig?8HW[1WbO1u"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="kq~Kq(gIbM!X*@VxG)wH"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="4sV4kZ+gjLCo5UJSb3r("><field name="VAR" id="QE/jr0[0w5lKSW{oYgNL">4</field></block></value><value name="ARG1"><block type="variables_get" id="ZEbb@GVtW27T];{Xb-nK"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="Y=~4{=%(=mXBNN1hD^MV"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="V!qCf+K^9.c.Nra)3:Ct"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="SH+foN.vEP*zWfzH4P*A"><next><block type="logic_if" id="a*S`R)G$?knkPgcQ`|sM"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="x?GvH?5o^]mZ,~^H(|VP"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="niTuT0N}Q_3.)82e#)#N"><field name="VAR" id="QE/jr0[0w5lKSW{oYgNL">4</field></block></value><value name="B"><block type="math_number" id="8gnM8Ss9ZnZ37t7%mC$4"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="8!@WHQC^[-gKehLdzD$q"><value name="DELAY"><block type="variables_get" id="8y^38y+WpV8Ug{_Wjm0u"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="basic_comment" id="b8vh-tW(-q-jWHm_#UPk" x="-278" y="273"><field name="COMMENT">Variablen für Feuchte und Luftdruck zum einsetzen</field></block><block type="variables_get" id="YwWv;mozBg#o;*l}F04J" x="-251" y="327"><field name="VAR" id="/Z^p0DyZuhPN?*}Yx]}W">Feuchte in %</field></block><block type="variables_get" id="mXD9laMus$f077)wuXSr" x="-251" y="378"><field name="VAR" id="}jj;X_WVyXrfcLn9/+3~">Luftdruck in hPa</field></block><block type="basic_comment" id=",8?o%qj5(56_YW?7h7Ib" x="475" y="374"><field name="COMMENT">↓ Gebe ein MATRIX-Muster ein, indem du den Dezimalcode hier herausfindest: PGLU.CH &gt; TTG-Projekt &gt; MATRIX-Designer</field></block><block type="procedures_callnoreturn" id="|D7Q%!P]H0]FsT.8:pYa" x="230" y="418"><mutation name="Leuchte Matrix"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="math_number" id="Pau%qs!l5IV$?$.O+bE_"><field name="NUM">38505</field></block></value><value name="ARG1"><block type="math_number" id="vSqt,LVFZ^#Cq6Sg!5-e"><field name="NUM">20</field></block></value><value name="ARG2"><block type="math_number" id="6[-BIsVr:iDg}gQ(pS?)"><field name="NUM">100</field></block></value><value name="ARG3"><block type="math_number" id="q|H8MlNFnIE}1hM%E=OE"><field name="NUM">100</field></block></value></block><block type="procedures_callnoreturn" id="-/@_1|APsH;[i!fI~8{~" x="232" y="500"><mutation name="Leuchte Matrix"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="math_number" id="]V0|^4|1*Z$Ved@j7;nv"><field name="NUM">27030</field></block></value><value name="ARG1"><block type="math_number" id="v4?]P#v!m!5(;KA7+Oe{"><field name="NUM">225</field></block></value><value name="ARG2"><block type="math_number" id="UNb1k=V-Iq.68hO3qh[b"><field name="NUM">100</field></block></value><value name="ARG3"><block type="math_number" id="C0e!T/y2cE!r|,13HL*9"><field name="NUM">100</field></block></value></block></xml>

Mögliche Lösung

Lösung: XML-Code in Editor einfügen
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</variable><variable id="w*31~?|+c#PT^JI#`;G1">Farbe°</variable><variable id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</variable><variable id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</variable><variable id="/qKL*;/x!%R,!Ovhh3ZU">1</variable><variable id="_TR;_OGyXAX;pZu;tDJf">2</variable><variable id="X8=}?3D]2x5*$N3/w!,k">3</variable><variable id="QE/jr0[0w5lKSW{oYgNL">4</variable><variable id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</variable><variable id="?K7eWV.aphZ(1PnR%k@g">FV°</variable><variable id="/0y_uI4Jv4bU)cSDh7)J">FH°</variable><variable id="-f{zBV=w=olsvW#/PEGZ">HV%</variable><variable id="Gegiis%pZIy4H8~8b)IO">HH%</variable><variable id="/Z^p0DyZuhPN?*}Yx]}W">Feuchte in %</variable><variable id="}jj;X_WVyXrfcLn9/+3~">Luftdruck in hPa</variable><variable id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</variable><variable id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</variable><variable id="#bI4ov(rS`RxMd$x~mRD">BitNummer</variable><variable id="l9Ei[B]UF0YL`FcrA^#|">Bit</variable></variables><block type="basic_comment" id="5X]|a^.WwR,P~/FMKj|U" x="235" y="-686"><field name="COMMENT">MATRIX-Muster bei verschiedenen Temperaturen</field></block><block type="basic_comment" id="898xP~;wFNhe}OUml*Dh" x="229" y="-634"><field name="COMMENT">Sensorwerte mit Pixeln anzeigen&amp;#10;****************************&amp;#10;1. Schliesse das Arduino über USB an deinen PC/Mac an und öffne die offizielle Arduino IDE&amp;#10;2. Mache folgende Einstellungen in der IDE:&amp;#10;    &gt; Board: Ardiono Nano&amp;#10;    &gt; Processor: ATmega328P&amp;#10;    &gt; Port: COM XY (da wo du den Arduino angeschlossen hast - ev. im Geräte Manager nachschauen)&amp;#10;3. Installiere diese Libraries:&amp;#10;    &gt; Wire.h (direkt aus Library Manager)&amp;#10;    &gt; ErriezBMX280 Ab Github über Google - bei CODE auf DOWNLOAD ZIP gehen.&amp;#10;       Dann in der Arduino IDE: SKETCH &gt; INCLUDE LIBRARY &gt; ADD A .ZIP LIBRARY&amp;#10;4. Wenn du mit der Teacher's Box arbeitest, sind alle Installationen schon gemacht 😊.&amp;#10;&amp;#10;Dieses Beispiel ist auf einen Neopixel-Stripe mit 72 Pixeln ausgelegt. Ändere das, nach Bedarf.</field></block><block type="basic_comment" id="9ZF*g[_C]{MWii;muwUJ" x="-290" y="-234"><field name="COMMENT">Unterprogramme für den Wettersensor</field></block><block type="set_neo_pixel" id="bmw]#GEj(a2!6OWUx@(|" x="230" y="-257"><value name="NUM_LEDS"><block type="math_number" id=":`o#0|wMGz{4ui13Z!i["><field name="NUM">16</field></block></value><value name="BRIGHTNESS"><block type="math_number" id="?oeGzA+Ap#NUC{QOvgU("><field name="NUM">100</field></block></value><value name="OUTTURN"><block type="led_pin" id="@0xE:ifIn0bNeU*TR*/y"><field name="LED">LED1</field></block></value></block><block type="basic_comment" id="d.,EUDzoljH;-*EB$87(" collapsed="true" x="-246" y="-188"><field name="COMMENT">Info zur Library:       https://github.com/Erriez/ErriezBMX280&amp;#10;Datenblatt BME280:  https://github.com/Erriez/ErriezBMX280/raw/master/extras/BME280_datasheet.pdf</field></block><block type="basic_main_loop" id="oh{4)]E/c6ZnlvMJU:hx" deletable="false" x="224" y="-163"><value name="BLINK"><block type="basic_blinkcode" id="30Q8]G`cyw:$0tmjHjkl"><field name="SHORT">1</field><field name="LONG">1</field></block></value><statement name="CODE"><block type="procedures_callnoreturn" id="CF(4A)~ymUdj.^c.WqU0"><mutation name="Lese Messwerte aus dem Sensor"></mutation><next><block type="flow_delay" id="L#Kqo4-onhP]^l5[Q*Yl"><value name="DELAY"><block type="math_number" id="9b2TUx.|e(kS`xBWO!_G"><field name="NUM">500</field></block></value><next><block type="logic_if" id="JyL2K:WPnhrPG8dePYI0"><mutation xmlns="http://www.w3.org/1999/xhtml" elseif="1"></mutation><value name="IF0"><block type="logic_compare" id="iCndRA69Ws,X?o1yHiEn"><field name="OP">GTE</field><value name="A"><block type="variables_get" id="iw|PM)tevC[0$=+vj6,2"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</field></block></value><value name="B"><block type="math_number" id="-eSG%}P*.8m;p^oE~%v7"><field name="NUM">23</field></block></value></block></value><statement name="DO0"><block type="procedures_callnoreturn" id="|D7Q%!P]H0]FsT.8:pYa"><mutation name="Leuchte Matrix"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="math_number" id="Pau%qs!l5IV$?$.O+bE_"><field name="NUM">38505</field></block></value><value name="ARG1"><block type="math_number" id="vSqt,LVFZ^#Cq6Sg!5-e"><field name="NUM">20</field></block></value><value name="ARG2"><block type="math_number" id="6[-BIsVr:iDg}gQ(pS?)"><field name="NUM">100</field></block></value><value name="ARG3"><block type="math_number" id="q|H8MlNFnIE}1hM%E=OE"><field name="NUM">100</field></block></value></block></statement><value name="IF1"><block type="logic_compare" id="DJgbc{BWEjQp#!WRUpIm"><field name="OP">GTE</field><value name="A"><block type="variables_get" id="W~-2zU^k/MQS;aF?-q7L"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</field></block></value><value name="B"><block type="math_number" id="}aYx(KDT#)g`dq=o@Vo%"><field name="NUM">20</field></block></value></block></value><statement name="DO1"><block type="procedures_callnoreturn" id="-/@_1|APsH;[i!fI~8{~"><mutation name="Leuchte Matrix"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="math_number" id="]V0|^4|1*Z$Ved@j7;nv"><field name="NUM">27030</field></block></value><value name="ARG1"><block type="math_number" id="v4?]P#v!m!5(;KA7+Oe{"><field name="NUM">225</field></block></value><value name="ARG2"><block type="math_number" id="UNb1k=V-Iq.68hO3qh[b"><field name="NUM">100</field></block></value><value name="ARG3"><block type="math_number" id="C0e!T/y2cE!r|,13HL*9"><field name="NUM">100</field></block></value></block></statement></block></next></block></next></block></statement></block><block type="code_declaration" id="2%h8#fxs~:bo*CS~AId(" collapsed="true" x="-245" y="-138"><field name="CODE_DECLRATION">#include &lt;Wire.h&gt;&amp;#10;#include &lt;ErriezBMX280.h&gt;&amp;#10;&amp;#10;ErriezBMX280 bmx280 = ErriezBMX280(0x76);</field></block><block type="expert_setup" id="fCgA.u@W5hv=t7p#=q=9" collapsed="true" x="-248" y="-88"><statement name="CODE"><block type="code_input" id="0Wi{~x^-yYU;a?D@.#%8"><field name="CODE_INPUT">Wire.begin();</field><next><block type="code_input" id="b@/(Ruq9P,VEhBQi[2~="><field name="CODE_INPUT">bmx280.begin();&amp;#10;&amp;#10;bmx280.setSampling(BMX280_MODE_NORMAL,    // SLEEP, FORCED, NORMAL&amp;#10;     BMX280_SAMPLING_X1,   // Temp:  NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Press: NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Hum:   NONE, X1, X2, X4, X8, X16 (BME280)&amp;#10;     BMX280_FILTER_OFF,     // OFF, X2, X4, X8, X16&amp;#10;     BMX280_STANDBY_MS_1000);// 0_5, 10, 20, 62_5, 125, 250, 500, 1000&amp;#10;</field></block></next></block></statement></block><block type="basic_comment" id="{vf1dr^yG5H9)dTEY+pI" x="496" y="-113"><field name="COMMENT">Lese die Messwerte jede halbe Sekunde</field></block><block type="basic_comment" id=":RyfF%5p@4$4D_1_49p;" collapsed="true" x="-246" y="-41"><field name="COMMENT">Kalibriere die Messung, indem du einen Korrekturwert eingibst:&amp;#10;&gt; suche in Google eine Wetterstation in deiner Nähe&amp;#10;&gt; nutze eine Barometer App mit deinem Smartphone (nur teure Versionen)&amp;#10;&gt; verwende ein präzises Thermometer</field></block><block type="basic_comment" id="d?N(QTQWm{#6m~N;ooV*" x="626" y="-61"><field name="COMMENT">← Klicke auf den schwarzen Punkt, um noch weitere "sonst wenn" anzufügen</field></block><block type="procedures_defnoreturn" id="u#vEaseOUs2-;F]PCh,:" collapsed="true" x="-246" y="7"><field name="NAME">Lese Messwerte aus dem Sensor</field><statement name="STACK"><block type="variables_set" id="n72X_|pZi[xIO1W/-E$V"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">Temperatur in °C</field><value name="VALUE"><block type="math_arithmetic" id="umzUox1,pAcubq-mJY:7"><field name="OP">MINUS</field><value name="A"><block type="code_pin" id="CDTZK#yFc0Vxp@?@jI7-"><field name="CODE_PIN">bmx280.readTemperature()</field></block></value><value name="B"><block type="math_number" id="bR#P8SpV/tg}es?6}gH{"><field name="NUM">2.1</field></block></value></block></value><next><block type="variables_set" id=":CCaUdo-an2@HEh7+~%u"><field name="VAR" id="/Z^p0DyZuhPN?*}Yx]}W">Feuchte in %</field><value name="VALUE"><block type="math_arithmetic" id="hSDoK!@@Tb_;^}OaL$)J"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="6=7ST;k#S5Pi?j^2|Ol~"><field name="CODE_PIN">bmx280.readHumidity()</field></block></value><value name="B"><block type="math_number" id="h.`dbyTR$X/Xf)F#L*}*"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="*2HcWLe-@gRHxnnZ])zF"><field name="VAR" id="}jj;X_WVyXrfcLn9/+3~">Luftdruck in hPa</field><value name="VALUE"><block type="math_arithmetic" id="/9i0A6rAfr@wI;_X|cZM"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="FR_?^Q=~n4I_I^6D]zu;"><field name="CODE_PIN">bmx280.readPressure()/100</field></block></value><value name="B"><block type="math_number" id="s3d)@kYCV~j!6Y,:~5k7"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></statement></block><block type="basic_comment" id="4PGL{$u_nC$3;Tz!5TQx" x="-284" y="58"><field name="COMMENT">Unterprogramme für die MATRIX</field></block><block type="procedures_defnoreturn" id="?SfC3CIs`::YLgrXY^Z5" collapsed="true" x="-248" y="107"><mutation><arg name="Dezimalcode" varid="n/_%;f5mNS1Ev%_YDewY"></arg><arg name="Farbe°" varid="w*31~?|+c#PT^JI#`;G1"></arg><arg name="Sättigung %" varid=".+_,gCEH:Q9W:j!A62*0"></arg><arg name="Helligkeit %" varid="Kd8KnJ-r3g|d~PHtEiY6"></arg></mutation><field name="NAME">Leuchte Matrix</field><statement name="STACK"><block type="variables_set" id="(L(So~,eCHHb_b/3OX9A"><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="variables_get" id="!Kfm|d)H,cKeirrOZ+M5"><field name="VAR" id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</field></block></value><next><block type="flow_for" id="8?gOhI~8@8u4l^87u-Yr"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field><value name="FROM"><block type="math_number" id="(lCd}5y!ju,P8^BmhS];"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="@BS3]9]:}F|AC@=W]XW("><field name="NUM">16</field></block></value><value name="BY"><block type="math_number" id="gaY?_yHrFkqYJ~lm[F@^"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="/zOT=$D`MV0}qc`z#j$^"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field><value name="VALUE"><block type="math_single_basic" id="TP9!}zlsxKQsbZ!oJfb|"><field name="OP">ABS</field><value name="NUM"><block type="math_div" id="p%{):;Y_9HK7#H|u.tPf"><value name="VAL1"><block type="code_pin" id="{E^Qk`#Tn,9B}:Q[yYhm"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="VAL2"><block type="math_number" id="0NE.v8P$h11vxZ!:OlN7"><field name="NUM">2</field></block></value></block></value></block></value><next><block type="logic_if" id="t2rZ?)EmqvWv.,w1~/e|"><value name="IF0"><block type="logic_compare" id="~)%.^y+KcD3LZC,rL[sO"><field name="OP">EQ</field><value name="A"><block type="variables_get" id=".=d+C=|eRc0R/$Oh|)o`"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="math_number" id="hk?`,Q#+kGHuwwG[,JwL"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="set_pixel_color" id="$#4sOy_I,5(dy=m(cOkm"><field name="MODE">MODE2</field><value name="FROM"><block type="variables_get" id="Uhhtqh~65_iF]Lk~*.a4"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field></block></value><value name="TO"><block type="math_number" id="sT4oR}=Ce3%o#W@wp-+S"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="nyVW[L}EH:~SZZ-_DYt9"><field name="VAR" id="w*31~?|+c#PT^JI#`;G1">Farbe°</field></block></value><value name="S"><block type="variables_get" id="TGJh[{uS|xh;sEm[,}X|"><field name="VAR" id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</field></block></value><value name="B"><block type="math_arithmetic" id="!C_I~h|0MZ[+Ucm[nc1y"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="T9vL:6K=*LM^L~I3Uypk"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="variables_get" id="C5Lm0ef,_eshom*;2qot"><field name="VAR" id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</field></block></value></block></value></block></statement><next><block type="variables_set" id="rGU1,%!=xQb.)$8CiLW["><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="math_arithmetic" id="uqLLj.dio)oPT}s6!,DE"><field name="OP">DIVIDE</field><value name="A"><block type="code_pin" id="{~?eq1#)+JA~IgcB(GP,"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="B"><block type="math_number" id="C=5L@PiuLJNsS1}*H#X$"><field name="NUM">2</field></block></value></block></value></block></next></block></next></block></statement><next><block type="fast_led" id="C!],#6%q_KagyLso%TZg"><next><block type="fast_led_clear" id="gCE0[S7l.=s;~RHk:oqI"><next><block type="code_input" id="`)?xI_O.mMs}vJF/s)tR"><field name="CODE_INPUT">// Lerne hier, wie eine Dezimalzahl in eine Binärzahl umgewandelt wird&amp;#10;// https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10</field></block></next></block></next></block></next></block></next></block></statement></block><block type="procedures_defnoreturn" id="6$rp,+Y.vfTX,NaHq+.W" collapsed="true" x="-248" y="153"><mutation><arg name="Dezimalcode" varid="n/_%;f5mNS1Ev%_YDewY"></arg><arg name="Farbe°" varid="w*31~?|+c#PT^JI#`;G1"></arg><arg name="Sättigung %" varid=".+_,gCEH:Q9W:j!A62*0"></arg><arg name="Helligkeit %" varid="Kd8KnJ-r3g|d~PHtEiY6"></arg></mutation><field name="NAME">Speichere Matrix in Zwischenspeicher</field><statement name="STACK"><block type="variables_set" id="?y9oNjpri~$yFa.J=6V."><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="variables_get" id="x6:e40=EZIwLaz4j{bd#"><field name="VAR" id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</field></block></value><next><block type="flow_for" id="?V(xw|0x7|u5ugnh*s/|"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field><value name="FROM"><block type="math_number" id="cncBR0?btec@:KJ:J8l9"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="bA~okUtsmIZI]|*Eh15-"><field name="NUM">16</field></block></value><value name="BY"><block type="math_number" id="wV^}.ppGh/7M1fqy$r]T"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="3ATJ_3KO_h%R=t@YDDyq"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field><value name="VALUE"><block type="math_single_basic" id="MDsryqn5_G4:t`yV18A-"><field name="OP">ABS</field><value name="NUM"><block type="math_div" id="x^He%ACOq*%$E%`YuGFJ"><value name="VAL1"><block type="code_pin" id="5G1xdVEvlr32BBIaye}j"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="VAL2"><block type="math_number" id="1B%746*%s`Q_qmQE-C/="><field name="NUM">2</field></block></value></block></value></block></value><next><block type="logic_if" id=":P/w(_K{o`6=Dl2%)7(y"><value name="IF0"><block type="logic_compare" id="RLj5tF+%[!FB#_+sYF8T"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="q,;9W%/=nlIc1hf=%Fj_"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="math_number" id="d9cn7z]yT$0j1bBp{C+n"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="set_pixel_color" id="_rdMpDld(l/zu([)T`mx"><field name="MODE">MODE2</field><value name="FROM"><block type="variables_get" id="j$(f@c3fQ:fQB83P[T[7"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field></block></value><value name="TO"><block type="math_number" id="$a$rKyRV$:l6*jDGvTBp"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="-VQY^!jWts!3a@3o5K:#"><field name="VAR" id="w*31~?|+c#PT^JI#`;G1">Farbe°</field></block></value><value name="S"><block type="variables_get" id="|yp|}`:Sp,FSGqV2n1G6"><field name="VAR" id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</field></block></value><value name="B"><block type="math_arithmetic" id="4:Vf_aRv4etcKB{44A=%"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="mZIPfzAybt@pcXh_(hDs"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="variables_get" id="m@?RWh(,1jC`KhWo#?+n"><field name="VAR" id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</field></block></value></block></value></block></statement><next><block type="variables_set" id="~_$ic0xVH^s]_/ty}jzx"><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="math_arithmetic" id="/p7$23-jN|$TOOZI)TB2"><field name="OP">DIVIDE</field><value name="A"><block type="code_pin" id="`Tx{7HeJxiGSj7p{Nwus"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="B"><block type="math_number" id="ulPf1p.p,K9.3*/{oWU0"><field name="NUM">2</field></block></value></block></value></block></next></block></next></block></statement><next><block type="code_input" id="_02ed-P{`s:iOb5A0^qD"><field name="CODE_INPUT">// Lerne hier, wie eine Dezimalzahl in eine Binärzahl umgewandelt wird&amp;#10;// https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10</field></block></next></block></next></block></statement></block><block type="basic_comment" id=",8?o%qj5(56_YW?7h7Ib" x="506" y="115"><field name="COMMENT">↑ Gebe ein MATRIX-Muster ein, indem du den Dezimalcode hier herausfindest: PGLU.CH &gt; TTG-Projekt &gt; MATRIX-Designer</field></block><block type="procedures_defnoreturn" id="2~?vi.;+.rR/Lo^Ss;oc" collapsed="true" x="-246" y="208"><mutation><arg name="1" varid="/qKL*;/x!%R,!Ovhh3ZU"></arg><arg name="2" varid="_TR;_OGyXAX;pZu;tDJf"></arg><arg name="3" varid="X8=}?3D]2x5*$N3/w!,k"></arg><arg name="4" varid="QE/jr0[0w5lKSW{oYgNL"></arg><arg name="Pause ms" varid="ATZ]^Dr%JzgVl(W,w9RE"></arg><arg name="FV°" varid="?K7eWV.aphZ(1PnR%k@g"></arg><arg name="FH°" varid="/0y_uI4Jv4bU)cSDh7)J"></arg><arg name="HV%" varid="-f{zBV=w=olsvW#/PEGZ"></arg><arg name="HH%" varid="Gegiis%pZIy4H8~8b)IO"></arg></mutation><field name="NAME">Leuchte Animation</field><statement name="STACK"><block type="set_pixel_color" id="j.T}l0y2IkJcjQ3X?8C("><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="4Z9YjZOk!3w([+b2OZJ2"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="n]{(sq0jRF1?|gQK+mTG"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id=".i[q0%-VK$`i)xZWzMG]"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="ju5Cl)(x5}L6H~JKnrt+"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="EN//9MUQIKn0-U5Ol=d%"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="x.[+RdA(*n-du0xqJ_0z"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="^vv;Rc7^BnaD2^]jLSo;"><field name="VAR" id="/qKL*;/x!%R,!Ovhh3ZU">1</field></block></value><value name="ARG1"><block type="variables_get" id="ey%ZNsrR$EQJ;FHT-UZ_"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="QA9sfiigN3o=XYJa:O?w"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="S1VOf|)Wb;pV|W8Q,MGK"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="KqWQH@K_n2jX+~IFerFc"><next><block type="logic_if" id="QU:XnpF[HS,SY7%+#!/%"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="*+Rj=qi|dw)ysh.-%C=,"><field name="OP">EQ</field><value name="A"><block type="variables_get" id=":Z_l?uc_C4ERn|M_,C#K"><field name="VAR" id="/qKL*;/x!%R,!Ovhh3ZU">1</field></block></value><value name="B"><block type="math_number" id="hC=$oCiLpG[ZsB@d53Y~"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="qCGcnIl)9V?Yvo,s%GY1"><value name="DELAY"><block type="variables_get" id="iWp-AxU;^+w_*ryrYvSZ"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="a#aJl5xEbHa3BpeX2g)Q"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="`kk7cin#bu4CV)9e]AY+"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="$ZbzfeX`KcK4@!g!0$~7"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="Jz!ck1ta,_8sTk;Zr(_^"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="`}q)jggpDy]St{EJ_9D."><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="]4,l%tvX!0,=CO{r1x*g"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="g,XT1axi%;TSyOzXeov("><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="$i.tqgFcz+/sHly=SJvZ"><field name="VAR" id="_TR;_OGyXAX;pZu;tDJf">2</field></block></value><value name="ARG1"><block type="variables_get" id="3Ct/_!.V=,*/EI!/D3pf"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="EB+Ga%c+RRj8%$Qn-v0m"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="^1yo-JZ%E{w-6luLgI@7"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id=":;5l]Wu@-D/LksS#`Qia"><next><block type="logic_if" id="|aNH!5]0B!@8ANO9-N3}"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="fN3kE`liSZ;5zY$5~t[%"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="tG=KnlUMGxIGgc/*P+{K"><field name="VAR" id="_TR;_OGyXAX;pZu;tDJf">2</field></block></value><value name="B"><block type="math_number" id="#FL9,9T[KC|JUPCe%xx."><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="!jtg/+qHMO.[7xDA,8%+"><value name="DELAY"><block type="variables_get" id="l2qsyAyJEls{YkA_Zs4P"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="AW7^3ZZgsSFt3H^%gCw^"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="u.87N3sZceOZi6E6!6pz"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="u|Ok^so8HySs0iNxxKs8"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="rX]+L^eeY/bXvpeOpd9p"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="YaqUu!CL^vzX9YtxEb+W"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="`AU;T$p.AsQMB3UB2g/q"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="HMev=9FHKyJ%14Y?{sO1"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="iG@=8@VDuzb*]`E,9cjQ"><field name="VAR" id="X8=}?3D]2x5*$N3/w!,k">3</field></block></value><value name="ARG1"><block type="variables_get" id="*`]^tzI$Pl^P@)uJI0mJ"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="]H=$ULoQ;5R}fnb%A9^#"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="KY}HkMO4D:t@61gAA%1="><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="@nT_WSlY`q^eIq[i5%NK"><next><block type="logic_if" id="{BK.V(g6w@9[rz=;RtIB"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="kC~=Qk%H~08xetx!Tr--"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="}t/:mj0Wr(.=LcP/1IkV"><field name="VAR" id="X8=}?3D]2x5*$N3/w!,k">3</field></block></value><value name="B"><block type="math_number" id="QT-_o;{h!YSnLvFca^|V"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="|yY^F2gUhdbS,x?AzHoR"><value name="DELAY"><block type="variables_get" id="[K[}3DqWVb}NeTmbg|2%"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="DaXXVX#N}LW@jg)p;zzz"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id=";/5m8-DhHUg2~31ng!R?"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id=":6Tq.6Y%)XdxA[uGSzg:"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="M,Z2Q/M4;kU}+V@1BDGU"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="54uu6y~0-sssfuJb2x`o"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="]XL`aWJig?8HW[1WbO1u"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="kq~Kq(gIbM!X*@VxG)wH"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="4sV4kZ+gjLCo5UJSb3r("><field name="VAR" id="QE/jr0[0w5lKSW{oYgNL">4</field></block></value><value name="ARG1"><block type="variables_get" id="ZEbb@GVtW27T];{Xb-nK"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="Y=~4{=%(=mXBNN1hD^MV"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="V!qCf+K^9.c.Nra)3:Ct"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="SH+foN.vEP*zWfzH4P*A"><next><block type="logic_if" id="a*S`R)G$?knkPgcQ`|sM"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="x?GvH?5o^]mZ,~^H(|VP"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="niTuT0N}Q_3.)82e#)#N"><field name="VAR" id="QE/jr0[0w5lKSW{oYgNL">4</field></block></value><value name="B"><block type="math_number" id="8gnM8Ss9ZnZ37t7%mC$4"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="8!@WHQC^[-gKehLdzD$q"><value name="DELAY"><block type="variables_get" id="8y^38y+WpV8Ug{_Wjm0u"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="basic_comment" id="b8vh-tW(-q-jWHm_#UPk" x="-278" y="273"><field name="COMMENT">Variablen für Feuchte und Luftdruck zum einsetzen</field></block><block type="variables_get" id="YwWv;mozBg#o;*l}F04J" x="-251" y="327"><field name="VAR" id="/Z^p0DyZuhPN?*}Yx]}W">Feuchte in %</field></block><block type="variables_get" id="mXD9laMus$f077)wuXSr" x="-251" y="378"><field name="VAR" id="}jj;X_WVyXrfcLn9/+3~">Luftdruck in hPa</field></block></xml>
6

Temperaturverlauf der letzten Tage auf Neopixel Stripe anzeigen

Hast du dir schon einmal überlegt, dass es interessant sein könnte, den Verlauf der Temperatur der vergangenen drei Tage aufzuzeichnen? Genau das kannst du mit dem untenstehenden Programm tun: Pixel 1 zeigt mit seiner Farbe die aktuelle Temperatur an und wird jede Stunde um ein Pixel nach oben kopiert. Dadurch landet unser Pixel nach 16 Stunden am Ende des Stripes. Probier es aus, denn mit 72 Pixeln kannst du so bis zu drei Tage abbilden!

Wetterstation mit Anzeige des Temperaturverlaufs

Mögliche Lösung

Lösung: XML-Code in Editor einfügen
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="^P3YP+_F|]Z4sM`GL*k6">T</variable><variable id="Wn$lQr2p63VAf)D!2.l5">Farbe</variable><variable id="L6~(v:M{{r3:TItG/G/j">H</variable><variable id="yRvAz]@{j^`=l`.K3cwA">P</variable><variable id="(o]y;a5h2iNa%/usV$,x">Pixel</variable></variables><block type="basic_comment" id="g%br^B.(R[^S2_;5~1)_" x="-15" y="-1429"><field name="COMMENT">Hitzestress Verlaufsmessgerät mit Sensor BME280</field></block><block type="basic_comment" id=".#BV4vWJy^[_O[!7Q].Y" x="-18" y="-1379"><field name="COMMENT">Version mit Pixel Verlaufsanzeige&amp;#10;*****************************&amp;#10;1. Schliesse das Arduino über USB an deinen PC/Mac an und öffne die offizielle Arduino IDE&amp;#10;2. Mache folgende Einstellungen in der IDE:&amp;#10;    &gt; Board: Ardiono Nano&amp;#10;    &gt; Processor: ATmega328P&amp;#10;    &gt; Port: COM XY (da wo du den Arduino angeschlossen hast - ev. im Geräte Manager nachschauen)&amp;#10;3. Installiere diese Libraries:&amp;#10;    &gt; Wire.h (direkt aus Library Manager)&amp;#10;    &gt; ErriezBMX280 Ab Github über Google - bei CODE auf DOWNLOAD ZIP gehen.&amp;#10;       Dann in der Arduino IDE: SKETCH &gt; INCLUDE LIBRARY &gt; ADD A .ZIP LIBRARY&amp;#10;4. Wenn du mit der Teacher's Box arbeitest, sind alle Installationen schon gemacht 😊.&amp;#10;&amp;#10;Dieses Beispiel ist auf einen Neopixel-Stripe mit 72 Pixeln ausgelegt. Ändere das, nach Bedarf.&amp;#10;&amp;#10;Tipp: teste auch den Serial Plotter und natürlich den Excel Datastreamer!</field></block><block type="set_neo_pixel" id="8-v2a(ovAfTu9T9|Neq9" x="-19" y="-1022"><value name="NUM_LEDS"><block type="math_number" id="ipO^H-:%ZeD`@,=K`xQ]"><field name="NUM">72</field></block></value><value name="BRIGHTNESS"><block type="math_number" id="3+P3?k^.O1^(/Pfu/#YY"><field name="NUM">35</field></block></value><value name="OUTTURN"><block type="led_pin" id="2:xClA,q/M0d|nRX1`8T"><field name="LED">LED1</field></block></value></block><block type="basic_comment" id="O+6!=0^XDZ^8xz~!{ht)" x="-663" y="-948"><field name="COMMENT">Info zur Library:       https://github.com/Erriez/ErriezBMX280&amp;#10;Datenblatt BME280:  https://github.com/Erriez/ErriezBMX280/raw/master/extras/BME280_datasheet.pdf</field></block><block type="code_declaration" id="xnRAG*|Ca-CXN8*MNu~K" x="-19" y="-951"><field name="CODE_DECLRATION">#include &lt;Wire.h&gt;&amp;#10;#include &lt;ErriezBMX280.h&gt;&amp;#10;&amp;#10;ErriezBMX280 bmx280 = ErriezBMX280(0x76);</field></block><block type="basic_comment" id="{kQZC=%[B}n5/H[}(baI" x="285" y="-950"><field name="COMMENT">Library für Klimasensor BME280</field></block><block type="basic_comment" id="@`1YAxewY*!!]Ta51-a^" x="-13" y="-815"><field name="COMMENT">Setup für die Sensoreinstellungen - mit Rechtsklick entfalten</field></block><block type="expert_setup" id="$@+^$6/}Cj1|StEyOvPQ" collapsed="true" x="-15" y="-776"><statement name="CODE"><block type="code_input" id="![rsG1r+#++Iw%e5vuk}"><field name="CODE_INPUT">Serial.begin(9600);&amp;#10;Wire.begin();</field><next><block type="code_input" id="yLG3)YpqNWvAbY0+Y2r|"><field name="CODE_INPUT">bmx280.begin();&amp;#10;&amp;#10;bmx280.setSampling(BMX280_MODE_NORMAL,    // SLEEP, FORCED, NORMAL&amp;#10;     BMX280_SAMPLING_X1,   // Temp:  NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Press: NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Hum:   NONE, X1, X2, X4, X8, X16 (BME280)&amp;#10;     BMX280_FILTER_OFF,     // OFF, X2, X4, X8, X16&amp;#10;     BMX280_STANDBY_MS_1000);// 0_5, 10, 20, 62_5, 125, 250, 500, 1000&amp;#10;</field></block></next></block></statement></block><block type="basic_comment" id="?t-0PW5VT0?[cUnm,zse" x="-12" y="-698"><field name="COMMENT">Haupt Sketch</field></block><block type="basic_main_loop" id=":60|XHi7ftdu2x$67[jQ" deletable="false" x="-14" y="-623"><value name="BLINK"><block type="basic_blinkcode" id="4^aq{Y9|0}V[y#o!kCdZ"><field name="SHORT">1</field><field name="LONG">1</field></block></value><statement name="CODE"><block type="procedures_callnoreturn" id="(JLh-:qjbXCO4{~d7}Z3"><mutation name="Lese Messwerte aus Sensor"></mutation><next><block type="procedures_callnoreturn" id="5-g-(J!SzCYgb1bz@|Bx"><mutation name="Berechne Pixelfarbe für Temperatur Anzeige"></mutation><next><block type="set_pixel_color" id="=;px~$!AQ5WO[S6kf]gA"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="hn$o98c|[F5#xZFdBzM}"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="Y*2yKSw5T{KSyy=-/`7o"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="0a;}F9V|eJOb]I!D!}Fg"><field name="VAR" id="Wn$lQr2p63VAf)D!2.l5">Farbe</field></block></value><value name="S"><block type="math_number" id="cCw|KRMvLBua-W[OeY}~"><field name="NUM">100</field></block></value><value name="B"><block type="math_number" id="qf74V4uPFUI/^J]cA8$y"><field name="NUM">100</field></block></value><next><block type="flow_delay" id=".inB5U=yK:^6GW(hxo1P"><value name="DELAY"><block type="math_number" id="dSA(U$l+m.OKgBKIntIg"><field name="NUM">3600000</field></block></value><next><block type="flow_for" id="qB5MgHBcdcOQF%(;*7lW"><field name="VAR" id="(o]y;a5h2iNa%/usV$,x">Pixel</field><value name="FROM"><block type="math_number" id="6~,#C4js`F2M7dWNEcsP"><field name="NUM">72</field></block></value><value name="TO"><block type="math_number" id="DGZ:pKbZoeU^el2++[/z"><field name="NUM">1</field></block></value><value name="BY"><block type="math_number" id="Dj*BYXlAd5g+?6Y@_]Px"><field name="NUM">1</field></block></value><statement name="DO"><block type="expert_kopiere_pixel" id="wec_Z@(vl/z!X39c?B|["><value name="PIXEL"><block type="variables_get" id="QdT[x`Y]7qZ)ffAN4`wd"><field name="VAR" id="(o]y;a5h2iNa%/usV$,x">Pixel</field></block></value><value name="NACHPIXEL"><block type="math_arithmetic" id="K1C@LM;IEo3q3?b2dSN~"><field name="OP">ADD</field><value name="A"><block type="variables_get" id="E0f1Wbw4FSACZ]8|y?Zu"><field name="VAR" id="(o]y;a5h2iNa%/usV$,x">Pixel</field></block></value><value name="B"><block type="math_number" id="1;1d[%W`KFE,.0Qg%93-"><field name="NUM">1</field></block></value></block></value></block></statement><next><block type="fast_led" id="%^y-K*)yCM{P[q,s+gn-"><next><block type="code_input" id="}D|J!x0XNO$tog.(s.UN" collapsed="true"><field name="CODE_INPUT">Serial.print("Temp-in-°C= ");&amp;#10;Serial.print(T);&amp;#10;Serial.print(" Feuchte-in-% = ");&amp;#10;Serial.print(H);&amp;#10;Serial.print(" Luftdruck-in-hPa= ");&amp;#10;Serial.println(P);</field></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="basic_comment" id="D)[Hn25ut6/n@80G*zq_" x="1126" y="-678"><field name="COMMENT">Unterprogramm</field></block><block type="procedures_defnoreturn" id="igkSzOuk-xKLOf:ItGfm" x="1126" y="-628"><field name="NAME">Lese Messwerte aus Sensor</field><statement name="STACK"><block type="variables_set" id="9hY+HjfaMxFfI(!N.EQ)"><field name="VAR" id="^P3YP+_F|]Z4sM`GL*k6">T</field><value name="VALUE"><block type="math_arithmetic" id="^ng|MkcPDAtN+I~22ZhM"><field name="OP">MINUS</field><value name="A"><block type="code_pin" id="v{.krVs)k%ZI=W0Wio6w"><field name="CODE_PIN">bmx280.readTemperature()</field></block></value><value name="B"><block type="math_number" id="m3)tclCy#f;+=oze0]am"><field name="NUM">2.1</field></block></value></block></value><next><block type="variables_set" id="(uO2(ik?$80JvRNu}Ay/"><field name="VAR" id="L6~(v:M{{r3:TItG/G/j">H</field><value name="VALUE"><block type="math_arithmetic" id="pKQH-zBnr+4YftE)_Ko3"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="TBZ+$_j6hmG0YwJq$#*9"><field name="CODE_PIN">bmx280.readHumidity()</field></block></value><value name="B"><block type="math_number" id="fNXX|]`/gkc(=|6mumhZ"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="Uop,yOd$IgvV@4ubDcU#"><field name="VAR" id="yRvAz]@{j^`=l`.K3cwA">P</field><value name="VALUE"><block type="math_arithmetic" id="Hxp^I{4MPEkr+vhIEZMn"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="oJDr5Stym3=~u47#yD0g"><field name="CODE_PIN">bmx280.readPressure()/100</field></block></value><value name="B"><block type="math_number" id="_A}Q-Ujh#}LkC-(zSmII"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></statement></block><block type="basic_comment" id="v6P.NzGcM(p(;?gh4#UM" x="-337" y="-533"><field name="COMMENT">Zeige mit Pixel 1 die Farbe des Messwerts</field></block><block type="basic_comment" id="^Hpr~J4e+~k-sG+X%r?{" x="1627" y="-597"><field name="COMMENT">Kalibriere die Messung, indem du einen Korrekturwert eingibst:&amp;#10;&gt; suche in Google eine Wetterstation in deiner Nähe&amp;#10;&gt; nutze eine Barometer App mit deinem Smartphone (nur teure Versionen)&amp;#10;&gt; verwende ein präzises Thermometer</field></block><block type="basic_comment" id="V^mL.hB=A-^!8RR_1CaM" x="-315" y="-488"><field name="COMMENT">Pausiere 3'600'000 ms oder 1 Stunde.&amp;#10;Beachte, dass während dieser Pause&amp;#10;keine Messungen gemacht werden!&amp;#10;&amp;#10;Beschleunige das für deine Tests!</field></block><block type="procedures_defnoreturn" id="O(fHK:)qx}jtI)ouj(iT" x="1125" y="-397"><field name="NAME">Berechne Pixelfarbe für Temperatur Anzeige</field><statement name="STACK"><block type="variables_set" id=";j]E.kCAO2iKV#G)sq+s"><field name="VAR" id="Wn$lQr2p63VAf)D!2.l5">Farbe</field><value name="VALUE"><block type="math_map" id="JK%W_;/E1m?l#Wm)-?8R"><value name="VALUE"><block type="variables_get" id="dwW(U-o.V,@zRx0Awd2Z"><field name="VAR" id="^P3YP+_F|]Z4sM`GL*k6">T</field></block></value><value name="FROMLOW"><block type="math_number" id=";6,^#AEV#?iL5gn_ZlNl"><field name="NUM">0</field></block></value><value name="FROMHIGH"><block type="math_number" id="bFN#[fR$lBGh/Q.kpFg1"><field name="NUM">50</field></block></value><value name="TOLOW"><block type="math_number" id="tceU!pwyNy=W8/ZOB`@7"><field name="NUM">225</field></block></value><value name="TOHIGH"><block type="math_number" id="2#tKHR+J[9:udA6_SnC%"><field name="NUM">0</field></block></value></block></value></block></statement></block></xml>
7

Internet of Things: Wetterdaten live ins Internet streamen und teilen

Kennst du das Internet of Things (IoT)? Indem du deine Wetterdaten live ins Internet streamst, kannst du dein Projekt mit anderen teilen! Das einzige was du dazu brauchst, ist ein Computer, der ständig mit dem Internet verbunden ist und eine Aktuelle Version von Excel. Verwende dazu das Add-In «Data Streamer». Eine Anleitung findest du unter dem Keyword : Aktiviere das Data Streamer Add-In. Verwende dann eine Excel-Datei, die auch online abrufbar ist, damit du die Daten live im Internet veröffentlichen kannst.

Anschlussschema Wetterdaten ins Internet streamen

Mögliche Lösung

Lösung: XML-Code in Editor einfügen
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="/Z^p0DyZuhPN?*}Yx]}W">H</variable><variable id="}jj;X_WVyXrfcLn9/+3~">P</variable><variable id="z|Gq%Q`L?8f=tBPLVp$/">T</variable><variable id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</variable><variable id="w*31~?|+c#PT^JI#`;G1">Farbe°</variable><variable id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</variable><variable id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</variable><variable id="/qKL*;/x!%R,!Ovhh3ZU">1</variable><variable id="_TR;_OGyXAX;pZu;tDJf">2</variable><variable id="X8=}?3D]2x5*$N3/w!,k">3</variable><variable id="QE/jr0[0w5lKSW{oYgNL">4</variable><variable id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</variable><variable id="?K7eWV.aphZ(1PnR%k@g">FV°</variable><variable id="/0y_uI4Jv4bU)cSDh7)J">FH°</variable><variable id="-f{zBV=w=olsvW#/PEGZ">HV%</variable><variable id="Gegiis%pZIy4H8~8b)IO">HH%</variable><variable id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</variable><variable id="#bI4ov(rS`RxMd$x~mRD">BitNummer</variable><variable id="l9Ei[B]UF0YL`FcrA^#|">Bit</variable></variables><block type="basic_comment" id="FUfeUNJ6j=?_]_}Cbl4j" x="567" y="-676"><field name="COMMENT">Sensorwerte mit Pixeln anzeigen&amp;#10;****************************&amp;#10;1. Schliesse das Arduino über USB an deinen PC/Mac an und öffne die offizielle Arduino IDE&amp;#10;2. Mache folgende Einstellungen in der IDE:&amp;#10;    &gt; Board: Arduino Nano&amp;#10;    &gt; Processor: ATmega328P&amp;#10;    &gt; Port: COM XY (da wo du den Arduino angeschlossen hast - ev. im Geräte Manager nachschauen)&amp;#10;    &gt; Tools: Serial Monitor (oder Plotter): 9600 baud&amp;#10;3. Installiere diese Libraries:&amp;#10;    &gt; Wire.h (direkt aus Library Manager)&amp;#10;    &gt; ErriezBMX280 Ab Github über Google - bei CODE auf DOWNLOAD ZIP gehen.&amp;#10;       Dann in der Arduino IDE: SKETCH &gt; INCLUDE LIBRARY &gt; ADD A .ZIP LIBRARY&amp;#10;4. Wenn du mit der Teacher's Box arbeitest, sind alle Installationen schon gemacht 😊.</field></block><block type="basic_comment" id="5X]|a^.WwR,P~/FMKj|U" x="568" y="-312"><field name="COMMENT">Messwerte an Seriellen Ausgang (USB) senden</field></block><block type="basic_comment" id="9ZF*g[_C]{MWii;muwUJ" x="-290" y="-234"><field name="COMMENT">Unterprogramme für den Wettersensor</field></block><block type="basic_comment" id="b8vh-tW(-q-jWHm_#UPk" x="136" y="-236"><field name="COMMENT">Variablen für Feuchte (H) und Luftdruck (P) und Temperatur (T)</field></block><block type="set_neo_pixel" id="bmw]#GEj(a2!6OWUx@(|" x="570" y="-242"><value name="NUM_LEDS"><block type="math_number" id=":`o#0|wMGz{4ui13Z!i["><field name="NUM">72</field></block></value><value name="BRIGHTNESS"><block type="math_number" id="?oeGzA+Ap#NUC{QOvgU("><field name="NUM">100</field></block></value><value name="OUTTURN"><block type="led_pin" id="@0xE:ifIn0bNeU*TR*/y"><field name="LED">LED1</field></block></value></block><block type="basic_comment" id="d.,EUDzoljH;-*EB$87(" collapsed="true" x="-246" y="-188"><field name="COMMENT">Info zur Library:       https://github.com/Erriez/ErriezBMX280&amp;#10;Datenblatt BME280:  https://github.com/Erriez/ErriezBMX280/raw/master/extras/BME280_datasheet.pdf</field></block><block type="variables_get" id="YwWv;mozBg#o;*l}F04J" x="132" y="-173"><field name="VAR" id="/Z^p0DyZuhPN?*}Yx]}W">H</field></block><block type="variables_get" id="mXD9laMus$f077)wuXSr" x="254" y="-171"><field name="VAR" id="}jj;X_WVyXrfcLn9/+3~">P</field></block><block type="code_declaration" id="2%h8#fxs~:bo*CS~AId(" collapsed="true" x="-245" y="-138"><field name="CODE_DECLRATION">#include &lt;Wire.h&gt;&amp;#10;#include &lt;ErriezBMX280.h&gt;&amp;#10;&amp;#10;ErriezBMX280 bmx280 = ErriezBMX280(0x76);</field></block><block type="variables_get" id="M=*S{3n.rv|}lHre29t3" x="373" y="-170"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">T</field></block><block type="basic_main_loop" id="oh{4)]E/c6ZnlvMJU:hx" deletable="false" x="568" y="-150"><value name="BLINK"><block type="basic_blinkcode" id="30Q8]G`cyw:$0tmjHjkl"><field name="SHORT">1</field><field name="LONG">1</field></block></value><statement name="CODE"><block type="procedures_callnoreturn" id="CF(4A)~ymUdj.^c.WqU0"><mutation name="Lese Messwerte aus dem Sensor"></mutation><next><block type="flow_delay" id="L#Kqo4-onhP]^l5[Q*Yl"><value name="DELAY"><block type="math_number" id="9b2TUx.|e(kS`xBWO!_G"><field name="NUM">5000</field></block></value><next><block type="code_input" id="vX/,w?R!^6iA_8QQ}bNc"><field name="CODE_INPUT">Serial.print("Temp-in-°C= ");&amp;#10;Serial.print(T);&amp;#10;Serial.print(" Feuchte-in-% = ");&amp;#10;Serial.print(H);&amp;#10;Serial.print(" Luftdruck-in-hPa= ");&amp;#10;Serial.println(P);</field></block></next></block></next></block></statement></block><block type="expert_setup" id="fCgA.u@W5hv=t7p#=q=9" collapsed="true" x="-248" y="-88"><statement name="CODE"><block type="code_input" id="0Wi{~x^-yYU;a?D@.#%8"><field name="CODE_INPUT">Serial.begin(9600);&amp;#10;Wire.begin();</field><next><block type="code_input" id="b@/(Ruq9P,VEhBQi[2~="><field name="CODE_INPUT">bmx280.begin();&amp;#10;&amp;#10;bmx280.setSampling(BMX280_MODE_NORMAL,    // SLEEP, FORCED, NORMAL&amp;#10;     BMX280_SAMPLING_X1,   // Temp:  NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Press: NONE, X1, X2, X4, X8, X16&amp;#10;     BMX280_SAMPLING_X1,   // Hum:   NONE, X1, X2, X4, X8, X16 (BME280)&amp;#10;     BMX280_FILTER_OFF,     // OFF, X2, X4, X8, X16&amp;#10;     BMX280_STANDBY_MS_1000);// 0_5, 10, 20, 62_5, 125, 250, 500, 1000&amp;#10;</field></block></next></block></statement></block><block type="basic_comment" id="{vf1dr^yG5H9)dTEY+pI" x="888" y="-105"><field name="COMMENT">Lese die Messwerte alle 5 Sekunden</field></block><block type="basic_comment" id=":RyfF%5p@4$4D_1_49p;" collapsed="true" x="-246" y="-41"><field name="COMMENT">Kalibriere die Messung, indem du einen Korrekturwert eingibst:&amp;#10;&gt; suche in Google eine Wetterstation in deiner Nähe&amp;#10;&gt; nutze eine Barometer App mit deinem Smartphone (nur teure Versionen)&amp;#10;&gt; verwende ein präzises Thermometer</field></block><block type="procedures_defnoreturn" id="u#vEaseOUs2-;F]PCh,:" collapsed="true" x="-246" y="7"><field name="NAME">Lese Messwerte aus dem Sensor</field><statement name="STACK"><block type="variables_set" id="n72X_|pZi[xIO1W/-E$V"><field name="VAR" id="z|Gq%Q`L?8f=tBPLVp$/">T</field><value name="VALUE"><block type="math_arithmetic" id="umzUox1,pAcubq-mJY:7"><field name="OP">MINUS</field><value name="A"><block type="code_pin" id="CDTZK#yFc0Vxp@?@jI7-"><field name="CODE_PIN">bmx280.readTemperature()</field></block></value><value name="B"><block type="math_number" id="bR#P8SpV/tg}es?6}gH{"><field name="NUM">2.1</field></block></value></block></value><next><block type="variables_set" id=":CCaUdo-an2@HEh7+~%u"><field name="VAR" id="/Z^p0DyZuhPN?*}Yx]}W">H</field><value name="VALUE"><block type="math_arithmetic" id="hSDoK!@@Tb_;^}OaL$)J"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="6=7ST;k#S5Pi?j^2|Ol~"><field name="CODE_PIN">bmx280.readHumidity()</field></block></value><value name="B"><block type="math_number" id="h.`dbyTR$X/Xf)F#L*}*"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="*2HcWLe-@gRHxnnZ])zF"><field name="VAR" id="}jj;X_WVyXrfcLn9/+3~">P</field><value name="VALUE"><block type="math_arithmetic" id="/9i0A6rAfr@wI;_X|cZM"><field name="OP">ADD</field><value name="A"><block type="code_pin" id="FR_?^Q=~n4I_I^6D]zu;"><field name="CODE_PIN">bmx280.readPressure()/100</field></block></value><value name="B"><block type="math_number" id="s3d)@kYCV~j!6Y,:~5k7"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></statement></block><block type="basic_comment" id="LXA(![duq%uGlP*6Mo`J" x="886" y="-20"><field name="COMMENT">Sende die Messwerte an den Seriellen Ausgang (USB)</field></block><block type="basic_comment" id="4PGL{$u_nC$3;Tz!5TQx" x="-284" y="58"><field name="COMMENT">Unterprogramme für die MATRIX</field></block><block type="procedures_defnoreturn" id="?SfC3CIs`::YLgrXY^Z5" collapsed="true" x="-248" y="107"><mutation><arg name="Dezimalcode" varid="n/_%;f5mNS1Ev%_YDewY"></arg><arg name="Farbe°" varid="w*31~?|+c#PT^JI#`;G1"></arg><arg name="Sättigung %" varid=".+_,gCEH:Q9W:j!A62*0"></arg><arg name="Helligkeit %" varid="Kd8KnJ-r3g|d~PHtEiY6"></arg></mutation><field name="NAME">Leuchte Matrix</field><statement name="STACK"><block type="variables_set" id="(L(So~,eCHHb_b/3OX9A"><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="variables_get" id="!Kfm|d)H,cKeirrOZ+M5"><field name="VAR" id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</field></block></value><next><block type="flow_for" id="8?gOhI~8@8u4l^87u-Yr"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field><value name="FROM"><block type="math_number" id="(lCd}5y!ju,P8^BmhS];"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="@BS3]9]:}F|AC@=W]XW("><field name="NUM">16</field></block></value><value name="BY"><block type="math_number" id="gaY?_yHrFkqYJ~lm[F@^"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="/zOT=$D`MV0}qc`z#j$^"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field><value name="VALUE"><block type="math_single_basic" id="TP9!}zlsxKQsbZ!oJfb|"><field name="OP">ABS</field><value name="NUM"><block type="math_div" id="p%{):;Y_9HK7#H|u.tPf"><value name="VAL1"><block type="code_pin" id="{E^Qk`#Tn,9B}:Q[yYhm"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="VAL2"><block type="math_number" id="0NE.v8P$h11vxZ!:OlN7"><field name="NUM">2</field></block></value></block></value></block></value><next><block type="logic_if" id="t2rZ?)EmqvWv.,w1~/e|"><value name="IF0"><block type="logic_compare" id="~)%.^y+KcD3LZC,rL[sO"><field name="OP">EQ</field><value name="A"><block type="variables_get" id=".=d+C=|eRc0R/$Oh|)o`"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="math_number" id="hk?`,Q#+kGHuwwG[,JwL"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="set_pixel_color" id="$#4sOy_I,5(dy=m(cOkm"><field name="MODE">MODE2</field><value name="FROM"><block type="variables_get" id="Uhhtqh~65_iF]Lk~*.a4"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field></block></value><value name="TO"><block type="math_number" id="sT4oR}=Ce3%o#W@wp-+S"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="nyVW[L}EH:~SZZ-_DYt9"><field name="VAR" id="w*31~?|+c#PT^JI#`;G1">Farbe°</field></block></value><value name="S"><block type="variables_get" id="TGJh[{uS|xh;sEm[,}X|"><field name="VAR" id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</field></block></value><value name="B"><block type="math_arithmetic" id="!C_I~h|0MZ[+Ucm[nc1y"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="T9vL:6K=*LM^L~I3Uypk"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="variables_get" id="C5Lm0ef,_eshom*;2qot"><field name="VAR" id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</field></block></value></block></value></block></statement><next><block type="variables_set" id="rGU1,%!=xQb.)$8CiLW["><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="math_arithmetic" id="uqLLj.dio)oPT}s6!,DE"><field name="OP">DIVIDE</field><value name="A"><block type="code_pin" id="{~?eq1#)+JA~IgcB(GP,"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="B"><block type="math_number" id="C=5L@PiuLJNsS1}*H#X$"><field name="NUM">2</field></block></value></block></value></block></next></block></next></block></statement><next><block type="fast_led" id="C!],#6%q_KagyLso%TZg"><next><block type="fast_led_clear" id="gCE0[S7l.=s;~RHk:oqI"><next><block type="code_input" id="`)?xI_O.mMs}vJF/s)tR"><field name="CODE_INPUT">// Lerne hier, wie eine Dezimalzahl in eine Binärzahl umgewandelt wird&amp;#10;// https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10</field></block></next></block></next></block></next></block></next></block></statement></block><block type="procedures_defnoreturn" id="6$rp,+Y.vfTX,NaHq+.W" collapsed="true" x="-248" y="153"><mutation><arg name="Dezimalcode" varid="n/_%;f5mNS1Ev%_YDewY"></arg><arg name="Farbe°" varid="w*31~?|+c#PT^JI#`;G1"></arg><arg name="Sättigung %" varid=".+_,gCEH:Q9W:j!A62*0"></arg><arg name="Helligkeit %" varid="Kd8KnJ-r3g|d~PHtEiY6"></arg></mutation><field name="NAME">Speichere Matrix in Zwischenspeicher</field><statement name="STACK"><block type="variables_set" id="?y9oNjpri~$yFa.J=6V."><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="variables_get" id="x6:e40=EZIwLaz4j{bd#"><field name="VAR" id="n/_%;f5mNS1Ev%_YDewY">Dezimalcode</field></block></value><next><block type="flow_for" id="?V(xw|0x7|u5ugnh*s/|"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field><value name="FROM"><block type="math_number" id="cncBR0?btec@:KJ:J8l9"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="bA~okUtsmIZI]|*Eh15-"><field name="NUM">16</field></block></value><value name="BY"><block type="math_number" id="wV^}.ppGh/7M1fqy$r]T"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="3ATJ_3KO_h%R=t@YDDyq"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field><value name="VALUE"><block type="math_single_basic" id="MDsryqn5_G4:t`yV18A-"><field name="OP">ABS</field><value name="NUM"><block type="math_div" id="x^He%ACOq*%$E%`YuGFJ"><value name="VAL1"><block type="code_pin" id="5G1xdVEvlr32BBIaye}j"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="VAL2"><block type="math_number" id="1B%746*%s`Q_qmQE-C/="><field name="NUM">2</field></block></value></block></value></block></value><next><block type="logic_if" id=":P/w(_K{o`6=Dl2%)7(y"><value name="IF0"><block type="logic_compare" id="RLj5tF+%[!FB#_+sYF8T"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="q,;9W%/=nlIc1hf=%Fj_"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="math_number" id="d9cn7z]yT$0j1bBp{C+n"><field name="NUM">1</field></block></value></block></value><statement name="DO0"><block type="set_pixel_color" id="_rdMpDld(l/zu([)T`mx"><field name="MODE">MODE2</field><value name="FROM"><block type="variables_get" id="j$(f@c3fQ:fQB83P[T[7"><field name="VAR" id="#bI4ov(rS`RxMd$x~mRD">BitNummer</field></block></value><value name="TO"><block type="math_number" id="$a$rKyRV$:l6*jDGvTBp"><field name="NUM">1</field></block></value><value name="H"><block type="variables_get" id="-VQY^!jWts!3a@3o5K:#"><field name="VAR" id="w*31~?|+c#PT^JI#`;G1">Farbe°</field></block></value><value name="S"><block type="variables_get" id="|yp|}`:Sp,FSGqV2n1G6"><field name="VAR" id=".+_,gCEH:Q9W:j!A62*0">Sättigung %</field></block></value><value name="B"><block type="math_arithmetic" id="4:Vf_aRv4etcKB{44A=%"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="mZIPfzAybt@pcXh_(hDs"><field name="VAR" id="l9Ei[B]UF0YL`FcrA^#|">Bit</field></block></value><value name="B"><block type="variables_get" id="m@?RWh(,1jC`KhWo#?+n"><field name="VAR" id="Kd8KnJ-r3g|d~PHtEiY6">Helligkeit %</field></block></value></block></value></block></statement><next><block type="variables_set" id="~_$ic0xVH^s]_/ty}jzx"><field name="VAR" id="A3PF)7zzfI3ZS3bZ#rFM">Dividend</field><value name="VALUE"><block type="math_arithmetic" id="/p7$23-jN|$TOOZI)TB2"><field name="OP">DIVIDE</field><value name="A"><block type="code_pin" id="`Tx{7HeJxiGSj7p{Nwus"><field name="CODE_PIN">(unsigned int)Dividend</field></block></value><value name="B"><block type="math_number" id="ulPf1p.p,K9.3*/{oWU0"><field name="NUM">2</field></block></value></block></value></block></next></block></next></block></statement><next><block type="code_input" id="_02ed-P{`s:iOb5A0^qD"><field name="CODE_INPUT">// Lerne hier, wie eine Dezimalzahl in eine Binärzahl umgewandelt wird&amp;#10;// https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=10</field></block></next></block></next></block></statement></block><block type="procedures_defnoreturn" id="2~?vi.;+.rR/Lo^Ss;oc" collapsed="true" x="-248" y="205"><mutation><arg name="1" varid="/qKL*;/x!%R,!Ovhh3ZU"></arg><arg name="2" varid="_TR;_OGyXAX;pZu;tDJf"></arg><arg name="3" varid="X8=}?3D]2x5*$N3/w!,k"></arg><arg name="4" varid="QE/jr0[0w5lKSW{oYgNL"></arg><arg name="Pause ms" varid="ATZ]^Dr%JzgVl(W,w9RE"></arg><arg name="FV°" varid="?K7eWV.aphZ(1PnR%k@g"></arg><arg name="FH°" varid="/0y_uI4Jv4bU)cSDh7)J"></arg><arg name="HV%" varid="-f{zBV=w=olsvW#/PEGZ"></arg><arg name="HH%" varid="Gegiis%pZIy4H8~8b)IO"></arg></mutation><field name="NAME">Leuchte Animation</field><statement name="STACK"><block type="set_pixel_color" id="j.T}l0y2IkJcjQ3X?8C("><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="4Z9YjZOk!3w([+b2OZJ2"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="n]{(sq0jRF1?|gQK+mTG"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id=".i[q0%-VK$`i)xZWzMG]"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="ju5Cl)(x5}L6H~JKnrt+"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="EN//9MUQIKn0-U5Ol=d%"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="x.[+RdA(*n-du0xqJ_0z"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="^vv;Rc7^BnaD2^]jLSo;"><field name="VAR" id="/qKL*;/x!%R,!Ovhh3ZU">1</field></block></value><value name="ARG1"><block type="variables_get" id="ey%ZNsrR$EQJ;FHT-UZ_"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="QA9sfiigN3o=XYJa:O?w"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="S1VOf|)Wb;pV|W8Q,MGK"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="KqWQH@K_n2jX+~IFerFc"><next><block type="logic_if" id="QU:XnpF[HS,SY7%+#!/%"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="*+Rj=qi|dw)ysh.-%C=,"><field name="OP">EQ</field><value name="A"><block type="variables_get" id=":Z_l?uc_C4ERn|M_,C#K"><field name="VAR" id="/qKL*;/x!%R,!Ovhh3ZU">1</field></block></value><value name="B"><block type="math_number" id="hC=$oCiLpG[ZsB@d53Y~"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="qCGcnIl)9V?Yvo,s%GY1"><value name="DELAY"><block type="variables_get" id="iWp-AxU;^+w_*ryrYvSZ"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="a#aJl5xEbHa3BpeX2g)Q"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="`kk7cin#bu4CV)9e]AY+"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="$ZbzfeX`KcK4@!g!0$~7"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="Jz!ck1ta,_8sTk;Zr(_^"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="`}q)jggpDy]St{EJ_9D."><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="]4,l%tvX!0,=CO{r1x*g"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="g,XT1axi%;TSyOzXeov("><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="$i.tqgFcz+/sHly=SJvZ"><field name="VAR" id="_TR;_OGyXAX;pZu;tDJf">2</field></block></value><value name="ARG1"><block type="variables_get" id="3Ct/_!.V=,*/EI!/D3pf"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="EB+Ga%c+RRj8%$Qn-v0m"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="^1yo-JZ%E{w-6luLgI@7"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id=":;5l]Wu@-D/LksS#`Qia"><next><block type="logic_if" id="|aNH!5]0B!@8ANO9-N3}"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="fN3kE`liSZ;5zY$5~t[%"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="tG=KnlUMGxIGgc/*P+{K"><field name="VAR" id="_TR;_OGyXAX;pZu;tDJf">2</field></block></value><value name="B"><block type="math_number" id="#FL9,9T[KC|JUPCe%xx."><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="!jtg/+qHMO.[7xDA,8%+"><value name="DELAY"><block type="variables_get" id="l2qsyAyJEls{YkA_Zs4P"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="AW7^3ZZgsSFt3H^%gCw^"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id="u.87N3sZceOZi6E6!6pz"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id="u|Ok^so8HySs0iNxxKs8"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="rX]+L^eeY/bXvpeOpd9p"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="YaqUu!CL^vzX9YtxEb+W"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="`AU;T$p.AsQMB3UB2g/q"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="HMev=9FHKyJ%14Y?{sO1"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="iG@=8@VDuzb*]`E,9cjQ"><field name="VAR" id="X8=}?3D]2x5*$N3/w!,k">3</field></block></value><value name="ARG1"><block type="variables_get" id="*`]^tzI$Pl^P@)uJI0mJ"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="]H=$ULoQ;5R}fnb%A9^#"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="KY}HkMO4D:t@61gAA%1="><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="@nT_WSlY`q^eIq[i5%NK"><next><block type="logic_if" id="{BK.V(g6w@9[rz=;RtIB"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="kC~=Qk%H~08xetx!Tr--"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="}t/:mj0Wr(.=LcP/1IkV"><field name="VAR" id="X8=}?3D]2x5*$N3/w!,k">3</field></block></value><value name="B"><block type="math_number" id="QT-_o;{h!YSnLvFca^|V"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="|yY^F2gUhdbS,x?AzHoR"><value name="DELAY"><block type="variables_get" id="[K[}3DqWVb}NeTmbg|2%"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement><next><block type="set_pixel_color" id="DaXXVX#N}LW@jg)p;zzz"><field name="MODE">MODE2</field><value name="FROM"><block type="math_number" id=";/5m8-DhHUg2~31ng!R?"><field name="NUM">1</field></block></value><value name="TO"><block type="math_number" id=":6Tq.6Y%)XdxA[uGSzg:"><field name="NUM">16</field></block></value><value name="H"><block type="variables_get" id="M,Z2Q/M4;kU}+V@1BDGU"><field name="VAR" id="/0y_uI4Jv4bU)cSDh7)J">FH°</field></block></value><value name="S"><block type="math_number" id="54uu6y~0-sssfuJb2x`o"><field name="NUM">100</field></block></value><value name="B"><block type="variables_get" id="]XL`aWJig?8HW[1WbO1u"><field name="VAR" id="Gegiis%pZIy4H8~8b)IO">HH%</field></block></value><next><block type="procedures_callnoreturn" id="kq~Kq(gIbM!X*@VxG)wH"><mutation name="Speichere Matrix in Zwischenspeicher"><arg name="Dezimalcode"></arg><arg name="Farbe°"></arg><arg name="Sättigung %"></arg><arg name="Helligkeit %"></arg></mutation><value name="ARG0"><block type="variables_get" id="4sV4kZ+gjLCo5UJSb3r("><field name="VAR" id="QE/jr0[0w5lKSW{oYgNL">4</field></block></value><value name="ARG1"><block type="variables_get" id="ZEbb@GVtW27T];{Xb-nK"><field name="VAR" id="?K7eWV.aphZ(1PnR%k@g">FV°</field></block></value><value name="ARG2"><block type="math_number" id="Y=~4{=%(=mXBNN1hD^MV"><field name="NUM">100</field></block></value><value name="ARG3"><block type="variables_get" id="V!qCf+K^9.c.Nra)3:Ct"><field name="VAR" id="-f{zBV=w=olsvW#/PEGZ">HV%</field></block></value><next><block type="fast_led" id="SH+foN.vEP*zWfzH4P*A"><next><block type="logic_if" id="a*S`R)G$?knkPgcQ`|sM"><mutation xmlns="http://www.w3.org/1999/xhtml" else="1"></mutation><value name="IF0"><block type="logic_compare" id="x?GvH?5o^]mZ,~^H(|VP"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="niTuT0N}Q_3.)82e#)#N"><field name="VAR" id="QE/jr0[0w5lKSW{oYgNL">4</field></block></value><value name="B"><block type="math_number" id="8gnM8Ss9ZnZ37t7%mC$4"><field name="NUM">0</field></block></value></block></value><statement name="ELSE"><block type="flow_delay" id="8!@WHQC^[-gKehLdzD$q"><value name="DELAY"><block type="variables_get" id="8y^38y+WpV8Ug{_Wjm0u"><field name="VAR" id="ATZ]^Dr%JzgVl(W,w9RE">Pause ms</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>
8

Wetterstation mit KI programmieren: nichts ist leichter als das!

Arduino-Controller und der Wettersensor BME280 sind im Internet bestens dokumentiert. Und wie es so ist, wenn etwas gut dokumentiert ist, dann kennen sich die KI-Tools auch gut damit aus. Genau so ist das mit unserem Projekt auch 🤩.

Wenn du dir also die Programmcodes schreiben lassen willst, dann öffne unsere Seite PGLU-Projekte mit KI programmieren. Verwende dort die Promt-Vorlagen 1 sowie 2 oder 3, je nachdem, ob du mit einem STICK, STRIPE oder einer MATRIX arbeitest. Ist deine KI einmal über deine Hardware instruiert, kannst du mit deinem Projekt loslegen. Viel Spass!

Anforderung:
✓ Leicht bis mittel bis anspruchsvoll

Thema:
> Messen mit Sensoren
> Visualisieren von Messdaten
> Meteorologie
> Neopixel programmieren
> Live-Daten ins Internet Streamen

Werkzeug:
> Lötstation
> Schere, Cutter
> Zeichen- und Malmaterial für Plakat

Material:
> Controller: pglu.ch/shop > Mikrocontroller PIXEL
> Controller: pglu.ch/shop > Mikrocontroller KOMFORT mit BASIS
> Wettersensor BME280 5V: Hier suchen oder hier bei PGLU anfragen.
> Karton für Plakat

Anleitungen:
> Neopixel programmieren: Coding > Neopixel > Grundlagen

3D-Modell:
> Hier anschauen

Basics:
> Lernumgebung aufbauen: pglu.ch > ANLEITUNG
> XML in Editor importieren: pglu.ch > ANLEITUNG > EDITOR

Editor:
> Online: mach.pglu.ch
> Teacher’s Box: mach.pglu.box