<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://www.devtal.de/w/index.php?action=history&amp;feed=atom&amp;title=Doomsday_Device</id>
		<title>Doomsday Device - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://www.devtal.de/w/index.php?action=history&amp;feed=atom&amp;title=Doomsday_Device"/>
		<link rel="alternate" type="text/html" href="https://www.devtal.de/w/index.php?title=Doomsday_Device&amp;action=history"/>
		<updated>2026-06-16T14:28:18Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in /dev/tal</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://www.devtal.de/w/index.php?title=Doomsday_Device&amp;diff=3746&amp;oldid=prev</id>
		<title>Phip: Seite neu angelegt</title>
		<link rel="alternate" type="text/html" href="https://www.devtal.de/w/index.php?title=Doomsday_Device&amp;diff=3746&amp;oldid=prev"/>
				<updated>2017-01-13T13:49:05Z</updated>
		
		<summary type="html">&lt;p&gt;Seite neu angelegt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ProjektInfoBox&lt;br /&gt;
|name        = Doomsday Device&lt;br /&gt;
|status      = stable&lt;br /&gt;
|image       = doomsdaydevice.jpg&lt;br /&gt;
|description = Ein Doomsday Device fürs Space&lt;br /&gt;
|author      = phip&lt;br /&gt;
|username    = phip&lt;br /&gt;
|version     = &lt;br /&gt;
|update      = &lt;br /&gt;
|platform    = Arduino&lt;br /&gt;
|license     = GPL-3&lt;br /&gt;
|download    = [https://github.com/devtal-de/doomsday_device Github]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das '''Doomsday Device''' ist ein Arduino gesteuertes Dingens, welches die Zeit bis zum Doomsday Anzeigt. Es wurde komplett aus Einzelteilen hergestellt, die im Space herumflogen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:doomsdaydevice.jpg|480px|thumb|center|Das Doomsday Device am 2016-12-15]]&lt;br /&gt;
&lt;br /&gt;
Mt einem Floppy-Flachbandkabel wurde gleichzeitig ein knuffiges Steckbrett realisiert.&lt;br /&gt;
&lt;br /&gt;
Der Quellcode des Doomsday Devices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * doomsday.c - small, shiny Doomsday Device Controller&lt;br /&gt;
 * Copyright (C) 2016-2017, phip (/dev/tal e. V.)&lt;br /&gt;
 *&lt;br /&gt;
 * This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 * it under the terms of the GNU General Public License as published by&lt;br /&gt;
 * the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 * (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 * This program is distributed in the hope that it will be useful,&lt;br /&gt;
 * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 * GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 * You should have received a copy of the GNU General Public License&lt;br /&gt;
 * along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
char a =   0;  //  a&lt;br /&gt;
char b =   1;  // f b&lt;br /&gt;
char c =   4;  //  g&lt;br /&gt;
char d =   7;  // e c&lt;br /&gt;
char e =   8;  //  d&lt;br /&gt;
char f =   2;  //&lt;br /&gt;
char g =   3;  // see &amp;lt;https://de.wikipedia.org/wiki/Segmentanzeige&amp;gt; &lt;br /&gt;
char ld =  6;  //&lt;br /&gt;
char rd =  5;  //&lt;br /&gt;
enum {nn = 5}; //&lt;br /&gt;
&lt;br /&gt;
char l[nn] = {9, 10, 11, 12, 13};&lt;br /&gt;
unsigned int del = 1000;&lt;br /&gt;
unsigned int plexdel = 1;&lt;br /&gt;
&lt;br /&gt;
void nOut(char n) {&lt;br /&gt;
  switch(n) {&lt;br /&gt;
    case 0:&lt;br /&gt;
    //default:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  LOW);&lt;br /&gt;
      digitalWrite(f,  LOW);&lt;br /&gt;
      digitalWrite(g,  HIGH);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 1:&lt;br /&gt;
      digitalWrite(a,  HIGH);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  HIGH);&lt;br /&gt;
      digitalWrite(e,  HIGH);&lt;br /&gt;
      digitalWrite(f,  HIGH);&lt;br /&gt;
      digitalWrite(g,  HIGH);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 2:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  HIGH);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  LOW);&lt;br /&gt;
      digitalWrite(f,  HIGH);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 3:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  HIGH);&lt;br /&gt;
      digitalWrite(f,  HIGH);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 4:&lt;br /&gt;
      digitalWrite(a,  HIGH);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  HIGH);&lt;br /&gt;
      digitalWrite(e,  HIGH);&lt;br /&gt;
      digitalWrite(f,  LOW);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 5:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  HIGH);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  HIGH);&lt;br /&gt;
      digitalWrite(f,  LOW);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 6:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  HIGH);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  LOW);&lt;br /&gt;
      digitalWrite(f,  LOW);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 7:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  HIGH);&lt;br /&gt;
      digitalWrite(e,  HIGH);&lt;br /&gt;
      digitalWrite(f,  HIGH);&lt;br /&gt;
      digitalWrite(g,  HIGH);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 8:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  LOW);&lt;br /&gt;
      digitalWrite(f,  LOW);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
