134 lines
No EOL
6 KiB
PHP
134 lines
No EOL
6 KiB
PHP
<?php
|
||
include "../internal/mysql.php";
|
||
include "../internal/getGravatar.php";
|
||
|
||
?>
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<html>
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Regensensor - Jonas Leder</title>
|
||
|
||
<link href="/css/style.css" rel="stylesheet">
|
||
<link href="/css/normalize.css" rel="stylesheet">
|
||
<link href="/css/sourcesanspro.css" rel="stylesheet">
|
||
<link href="/css/menue.css" rel="stylesheet">
|
||
<script src="https://kit.fontawesome.com/038c6c1f0e.js" crossorigin="anonymous"></script>
|
||
<!-- Matomo -->
|
||
<script type="text/javascript">
|
||
var _paq = window._paq = window._paq || [];
|
||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||
_paq.push(["setCookieDomain", "*.jonasled.de"]);
|
||
_paq.push(['trackPageView']);
|
||
_paq.push(['enableLinkTracking']);
|
||
(function() {
|
||
var u="//matomo.jonasled.de/";
|
||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||
_paq.push(['setSiteId', '1']);
|
||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||
})();
|
||
</script>
|
||
<noscript><p><img src="//matomo.jonasled.de/matomo.php?idsite=1&rec=1" style="border:0;" alt="" /></p></noscript>
|
||
<!-- End Matomo Code -->
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<div class="header-wrapper">
|
||
<div class="header-homepage color-overlay" data-parallax-depth="20">
|
||
<div class="header-description gridContainer content-on-center">
|
||
<div class="row header-description-row">
|
||
<div class="header-content header-content-centered">
|
||
<div class="align-holder">
|
||
<h1 class="heading8">Regensensor</h1>
|
||
<p class="header-subtitle"> </p>
|
||
<div class="header-buttons-wrapper"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="header-separator header-separator-bottom ">
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none">
|
||
<path class="svg-white-bg" d="M737.9,94.7L0,0v100h1000V0L737.9,94.7z"></path>
|
||
</svg>
|
||
</div>
|
||
</div>
|
||
<div id="mainMenu" includeHTML="/include/menue.php?page=projekte"></div>
|
||
</header>
|
||
<div id="content">
|
||
<p>Da es in mein Zimmer bei offenem Fenster reinregnet habe ich mich dazu entschieden einen Regensensor zu bauen, welcher bei Regen einen Alarm auslöst um mich zu wecken. Der Regensensor besteht aus einer Lochrasterplatine, bei der jeweils abwechselnd eine Zeile an den Sensorpin und die andere an Masse geht, ähnlich wie bei den fertigen Sensoren, nur größer. (vgl. kurz.ml/zpjiM6) Dieser ist direkt mit dem Analogen Eingang des Arduinos verbunden, welcher über den internen Pullup auf 5V ligt, wenn nun ein Regentropfen zwei unterschiedliche Zeilen der Lochraster verbindet, sinkt die Spannung und der Sensor löst aus. Als Alarm dient ein Piezo, welcher über den tone Befehl des Arduinos angesteuert wird. Im Schaltplan gehen links bunte Kabel raus, da ich aus einem alten <a href="https://de.wikipedia.org/wiki/KVM-Switch">KVM Switch</a> noch einen Taster mit zweifarbiger LED übrig hatte. Die Stromversorgung des Aufbaus geschieht über USB. Die 3D Datei für das gehäuse findet ihr auf <a href="https://www.thingiverse.com/thing:2950996">Thingiverse</a> oder in der <a href="https://git.jonasled.tk/jonasled/Regensensor">Git Repo</a>. Für Einstellungen und logging (fals erwünscht) ist in der <a href="https://git.jonasled.tk/jonasled/Regensensor">Git Repo</a> noch eine Excel datei, mit Macro, über die das abläuft</p>
|
||
<p>Belegung des Kabels:</p>
|
||
<table>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>Kabelfarbe</strong></td>
|
||
<td><strong>Belegung</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Schwarz</td>
|
||
<td>LED Grün</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Rot</td>
|
||
<td>LED Rot</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Grün</td>
|
||
<td>Taster</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Weiß</td>
|
||
<td>Masse</td>
|
||
</tr>
|
||
</tbody>
|
||
</table><br>
|
||
<img src="/img/regensensor.jpg">
|
||
<h2>Kommentare:</h2>
|
||
<?php
|
||
|
||
$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
|
||
$result = $conn->query("SELECT * FROM comments WHERE article='$article'");
|
||
if ($result->num_rows > 0) {
|
||
while($row = $result->fetch_assoc()) {
|
||
$name = $row["name"] . "<br>";
|
||
$gravatar = get_gravatar($row["email"]);
|
||
$content = $row["comment"];
|
||
|
||
echo(<<<EOF
|
||
<h3 class="commentTitle">$name</h3>
|
||
<div class="comment">
|
||
<img src="$gravatar">
|
||
<article class="commentArticle">
|
||
<p class="commentText">$content</p>
|
||
</article>
|
||
</div>
|
||
EOF);
|
||
}
|
||
}
|
||
?>
|
||
|
||
<div id="newComment">
|
||
<form action="/newComment.php" method="post">
|
||
<label for="name">Name:</label><br>
|
||
<input type="text" id="name" name="name"><br><br>
|
||
|
||
<label for="email">E-Mail: (wird nicht veröffentlicht)</label><br>
|
||
<input type="text" id="email" name="email"><br><br>
|
||
|
||
<label for="comment">Kommentar:</label><br>
|
||
<textarea name="comment" id="comment"></textarea><br><br>
|
||
|
||
<input type="submit" value="Kommentar veröffentlichen"><br>
|
||
<p>Mit dem klick auf den obigen Button erklären sie sich mit der <a href="/datenschutzerklaerung.html">Datenschutzerklärung</a> einverstanden.</p>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<footer includeHTML="/include/footer.php">
|
||
</footer>
|
||
<script src="/js/includeHTML.js"></script>
|
||
</body>
|
||
</html>
|