&lt;br /&gt;
    case 9:&lt;br /&gt;
      digitalWrite(a,  LOW);&lt;br /&gt;
      digitalWrite(b,  LOW);&lt;br /&gt;
      digitalWrite(c,  LOW);&lt;br /&gt;
      digitalWrite(d,  LOW);&lt;br /&gt;
      digitalWrite(e,  HIGH);&lt;br /&gt;
      digitalWrite(f,  LOW);&lt;br /&gt;
      digitalWrite(g,  LOW);&lt;br /&gt;
      digitalWrite(ld, HIGH);&lt;br /&gt;
      digitalWrite(rd, HIGH);&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void getOut(unsigned int n){&lt;br /&gt;
  char z[nn] = {char(n/10000), char((n/1000)%10), char((n/100)%10), char((n/10)%10), char(n%10)};&lt;br /&gt;
&lt;br /&gt;
  unsigned int countadd = del/plexdel;&lt;br /&gt;
  unsigned int count = 0;&lt;br /&gt;
&lt;br /&gt;
  while(count&amp;lt;del) {&lt;br /&gt;
    for (char i=0; i&amp;lt;nn; i++){&lt;br /&gt;
      for (char j=0; j&amp;lt;nn; j++){&lt;br /&gt;
        if (i != j) digitalWrite(l[j], LOW);&lt;br /&gt;
        else digitalWrite(l[j], HIGH);&lt;br /&gt;
      }&lt;br /&gt;
      nOut(z[i]);&lt;br /&gt;
      delay(plexdel);&lt;br /&gt;
      count++;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(a,  OUTPUT);&lt;br /&gt;
  pinMode(b,  OUTPUT);&lt;br /&gt;
  pinMode(c,  OUTPUT);&lt;br /&gt;
  pinMode(d,  OUTPUT);&lt;br /&gt;
  pinMode(e,  OUTPUT);&lt;br /&gt;
  pinMode(f,  OUTPUT);&lt;br /&gt;
  pinMode(g,  OUTPUT);&lt;br /&gt;
  pinMode(ld, OUTPUT);&lt;br /&gt;
  pinMode(rd, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  for (char i=0; i&amp;lt;nn; i++){&lt;br /&gt;
    pinMode(l[i], OUTPUT);&lt;br /&gt;
    digitalWrite(l[0], LOW);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(a,  LOW);&lt;br /&gt;
  digitalWrite(b,  LOW);&lt;br /&gt;
  digitalWrite(c,  LOW);&lt;br /&gt;
  digitalWrite(d,  LOW);&lt;br /&gt;
  digitalWrite(e,  LOW);&lt;br /&gt;
  digitalWrite(f,  LOW);&lt;br /&gt;
  digitalWrite(g,  LOW);&lt;br /&gt;
  digitalWrite(ld, LOW);&lt;br /&gt;
  digitalWrite(rd, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  unsigned int i = 21600;&lt;br /&gt;
  while (i&amp;gt;0) {&lt;br /&gt;
    getOut(i);&lt;br /&gt;
    i--;&lt;br /&gt;
  }&lt;br /&gt;
  getOut(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch auf [https://github.com/devtal-de/doomsday_device Github] zu haben.&lt;br /&gt;
&lt;br /&gt;
Dieses Projekt zeigt auch, was Menschen vollbringen können, wenn es ein mal kurz langweilig wird und sie eigentlich Mal eben die Welt retten sollten.&lt;/div&gt;</summary>
		<author><name>Phip</name></author>	</entry>

	</feed>