Source: https://www.kreativekiste.de/sonstiges/datenschutzerklaerung-kk/79-texte-fuer-die-seite
Timestamp: 2019-11-19 20:20:30+00:00

Document:
Texte für die Seite
SPS Training mit Fischertechnik, Trainingsmodell Farbsortierung
Erstellt: 26. September 2019
Hier ein Paar Bilder zum Fischertechnik SPS Trainingsmodell einer Anlage die Schokolinsen nach Farbe sortiert.
Weiterlesen: SPS Training mit Fischertechnik, Trainingsmodell Farbsortierung
SPS Regelung Lüftungsanlage
Diese Seite ist Teil von meinen SPS Trainingsmodellen. Hier finden sich nur die Bilder vom Trainingsmodell der Lüftungsanlage.
Hier geht es zum YouTube Video vom dem Modell.
Weiterlesen: SPS Regelung Lüftungsanlage
SPS Hebeanlage
Weiterlesen: SPS Hebeanlage
Simulation Schranke Bilder
Bilder zur Seite https://www.kreativekiste.de/sps-training-trainingsmodelle-download
arduino code Bahnübergang
#include (servo.h) --> die beiden Klammen durch Eckige Klammern ersetzen!!!
int taster = 0 ;
int zaeler = 0 ;
int faktor = 0 ;
Servo servo_pin_11;
void Unterprogramm();
pinMode( 2 , INPUT);
servo_pin_11.attach(11);
pinMode( 4 , OUTPUT);
pinMode( 3 , OUTPUT);
taster = 0 ;
zaeler = 0 ;
faktor = 3 ;
servo_pin_11.write( zaeler );
servo_pin_11.detach();
Serial.print("bereit");
if (( digitalRead(2) && ( ( taster ) == ( 0 ) ) ))
Serial.print("taster links gedrueckt");
digitalWrite( 4 , HIGH );
for (a=1; a<= ( 180 ); ++a )
zaeler = ( zaeler + 1 ) ;
delay( 10 );
Unterprogramm();
Serial.print(zaeler);
digitalWrite( 3 , LOW );
digitalWrite( 4 , LOW );
taster = 1 ;
zaeler = 180 ;
Serial.print("ende");
if (( digitalRead(2) && ( ( taster ) == ( 1 ) ) ))
Serial.print("taster rechts gedrueckt");
zaeler = ( zaeler - 1 ) ;
void Unterprogramm()
if (( ( zaeler ) == ( ( 10 * faktor ) ) ))
digitalWrite( 3 , HIGH );
if (( ( zaeler ) == ( ( 20 * faktor ) ) ))
if (( ( zaeler ) == ( ( 30 * faktor ) ) ))
if (( ( zaeler ) == ( ( 40 * faktor ) ) ))
if (( ( zaeler ) == ( ( 50 * faktor ) ) ))
if (( ( zaeler ) == ( ( 60 * faktor ) ) ))
if (( ( zaeler ) == ( ( 70 * faktor ) ) ))
if (( ( zaeler ) == ( ( 80 * faktor ) ) ))
if (( ( zaeler ) == ( ( 90 * faktor ) ) ))
if (( ( zaeler ) == ( ( 100 * faktor ) ) ))
if (( ( zaeler ) == ( ( 110 * faktor ) ) ))
if (( ( zaeler ) == ( ( 120 * faktor ) ) ))
if (( ( zaeler ) == ( ( 130 * faktor ) ) ))
if (( ( zaeler ) == ( ( 140 * faktor ) ) ))
if (( ( zaeler ) == ( ( 150 * faktor ) ) ))
if (( ( zaeler ) == ( ( 160 * faktor ) ) ))
if (( ( zaeler ) == ( ( 170 * faktor ) ) ))
if (( ( zaeler ) == ( ( 180 * faktor ) ) ))
Standard-QElectroTech-Variablen
Systematisierung von Schriftfeldvorlagen und automatische Nummerierung von Elementen, Leitern und Folien.
Variablen werden verwendet, um den Inhalt von Textfeldern und Eigenschaften aus Elementen, Folien und Leitern zu definieren. Abhängig von den Bedingungen während der Erstellung des Objekts (Folie, Element, Leiter usw.) wird die Variable des Text- oder Eigenschaftsfelds durch einen anderen Wert ersetzt.
Eine Eigenschaft ist eine Zeichenfolge, die mit dem Symbol % beginnt . Die von QElectrTech bereitgestellten Standardvariablen findet ihr hier.
% {projecttitle}: Project title
% {projectpath}: Project path
% {projectfilename}: Project file name
% {saveddate}: File saving date
% {filename}: Project file name
% {savedfilename}: Registered file name
% {savedfilepath}: Saved file path
% {savedtime}: File saving time
% {folio-total}: Total number of folios in the project
% {version}: Software version
% {machine}: Project functional group name
Die folgenden Variablen sind spezifische Variablen für jede Folie. Sie können zum Erstellen von Schriftfeldvorlagen verwendet werden.
% {folio-id}: Folio position in the project
% {title}: Folio title
% {author}: Folio author
% {date}: Folio date
% {folio}: Folio information (Label)
% {indexrev}: Folio revision index
% {locmach}: Name of the location in the project functional group
% {previous-folio-num}: Number previous folio
% {next-folio-num}: Number next folio
variables related to element
Die folgenden Variablen sind spezifische Variablen für jedes Element. Sie können verwendet werden, um automatische Nummerierungsmuster zu erstellen.
% {F}: Label from the folio where the element can be found
% {f}: Number from the folio where the element can be found
% {M}: Plant variable from the folio where the element can be found
% {LM}: Location variable of the folio where the element can be found
% {l}: Folio line number from the workspace where the element can be found
% {c}: Folio column number from the workspace where the element can be found
% {id}: Folio position in the project (Schema number)
variables related to conductor
Die folgenden Variablen sind spezifische Variablen für jeden Leiter (Leitung, Verbidung). Sie können verwendet werden, um automatische Nummerierungsmuster zu erstellen.
% {F}: Label from the folio where the conductor can be found
% {f}: Number from the folio where the conductor can be found
% {M}: Plant variable from the folio where the conductor can be found
% {LM}: Location variable of the folio where the conductor can be found
% {l}: Folio line number from the workspace where the conductor can be found
% {c}: Folio column number from the workspace where the conductor can be found
Dokumentationen von elektrischen Anlagen
Hier gibt es das kurze Beispiel aus dem YouTube Video zum Download.
Rechtsklick speichern unter --> zip Datei mit der ProfiCAD Vorlage und PDF Datei.
Koordinatensystem Schaltplan
Bild zum Youtube Video:
Weiterlesen: Koordinatensystem Schaltplan
Diese Seite verwendet aus diesem Grund so weit möglich keine personenbezogenen Daten. Es gibt kein Kontaktformular, wo sie ihr Daten eingeben können, es gibt keinen newsletter in den sie sich eintragen können, es gibt keine social Media Buttons wie gefällt mir oder +1 und es gibt keine Möglichkeit Kommentare zu hinterlassen.
Aus diesem Grund werden auch alle E-Mails die an unten stehende, im Impressum stehende oder auf der Kontakt Seite stehende Adresse/n gesendet werden, beantwortet und unmittelbar nach dem beantworten vollständig in meinem e-mail Account gelöscht.
Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie unsere Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung. Datenerfassung auf unserer Website Wer ist verantwortlich für die Datenerfassung auf dieser Website? Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Impressum dieser Website entnehmen.
Ihre Daten werden zum einen dadurch erhoben, da Sie uns diese selber mitteilen.
Andere Daten werden automatisch beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie unsere Website betreten. Wofür nutzen wir Ihre Daten?
Beim Besuch unserer Website kann Ihr Surf-Verhalten statistisch ausgewertet werden. Das geschieht vor allem mit Cookies und mit sogenannten Analyseprogrammen. Die Analyse Ihres Surf-Verhaltens erfolgt in der Regel anonym; das Surf-Verhalten kann nicht zu Ihnen zurückverfolgt werden. Sie können dieser Analyse widersprechen oder sie durch die Nichtbenutzung bestimmter Tools verhindern. Detaillierte Informationen zu diesen Tools und über Ihre Widerspruchsmöglichkeiten finden Sie in der
Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Dazu reicht eine formlose Mitteilung per E-Mail an uns. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt. Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen
Im Falle von Verstößen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes zu. Das Beschwerderecht besteht unbeschadet anderweitiger verwaltungsrechtlicher oder gerichtlicher Rechtsbehelfe. Recht auf Datenübertragbarkeit Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags
Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung, Sperrung oder Löschung dieser Daten.Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden.
Recht auf Einschränkung der Verarbeitung Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
Hierzu können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden. Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen: Wenn Sie die Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten, benötigen wir in der Regel Zeit, um dies zu überprüfen. Für die Dauer der Prüfung haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Wenn die Verarbeitung Ihrer personenbezogenen Daten unrechtmäßig geschah/geschieht, können Sie statt der Löschung die Einschränkung der Datenverarbeitung verlangen. Wenn wir Ihre personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung, Verteidigung oder Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht, statt der
Löschung die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Wenn Sie einen Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung zwischen Ihren und unseren Interessen vorgenommen werden. Solange noch nicht feststeht, wessen Interessen überwiegen, haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Europäischen Union oder
Browser speichert. Die meisten der von uns verwendeten Cookies sind so genannte „Session-Cookies“. Sie werden nach Ende Ihres Besuchs automatisch gelöscht. Andere Cookies bleiben auf Ihrem Endgerät gespeichert bis Sie diese löschen. Diese Cookies ermöglichen es uns, Ihren Browser beim nächsten Besuch wiederzuerkennen. Sie können Ihren Browser so einstellen, dass Sie über das Setzen von Cookies informiert werden und Cookies nur im Einzelfall erlauben, die Annahme von Cookies für bestimmte Fälle oder generell ausschließen sowie das automatische Löschen der Cookies beim Schließen des Browser aktivieren. Bei der Deaktivierung von Cookies kann die Funktionalität dieser Website eingeschränkt sein. Cookies, die zur Durchführung des elektronischen Kommunikationsvorgangs oder zur Bereitstellung bestimmter, von Ihnen erwünschter Funktionen (z. B. Warenkorbfunktion) erforderlich sind, werden auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO gespeichert. Der Websitebetreiber hat ein berechtigtes Interesse an der Speicherung von Cookies zur technisch fehlerfreien und optimierten Bereitstellung seiner Dienste.
Zugriffe: 48089
hier findest du viele detaillierte Bastelideen mit Holz, Metall und vielen anderen Materialien. Du kannst Schaltungen mit 9 Volt nachbauen oder den Arduino mit der grafischen Programmierung Ardublock ganz einfach programmieren. Es gibt Experimente, Rezepte, eine Outdoor Seite, Gedanken über Gott und die Welt, Spielgeräte zum Nachbauen, einen kleinen Blog über mich und einiges mehr.
Wenn dir die Seite gefällt dann teile sie doch mit deinen Freunden oder unterstütze die Arbeit mit einer kleinen Spende.
Und nun viel Spaß beim stöbern und kreativ sein :-), dein Ronnie.
Zugriffe: 17472
Meine Vorlagen findet ihr nun bei thingiverse, das für mich einfacher und für euch viel besser zum anschauen, da es gleich eine 3D vorschau gibt.
https://www.thingiverse.com/kreativekiste/designs
Weiterlesen: 3D-druck-vorlagen
3D Druck Werkzeugkiste
Zugriffe: 15300
Hier gibt es die beiden Werkzeugkisten zum herunterladen und ausdrucken.
Weiterlesen: 3D Druck Werkzeugkiste
Fabbrica di filo caldo - istruzioni per la costruzione
Il filo caldo è il classico assoluto quando si tratta di giochi elettrici. Filo caldo è, ma non lo stesso filo, caldo, perché ci sono molti circuiti differenti e tipi di gioco. Su questa pagina, mi piacerebbe introdurre di più di 15 circuiti e diversi tipi di filo caldo.
Weiterlesen: Fabbrica di filo caldo - istruzioni per la costruzione
Code für Arduino Uno/ Mega
char spiel = ' ' ;
pinMode( 3 , INPUT);
pinMode( 5 , INPUT);
pinMode( 4 , INPUT);
pinMode( 8 , OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
spiel = 'A';
digitalWrite( 8 , HIGH );
digitalWrite( 9 , HIGH );
digitalWrite( 10 , HIGH );
digitalWrite( 8 , LOW );
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
if (!( digitalRead(3) ))
spiel = 'B';
if (!( digitalRead(4) ))
while ( ( ( spiel ) == ( 'B' ) ) )
if (!( digitalRead(5) ))
Code für Attiny 45
int spiel = 0 ;
pinMode( 0 , OUTPUT);
pinMode( 2 , OUTPUT);
spiel = 0 ;
digitalWrite( 0 , LOW );
if (digitalRead(3))
spiel = 1 ;
digitalWrite( 1 , HIGH );
digitalWrite( 2 , HIGH );
digitalWrite( 2 , LOW );
digitalWrite( 0 , HIGH );
while ( ( ( spiel ) == ( 1 ) ) )
ardublock code beispiele
Zugriffe: 18909
Hier gibt die Ardublock Code Beispiele die ich in Videos oder auf meiner Seite vorstelle:
Weiterlesen: ardublock code beispiele
heisser draht für zwei 2 spieler
Erstellt: 17. April 2017
int start = 0 ;
int startlinks = 0 ;
int startrechts = 0 ;
int fehlerlinks = 0 ;
int fehlerrechts = 0 ;
int helligkeit = 0 ;
Adafruit_NeoPixel strip_pin5 = Adafruit_NeoPixel(8,5, NEO_RGB + NEO_KHZ800);
void Unterprogramm9();
void Unterprogramm12();
void Unterprogramm1();
void Unterprogramm2();
void Unterprogramm3();
void Unterprogramm8();
pinMode( 10 , INPUT);
pinMode( 9 , INPUT);
pinMode( 11 , INPUT);
pinMode( 12 , INPUT);
pinMode( 7 , OUTPUT);
strip_pin5.begin();
strip_pin5.show();
Unterprogramm8();
if (( ( !( digitalRead(10) ) || !( digitalRead(12) ) ) && ( ( start ) == ( 0 ) ) ))
start = 1 ;
startlinks = 1 ;
startrechts = 1 ;
digitalWrite( 7 , HIGH );
for (a=1; a<= ( 3 ); ++a )
tone(6, 500, 500);
tone(6, 800, 1000);
digitalWrite( 7 , LOW );
Unterprogramm1();
Unterprogramm2();
Unterprogramm3();
void Unterprogramm12()
tone(6, 900, 3000);
void Unterprogramm9()
fehlerlinks = 5 ;
startrechts = 5 ;
startlinks = 5 ;
fehlerrechts = 5 ;
start = 0 ;
startrechts = 0 ;
startlinks = 0 ;
helligkeit = 180 ;
void Unterprogramm3()
if (( !( digitalRead(2) ) && ( ( fehlerrechts ) == ( 0 ) ) ))
Unterprogramm9();
strip_pin5.setBrightness(helligkeit);
strip_pin5.setPixelColor(0,0 ,0 ,120 );
strip_pin5.setPixelColor(1,0 ,0 ,120 );
strip_pin5.setPixelColor(2,0 ,0 ,120 );
strip_pin5.setPixelColor(5,0 ,120 ,0 );
strip_pin5.setPixelColor(6,0 ,120 ,0 );
strip_pin5.setPixelColor(7,0 ,120 ,0 );
Unterprogramm12();
if (( !( digitalRead(3) ) && ( ( fehlerlinks ) == ( 0 ) ) ))
strip_pin5.setPixelColor(5,0 ,0 ,120 );
strip_pin5.setPixelColor(6,0 ,0 ,120 );
strip_pin5.setPixelColor(7,0 ,0 ,120 );
strip_pin5.setPixelColor(0,0 ,120 ,0 );
strip_pin5.setPixelColor(1,0 ,120 ,0 );
strip_pin5.setPixelColor(2,0 ,120 ,0 );
void Unterprogramm1()
if (( !( digitalRead(10) ) && ( ( startrechts ) == ( 1 ) ) ))
fehlerrechts = 0 ;
strip_pin5.setPixelColor(0,120 ,0 ,0 );
strip_pin5.setPixelColor(1,120 ,0 ,0 );
strip_pin5.setPixelColor(2,120 ,0 ,0 );
if (( !( digitalRead(12) ) && ( ( startlinks ) == ( 1 ) ) ))
fehlerlinks = 0 ;
strip_pin5.setPixelColor(5,120 ,0 ,0 );
strip_pin5.setPixelColor(6,120 ,0 ,0 );
strip_pin5.setPixelColor(7,120 ,0 ,0 );
void Unterprogramm2()
if (( ( ( startrechts ) == ( 1 ) ) && !( digitalRead(9) ) ))
fehlerrechts = 1 ;
if (( ( ( startlinks ) == ( 1 ) ) && !( digitalRead(11) ) ))
fehlerlinks = 1 ;
void Unterprogramm8()
strip_pin5.setPixelColor(0,0 ,0 ,0 );
strip_pin5.setPixelColor(1,0 ,0 ,0 );
strip_pin5.setPixelColor(2,0 ,0 ,0 );
strip_pin5.setPixelColor(3,0 ,0 ,70 );
strip_pin5.setPixelColor(4,0 ,0 ,70 );
strip_pin5.setPixelColor(5,0 ,0 ,0 );
strip_pin5.setPixelColor(6,0 ,0 ,0 );
strip_pin5.setPixelColor(7,0 ,0 ,0 );
Zugriffe: 9017
Mittlerweile bekomme ich relativ viele Anfragen insbesondere zur Arduino und Siemens LOGO Programmierung. Ich helfe gern, schreibe auch mal den ein oder anderen Code wenn ich kann. Als kleines Dankeschön für einen fertigen Code, für eine Antwort die weitergeholfen hat oder ein Problem dass ich lösen konnte oder wenn du die Seite toll findest, würde ich mich über einen Besuch auf meiner Palypal Seite freuen.
E-Mails die an unten stehende Adresse gesendet werden, werden beantwortet und unmittelbar noch dem beantworten vollständig gelöscht. Mehr Informationen finden Sie in der Datenschutzgrundverordnung,unter
https://www.kreativekiste.de/sonstiges/datenschutzerklaerung-kk
Kontaktmail --> Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
heißer draht mit zwei servomotoren
Zugriffe: 19735
Heißer Draht bei dem hilfe von zwei Servomatoren die Zeit und die Fehler angezeigt werden.
int startstopp = 0 ;
int fehler = 0 ;
int zeit = 0 ;
int servo = 0 ;
Servo servo_pin_9;
servo_pin_9.attach(9);
startstopp = 0 ;
fehler = 0 ;
zeit = 1000 ;
servo = 5 ;
servo_pin_11.write( 0 );
servo_pin_9.write( 5 );
servo_pin_9.detach();
Serial.print("startstopp");
Serial.print(startstopp);
if (!( digitalRead(2) ))
startstopp = ( startstopp + 1 ) ;
if (( ( startstopp ) == ( 1 ) ))
long current=millis();
while(current+6000>=millis())
if (( ( 180 ) >= ( servo ) ))
servo_pin_9.write( servo );
if (( ( 181 ) <= ( servo ) ))
delay( 500 );
servo = ( servo + 5 ) ;
fehler = ( fehler + 1 ) ;
servo = ( servo + 6 ) ;
Serial.print("servo");
Serial.print(servo);
if (( ( startstopp ) == ( 2 ) ))
if (( ( ( startstopp ) == ( 3 ) ) || ( ( ( startstopp ) == ( 4 ) ) || ( ( startstopp ) == ( 5 ) ) ) ))
if (( ( fehler ) == ( 1 ) ))
delay( 5 );
servo_pin_11.write( 18 );
if (( ( fehler ) == ( 2 ) ))
servo_pin_11.write( 36 );
if (( ( fehler ) == ( 3 ) ))
servo_pin_11.write( 54 );
if (( ( fehler ) == ( 4 ) ))
servo_pin_11.write( 72 );
if (( ( fehler ) == ( 5 ) ))
servo_pin_11.write( 90 );
if (( ( fehler ) == ( 6 ) ))
servo_pin_11.write( 108 );
if (( ( fehler ) == ( 7 ) ))
servo_pin_11.write( 126 );
if (( ( fehler ) == ( 8 ) ))
servo_pin_11.write( 144 );
if (( ( fehler ) == ( 9 ) ))
servo_pin_11.write( 162 );
if (( ( fehler ) == ( 10 ) ))
servo_pin_11.write( 180 );
startstopp = 3 ;
heisser Draht spiel mit 8x8 LED Matrix Arduino Code
Erstellt: 09. Dezember 2016
Zugriffe: 19405
#include <Sprite.h>
int zeit ;
Matrix mesLeds121110 = Matrix(12,11,10,1);
int X[] = {
0,7,6,5,4,3,2,1};
int Y[] = {
7,6,5,4,3,2,1,0};
void Unterprogramm0();
pinMode( 7 , INPUT);
pinMode( 5 , OUTPUT);
mesLeds121110.clear();
mesLeds121110.setBrightness(15);
for (zeit; zeit<= ( 5 ); ++zeit )
mesLeds121110.write(X[0],Y[1],HIGH);
mesLeds121110.write(X[1],Y[1],HIGH);
mesLeds121110.write(X[2],Y[1],HIGH);
mesLeds121110.write(X[3],Y[1],HIGH);
mesLeds121110.write(X[4],Y[1],HIGH);
mesLeds121110.write(X[5],Y[1],HIGH);
mesLeds121110.write(X[6],Y[1],HIGH);
mesLeds121110.write(X[7],Y[1],HIGH);
mesLeds121110.write(X[0],Y[2],HIGH);
mesLeds121110.write(X[1],Y[2],HIGH);
mesLeds121110.write(X[2],Y[2],HIGH);
mesLeds121110.write(X[3],Y[2],HIGH);
mesLeds121110.write(X[4],Y[2],HIGH);
mesLeds121110.write(X[5],Y[2],HIGH);
mesLeds121110.write(X[6],Y[2],HIGH);
mesLeds121110.write(X[7],Y[2],HIGH);
mesLeds121110.write(X[0],Y[5],HIGH);
mesLeds121110.write(X[1],Y[5],HIGH);
mesLeds121110.write(X[2],Y[5],HIGH);
mesLeds121110.write(X[3],Y[5],HIGH);
mesLeds121110.write(X[4],Y[5],HIGH);
mesLeds121110.write(X[5],Y[5],HIGH);
mesLeds121110.write(X[6],Y[5],HIGH);
mesLeds121110.write(X[7],Y[5],HIGH);
mesLeds121110.write(X[0],Y[6],HIGH);
mesLeds121110.write(X[1],Y[6],HIGH);
mesLeds121110.write(X[2],Y[6],HIGH);
mesLeds121110.write(X[3],Y[6],HIGH);
mesLeds121110.write(X[4],Y[6],HIGH);
mesLeds121110.write(X[5],Y[6],HIGH);
mesLeds121110.write(X[6],Y[6],HIGH);
mesLeds121110.write(X[7],Y[6],HIGH);
mesLeds121110.write(X[7],Y[3],HIGH);
mesLeds121110.write(X[7],Y[4],HIGH);
mesLeds121110.write(X[6],Y[3],HIGH);
mesLeds121110.write(X[6],Y[4],HIGH);
mesLeds121110.write(X[0],Y[3],HIGH);
mesLeds121110.write(X[0],Y[4],HIGH);
mesLeds121110.write(X[1],Y[3],HIGH);
mesLeds121110.write(X[1],Y[4],HIGH);
mesLeds121110.write(X[0],Y[1],LOW);
mesLeds121110.write(X[1],Y[1],LOW);
mesLeds121110.write(X[2],Y[1],LOW);
mesLeds121110.write(X[3],Y[1],LOW);
mesLeds121110.write(X[4],Y[1],LOW);
mesLeds121110.write(X[5],Y[1],LOW);
mesLeds121110.write(X[6],Y[1],LOW);
mesLeds121110.write(X[7],Y[1],LOW);
mesLeds121110.write(X[0],Y[2],LOW);
mesLeds121110.write(X[1],Y[2],LOW);
mesLeds121110.write(X[2],Y[2],LOW);
mesLeds121110.write(X[3],Y[2],LOW);
mesLeds121110.write(X[4],Y[2],LOW);
mesLeds121110.write(X[5],Y[2],LOW);
mesLeds121110.write(X[6],Y[2],LOW);
mesLeds121110.write(X[7],Y[2],LOW);
mesLeds121110.write(X[0],Y[5],LOW);
mesLeds121110.write(X[1],Y[5],LOW);
mesLeds121110.write(X[2],Y[5],LOW);
mesLeds121110.write(X[3],Y[5],LOW);
mesLeds121110.write(X[4],Y[5],LOW);
mesLeds121110.write(X[5],Y[5],LOW);
mesLeds121110.write(X[6],Y[5],LOW);
mesLeds121110.write(X[7],Y[5],LOW);
mesLeds121110.write(X[0],Y[6],LOW);
mesLeds121110.write(X[1],Y[6],LOW);
mesLeds121110.write(X[2],Y[6],LOW);
mesLeds121110.write(X[3],Y[6],LOW);
mesLeds121110.write(X[4],Y[6],LOW);
mesLeds121110.write(X[5],Y[6],LOW);
mesLeds121110.write(X[6],Y[6],LOW);
mesLeds121110.write(X[7],Y[6],LOW);
mesLeds121110.write(X[7],Y[3],LOW);
mesLeds121110.write(X[7],Y[4],LOW);
mesLeds121110.write(X[6],Y[3],LOW);
mesLeds121110.write(X[6],Y[4],LOW);
mesLeds121110.write(X[0],Y[3],LOW);
mesLeds121110.write(X[0],Y[4],LOW);
mesLeds121110.write(X[1],Y[3],LOW);
mesLeds121110.write(X[1],Y[4],LOW);
if (digitalRead(7))
digitalWrite( 5 , HIGH );
Unterprogramm0();
mesLeds121110.write(X[2],Y[4],HIGH);
mesLeds121110.write(X[3],Y[4],HIGH);
mesLeds121110.write(X[4],Y[4],HIGH);
mesLeds121110.write(X[5],Y[4],HIGH);
mesLeds121110.write(X[5],Y[3],HIGH);
delay( 600 );
digitalWrite( 5 , LOW );
mesLeds121110.write(X[4],Y[3],HIGH);
mesLeds121110.write(X[3],Y[3],HIGH);
mesLeds121110.write(X[2],Y[3],HIGH);
delay( 32000 );
void Unterprogramm0()
mesLeds121110.write(X[0],Y[0],LOW);
mesLeds121110.write(X[0],Y[7],LOW);
mesLeds121110.write(X[1],Y[0],LOW);
mesLeds121110.write(X[1],Y[7],LOW);
mesLeds121110.write(X[2],Y[0],LOW);
mesLeds121110.write(X[2],Y[3],LOW);
mesLeds121110.write(X[2],Y[4],LOW);
mesLeds121110.write(X[2],Y[7],LOW);
mesLeds121110.write(X[3],Y[0],LOW);
mesLeds121110.write(X[3],Y[3],LOW);
mesLeds121110.write(X[3],Y[4],LOW);
mesLeds121110.write(X[3],Y[7],LOW);
mesLeds121110.write(X[4],Y[0],LOW);
mesLeds121110.write(X[4],Y[3],LOW);
mesLeds121110.write(X[4],Y[4],LOW);
mesLeds121110.write(X[4],Y[7],LOW);
mesLeds121110.write(X[5],Y[0],LOW);
mesLeds121110.write(X[5],Y[3],LOW);
mesLeds121110.write(X[5],Y[4],LOW);
mesLeds121110.write(X[5],Y[7],LOW);
mesLeds121110.write(X[6],Y[0],LOW);
mesLeds121110.write(X[6],Y[7],LOW);
mesLeds121110.write(X[7],Y[0],LOW);
mesLeds121110.write(X[7],Y[7],LOW);
heisser draht ohne betrügen mit 3 led grün gelb rot und arduino
Zugriffe: 19221
int ersterstart = 0 ;
pinMode( 11 , OUTPUT);
pinMode( 12 , OUTPUT);
ersterstart = 0 ;
digitalWrite( 11 , HIGH );
digitalWrite( 12 , LOW );
if (( !( digitalRead(3) ) && ( ( ersterstart ) == ( 0 ) ) ))
spiel = ( spiel + 1 ) ;
ersterstart = ( ersterstart + 10 ) ;
digitalWrite( 11 , LOW );
digitalWrite( 12 , HIGH );
Serial.print("spiel gesperrt");
while ( ( !( digitalRead(4) ) && ( ( spiel ) == ( 1 ) ) ) )
while ( ( ( spiel ) == ( 2 ) ) )
while ( ( !( digitalRead(5) ) && ( ( spiel ) == ( 1 ) ) ) )
Serial.print("spiel gemeistert");
Zugriffe: 18462
Sie erhalten in den nächsten Tagen eine e-mail mit der Rechnung für ihre Bestellung. Bitte überweisen sie den Betrag auf das auf der Rechnung angegeben Konto. Mit der Überweisung ist der Kaufvertrag dann zustande gekommen und ich versende so schnell wie möglich aber innerhalb von 10 Werktagen die Schaltung oder das Spiel an sie.
Wenn sie ein Angebot oder eine Frage abgesendet haben erhalten sie ebenfalls in den nächsten Tage eine Antwort oder ein konkretes Angebot.
Viele Grüße ihr Team von kreativekiste.de
Hier geht es zur Startseite von KreativeKiste.de
Hier geht es zur Heißen-Draht-Manufaktur.de
heisser draht mit Neo Pixel für Arduino
Adafruit_NeoPixel strip_pin6 = Adafruit_NeoPixel(12,6, NEO_RGB + NEO_KHZ800);
int pixel = 0 ;
int farbe = 0 ;
bool entprellen= false ;
int entprellenstopp = 0 ;
int summerstopp = 0 ;
int rot = 0 ;
int greun = 0 ;
int blau = 0 ;
int rot1 = 0 ;
int greun1 = 0 ;
int blau1 = 0 ;
int farben = 0 ;
void Unterprogramm4();
strip_pin6.begin();
strip_pin6.show();
randomSeed(analogRead(A0) + analogRead(A1) + analogRead(A2));
strip_pin6.setBrightness(200);
zaeler = -1 ;
pixel = -1 ;
farbe = 0 ;
entprellen = LOW ;
entprellenstopp = 0 ;
summerstopp = 0 ;
rot = 0 ;
greun = 0 ;
blau = 0 ;
rot1 = 0 ;
greun1 = 0 ;
blau1 = 0 ;
farben = 0 ;
while(current+100>=millis())
if (( digitalRead(2) && !( entprellen ) ))
entprellen = HIGH ;
farben = ( farben + 1 ) ;
Serial.print(farben);
Unterprogramm4();
if (( ( zaeler ) <= ( 12 ) ))
pixel = ( pixel + 1 ) ;
strip_pin6.setPixelColor(pixel,rot ,greun ,blau );
if (( ( zaeler ) == ( 13 ) ))
zaeler = 14 ;
if (( ( zaeler ) >= ( 14 ) ))
strip_pin6.setPixelColor(pixel,rot1 ,greun1 ,blau1 );
if (( ( zaeler ) == ( 25 ) ))
if (entprellen)
entprellenstopp = ( entprellenstopp + 1 ) ;
summerstopp = ( summerstopp + 1 ) ;
if (( ( entprellenstopp ) == ( 10 ) ))
if (( ( summerstopp ) == ( 30 ) ))
void Unterprogramm4()
if (( ( farben ) == ( 1 ) ))
rot1 = random( 50 ) ;
greun1 = random( 50 ) ;
blau1 = random( 50 ) ;
if (( ( farben ) == ( 24 ) ))
rot = random( 50 ) ;
greun = random( 50 ) ;
blau = random( 50 ) ;
if (( ( 1 ) <= ( fehler ) ))
strip_pin6.setPixelColor(0,2 ,255 ,2 );
if (( ( 2 ) <= ( fehler ) ))
strip_pin6.setPixelColor(1,2 ,255 ,2 );
if (( ( 3 ) <= ( fehler ) ))
strip_pin6.setPixelColor(2,2 ,255 ,2 );
if (( ( 4 ) <= ( fehler ) ))
strip_pin6.setPixelColor(3,2 ,255 ,2 );
if (( ( 5 ) <= ( fehler ) ))
strip_pin6.setPixelColor(4,2 ,255 ,2 );
if (( ( 6 ) <= ( fehler ) ))
strip_pin6.setPixelColor(5,2 ,255 ,2 );
if (( ( 7 ) <= ( fehler ) ))
strip_pin6.setPixelColor(6,2 ,255 ,2 );
if (( ( 8 ) <= ( fehler ) ))
strip_pin6.setPixelColor(7,2 ,255 ,2 );
if (( ( 9 ) <= ( fehler ) ))
strip_pin6.setPixelColor(8,2 ,255 ,2 );
if (( ( 10 ) <= ( fehler ) ))
strip_pin6.setPixelColor(9,2 ,255 ,2 );
if (( ( 11 ) <= ( fehler ) ))
strip_pin6.setPixelColor(10,2 ,255 ,2 );
if (( ( 12 ) <= ( fehler ) ))
strip_pin6.setPixelColor(11,2 ,255 ,2 );
heisser Draht one chance arduino code
Zugriffe: 19540
analogWrite(0 , 115);
analogWrite(1 , 115);
delay( 1500 );
for (a=1; a<= ( 32000 ); ++a )
heisser-draht-fehler-led-summer-code
Zugriffe: 19024
pinMode( 0 , INPUT);
analogWrite(1 , 150);
delay( 300 );
delay( 900 );
delay( 2 );
heißer Draht mit sieben Segment Anzeige bauen Code
Zugriffe: 19976
pinMode( 6 , OUTPUT);
if (	digitalRead( 7))
if (( ( fehler ) == ( 0 ) ))
digitalWrite( 6 , LOW );
digitalWrite( 6 , HIGH );
VAR_1_fehler = 0 ;
heißer Draht mit LCD Display Fehler und Zeit Messung
// software for http://www.kreativekiste.de/elektro/dem-heissen-draht-auf-der-spur
// developed by Timo Denk (Nov 2014)
// 0: start
// 1: stop
// 2: mistake
// 3: buzzer
// A0: penalty time
// A4: display SDA
// A5: display SCL
LiquidCrystal_I2C lcd(0x3F,20,4);
const byte startPin = 0, stopPin = 1, mistakePin = 2, buzzerPin = 3, penaltyTimePin = A0;
const byte minPenaltyTime = 1, maxPenaltyTime = 17; // [t] = 1 s
const String penaltyTimeString = "Fehler", finalTimeString = "Endzeit", timeString = "Zeit", commercialString = "www.kreativekiste.de", mistakeString = "Berührt!!!", totalTime = "Gesamtzeit";
long millisStart, millisEnd;
int mistakes, penaltyTime, lastPenaltyTime;
pinMode(startPin, INPUT);
pinMode(stopPin, INPUT);
pinMode(mistakePin, INPUT);
digitalWrite(startPin, HIGH);
digitalWrite(stopPin, HIGH);
digitalWrite(mistakePin, HIGH);
printStringCenter(1, "Heisser Draht");
printStringCenter(2, "Strafzeit einstellen");
lastPenaltyTime = 0, penaltyTime = 0;
// waiting for game to start
while (digitalRead(startPin) == HIGH) {
penaltyTime = (byte)round(map(analogRead(penaltyTimePin), 0, 1023, minPenaltyTime, maxPenaltyTime));
if (penaltyTime != lastPenaltyTime) {
clearRow(3);
printStringCenter(3, String(penaltyTime) + " s");
lastPenaltyTime = penaltyTime;
// game running
millisStart = millis();
mistakes = 0;
while (digitalRead(stopPin) == HIGH) {
// check for mistakes
printStatusOnScreen();
if (digitalRead(mistakePin) == LOW) {
mistakes++;
// game finished
millisEnd = millis();
clearRow(0);
printStringCenter(0, "Spiel beendet!");
void printStatusOnScreen() {
int playingTime = round((millis() - millisStart)/1000), penaltyTimeSum = mistakes * penaltyTime;
printStringCenter(1, "Spielzeit: " + sec2MinSecString(playingTime));
printStringCenter(2, "Fehler: " + String(mistakes) + " x " + String(penaltyTime) + "s");
printStringCenter(3, "Gesamt: " + sec2MinSecString(playingTime + penaltyTimeSum));
void showCommercial() {
printStringCenter(0, commercialString);
clearRow(i);
showCommercial();
void printStringCenter(byte row, String string) {
lcd.setCursor((int)((20 - string.length()) / 2), row);
lcd.print(string);
void clearRow(byte row) {
lcd.setCursor(0, row);
String sec2MinSecString(int input) { // converts seconds to a string like "minutes:seconds"
String minutes = String((int)(input / 60));
String seconds = String(input % 60);
if (seconds.length() == 1)
//if (minutes.length() == 1)
// minutes = "0" + minutes;
return minutes + ":" + seconds + " ";
8x7 Segment Anzeige MAX7219CWG Stoppuhr Counter heißer Draht
Erstellt: 19. April 2016
Zugriffe: 21371
Heißer Draht Code mit Stoppuhr (8-Stellige 7-Segmentanzeige mit serieller Ansteuerung (MAX7219), Arduino komp.) und Summer.
// code by: Hugo T.
LedControl lc = LedControl(12, 11, 10,1 );
const int buttonPin = 2; // Start, Stopp, Reset PIN
const int failurePin = 4; // Fehler PIN
const int beeepPin = 13; // Summer Pin (je nach Summer über einen Transitor)
lc.shutdown(0, false);
lc.setIntensity(0, 15);
pinMode(failurePin, INPUT);
pinMode(beeepPin, OUTPUT);
void printDashes() {
lc.setChar(0, 0, '-', false);
lc.setChar(0, 1, '-', false);
lc.setChar(0, 2, '-', false);
lc.setChar(0, 3, '-', false);
lc.setChar(0, 4, '-', false);
lc.setChar(0, 5, '-', false);
lc.setChar(0, 6, '-', false);
lc.setChar(0, 7, '-', false);
void blink(int times)
lc.setScanLimit(0, 7);
printDashes();
lc.setScanLimit(0, 0);
void countdown(int counter)
while (counter >= 0)
int maxDigit = 0;
int n = counter;
int digit = n % 10;
lc.setDigit(0, i, digit, false);
if (digit)
maxDigit = i;
lc.setScanLimit(0, maxDigit);
void displayNumbers(int counter, int seconds, int minutes)
showTime(counter, 0);
showTime(seconds, 3);
showTime(minutes, 6);
void showTime(int value, int positionStart) {
int positionEnd = positionStart+2;
for (int i = positionStart; i < positionEnd; i++) {
int didStart = 0;
int startButtonState = 0;
int failureButtonState = 0;
if (counter > 100) {
if (seconds > 60) {
displayNumbers(counter, seconds, minutes);
startButtonState = digitalRead(buttonPin);
failureButtonState = digitalRead(failurePin);
if (didStart == 1 | startButtonState == 1)
if (didStart == 0) {
digitalWrite(beeepPin, HIGH);
if (seconds > 1) {
digitalWrite(beeepPin, LOW);
didStart = 1;
if (seconds > 1 & startButtonState == 1)
} while (startButtonState == 0 );
didStart = 0;
if(failureButtonState == 1){
if (didStart != 0) {
//lc.clearDisplay(0);
99 Sekunden Timer für einen Attiny attiny 2013, heißer draht
Erstellt: 02. April 2016
Zugriffe: 20180
99 SEKUNDEN Timer für einen heißen Draht. Die Verdrahtung eurer sieben Segment Anzeige entnehmt ihr bitte aus dem Datenblatt und gleicht mit (void set1(byte value)) für die erste und (void set10(byte value) für die zweite stelle ab.
const byte startStopPin = 0, mistakePin = 1, buzzerPin = 16;
long startMillis;
pinMode(startStopPin, INPUT);
displayNumber(0);
while(digitalRead(startStopPin) == LOW) // wait for the start signal
long number = 99 - (millis() - startMillis) / 1000;
if (digitalRead(startStopPin) == HIGH && (millis() - startMillis) > 2000)
if (digitalRead(mistakePin) == HIGH && (millis() - startMillis) > 2000)
displayNumber(number);
void displayNumber(byte x)
x %= 100;
set1(~dec27(x % 10));
set10(~dec27(x / 10));
void set1(byte value)
digitalWrite(2, bitRead(value, 0)); // segment a
digitalWrite(3, bitRead(value, 1)); // segment b
digitalWrite(4, bitRead(value, 2)); // segment c
digitalWrite(5, bitRead(value, 3)); // segment d
digitalWrite(6, bitRead(value, 4)); // segment e
digitalWrite(7, bitRead(value, 5)); // segment f
digitalWrite(8, bitRead(value, 6)); // segment g
void set10(byte value)
digitalWrite(9, bitRead(value, 0)); // segment a
digitalWrite(10, bitRead(value, 1)); // segment b
digitalWrite(11, bitRead(value, 2)); // segment c
digitalWrite(12, bitRead(value, 3)); // segment d
digitalWrite(13, bitRead(value, 4)); // segment e
digitalWrite(14, bitRead(value, 5)); // segment f
digitalWrite(15, bitRead(value, 6)); // segment g
byte dec27(byte decimal) {
if (decimal == 0)
return B00111111;
if (decimal == 1)
return B00000110;
if (decimal == 2)
return B01011011;
if (decimal == 3)
return B01001111;
if (decimal == 4)
return B01100110;
if (decimal == 5)
return B01101101;
if (decimal == 6)
return B01111101;
if (decimal == 7)
return B0000111;
if (decimal == 8)
return B01111111;
if (decimal == 9)
return B01101111;
Attiny Blaulicht mit Sirene für Feuerwehr & Polizei
Zugriffe: 10926
Einfacher Sketch für ein Blaulicht mit Sirene.
Weiterlesen: Attiny Blaulicht mit Sirene für Feuerwehr & Polizei
Attiny 44 Ampel für zwei Ampelphasen
Erstellt: 02. Februar 2016
Zugriffe: 6477
delay( 4000 );
delay( 9500 );
delay( 3100 );
delay( 15000 );
delay( 3300 );
Hg = Batterie enthält mehr als 0,0005 Masseprozent Quecksilber."
Auszüge und Erklärung zu den Gesetzestexten:
1. Rücknahmepflicht
Gem. § 9 Abs.1 BattG ist jeder Vertreiber von Batterien verpflichtet, vom Endnutzer Altbatterien an oder in unmittelbarer Nähe der Verkaufsstelle unentgeltlich
zurückzunehmen.
Die Rücknahmepflicht ist allerdings auf Altbatterien der Art beschränkt, die der Vertreiber als Neubatterien im Sortiment führt oder geführt hat.
Der Kunde ist also nicht dahingehend beschränkt, ausschließlich die Batterien zurückzugeben, die er beim Vertreiber auch tatsächlich erworben hat - er darf aber auch keine „sortimentsfremden“ Altbatterien zurückgeben.
2. Hinweisplicht
Jeder Vertreiber, der gewerblich Batterien an Endnutzer abgibt, hat den Kunden gem. § 18 Abs.1 BattG durch gut sicht- und lesbare, im unmittelbaren Sichtbereich des Hauptkundenstroms platzierte Schrift- oder Bildtafeln darauf hinzuweisen:
dass Batterien nach Gebrauch an der Verkaufsstelle unentgeltlich zurückgegeben werden können;
dass der Endnutzer zur Rückgabe von Altbatterien gesetzlich verpflichtet ist;
welche Bedeutung das Symbol der durchgestrichene Mülltonne gem. § 17 Abs.1 BattG hat;
welche Bedeutung die nachfolgenden chemischen Zeichen Hg, Cd, Pb nach § 17 Abs.3 BattG haben
Erstellt: 04. Dezember 2015
Zugriffe: 17198
Bestellen Sie hier ihre Schaltung oder ihren heißen Draht. Sie haben Fragen zu einem Spiel oder möchten ein individuelles Angebot, dann zögern Sie nicht und holen sich Ihr Angebot noch heute ein.
Sie erhalten eine Kopie dieser Nachricht an die angegeben E-Mail Adresse.
attiny 45 Dimmerfunktion mit Sleepmodus über rest
Zugriffe: 22106
#define BODS 7 //BOD Sleep bit in MCUCR
#define BODSE 2 //BOD Sleep enable bit in MCUCR
uint8_t mcucr1, mcucr2;
int led0= 0;
int led1 = 1;
int lcount = 0;
int dimmer = 255 ;
void goToSleep(void) {
// GIMSK |= _BV(INT0); //enable INT0
// MCUCR &= ~(_BV(ISC01) | _BV(ISC00)); //INT0 on low level
ACSR |= _BV(ACD); //disable the analog comparator
ADCSRA &= ~_BV(ADEN); //disable ADC
//turn off the brown-out detector.
//must have an ATtiny45 or ATtiny85 rev C or later for software to be able to disable the BOD.
//current while sleeping will be <0.5uA if BOD is disabled, <25uA if not.
mcucr1 = MCUCR | _BV(BODS) | _BV(BODSE); //turn off the brown-out detector
mcucr2 = mcucr1 & ~_BV(BODSE);
MCUCR = mcucr1;
sei(); //ensure interrupts enabled so we can wake up again
sleep_cpu(); //go to sleep
cli(); //wake up here, disable interrupts
// GIMSK = 0x00; //disable INT0
sei(); //enable interrupts again (but INT0 is disabled from above)
pinMode(led0, OUTPUT);
lcount += 1;
analogWrite(0 , dimmer);
analogWrite(1 , dimmer);
delay( 700 );
dimmer = ( dimmer - 1 ) ;
if (lcount > 250) { goToSleep(); }
Der Sleepcode ist nicht von mir, sondern nur von mir angepasst. Das Orginal findet ihr hier: https://gist.github.com/JChristensen/5616922
Arduino und Ardublock Programm heisser Draht
Zugriffe: 23416
Programme für den heißen Draht mit Attiny 45.
Programm von der heißen Draht Seite, dass jeden Fehler für eine Sekunde optisch und akustisch darstellt.
pinMode( 1 , INPUT);
if (!( digitalRead(1) ))
analogWrite(0 , 100);
Bei diesem Programm wird der analoge Eingang des Attiny verwendet. Damit lässt sich nicht nur ein HIGH oder LOW Signal auslesen, sondern ein variables Signal. Dies hat zur Folge, dass die Schwierigkeit verändert werden kann. So ist bereits ein zu nahe kommen des Drahtes oder ein richtiger Druck auf den Draht nötig um einen Fehler zu "machen". Möglich wäre auch die Zeit der Berührung wiederzugeben und erst ab einer bestimmten Zeit den Fehler anzeigen zu lassen.
if(analogRead(2) < 50)
for(int x = 0;x < 100; x++)
Bei diesem Programm muss der Attiny über reset zurückgesetzt werden, da nach einem Fehler die DELAY Zeit extrem hoch ist. Bei diesem Spiel hat der Spieler also nach einem Fehler verloren. Über eine rote LED an Pin0 und eine grüne LED an PIN1 wird der Spielstand angezeigt. Nach dem reset leuchtet die grüne und nach einem Fehler die rote LED. Der Summer wird an PIN2 anschlossen (bei mehr als 40 ma bitte einen Transistor verwenden). Den Fehler bekommt der Attiny über ein HIGH Signal an PIN 4. Pin 4 bitte mit einem PULL DOWN-Widerstand versehen.
delay( 9999999 );
Bei diesem Programm werden 3 LED nacheinander angeschaltet und bei jedem Fehler ertönt ein Summer. Somit ist das Spiel nicht nach einem Fehler aus, sondern nach drei Fehlern. Die Pin Belegung bitte aus dem Code entnehmen.
zeit = 100 ;
for (a=1; a<= ( 2 ); ++a )
delay( zeit );
delay( 1100 );
Bei diesem Programm werden 99 Sekunden auf einem Sieben-Segment Display herunter gezählt. Wird ein Fehler begangen, ist das Spiel sofort vorbei. Die Pin-Belegung bitte aus dem Code entnehmen.
heisser Draht mit c++ programmieren
Hier das einfache Script in c++ geschrieben. Wird ein Fehler an PIN 0 gemeldet, schaltet der Attiny 13, 23 oder 45 den Pin 1 auf high, wartet 700ms und schaltet ihn dann wieder auf low. Die MHz clock Frequenz bitte für euren Attiny nicht vergessen einzutragen.
PORTB |= (1<<PB0); // PB1 auf 0 -> als Eingang
DDRB |= (1<<PB1); // PB1 auf 1 -> als Ausgang, LED über 220 Ohm anschließen, Summer über einen Transitor anschließen.
if (PINB & (1<<PB0)) { //Bedingung für Fehler
PORTB |= (1<<PB1); //Ausgang PB1 auf 1 setzen
_delay_ms(700);
PORTB &= ~(1<<PB1); //Aus, wenn Bedingung nicht erfüllt.
Raspberry-pi-Projekt, heißer Draht
Zugriffe: 25685
developed by Timo Denk (Jan. 2015)
import pygame, sys, time, os, RPi.GPIO as GPIO
startPin = 32
errorPin = 31
enableErrorTimeAddingPin = 15
shutdownPin = 3
buzzerPin = 12
GPIO.setup(startPin, GPIO.IN)
GPIO.setup(errorPin, GPIO.IN)
GPIO.setup(enableErrorTimeAddingPin, GPIO.IN)
GPIO.setup(shutdownPin, GPIO.IN)
GPIO.setup(buzzerPin, GPIO.OUT)
#other constants
timePerError = 5
screenSizeX = 640
screenSizeY = 400
startstop_delay = 3000
error_delay = 1000
game_over_screen_duration = 15
text_margin_top = 0
text_margin_left = 10
line_height = 150
buzzer_high = 2000
last_error_detection = 0
last_error_increment = 0
redColor = pygame.Color(255, 255, 255)
blackColor = pygame.Color(0, 0, 0)
whiteColor = pygame.Color(255, 255, 255)
grayColor = pygame.Color(128, 128, 128)
mainFontColor = redColor
font = pygame.font.Font('freesansbold.ttf', 100)
def toggle_fullscreen():
tmp = screen.convert()
caption = pygame.display.get_caption()
cursor = pygame.mouse.get_cursor() # Duoas 16-04-2007
w,h = screen.get_width(),screen.get_height()
flags = screen.get_flags()
bits = screen.get_bitsize()
pygame.display.quit()
screen = pygame.display.set_mode((w,h),flags^FULLSCREEN,bits)
screen.blit(tmp,(0,0))
pygame.display.set_caption(*caption)
pygame.key.set_mods(0) #HACK: work-a-round for a SDL bug??
pygame.mouse.set_cursor( *cursor ) # Duoas 16-04-2007
screen.fill(blackColor)
def handle_events():
time.sleep(0.04)
if GPIO.input(shutdownPin) == True:
shutdown_raspberry()
if event.type == KEYDOWN and event.key == K_ESCAPE:
if event.type == pygame.QUIT or event.type == KEYDOWN:
exit_application()
GPIO.output(buzzerPin, not(last_error_increment < get_millis() - buzzer_high))
#print str(not(last_error_increment < get_millis() - buzzer_high))
def exit_application():
def shutdown_raspberry():
def getUnixTime():
return int(time.time())
def get_millis():
pygame.mouse.set_visible(False) # hide mouse
screen = pygame.display.set_mode((screenSizeX, screenSizeY), pygame.FULLSCREEN)
#pygame.display.set_caption('Heisser Draht') # not required for fullscreen application
#screen = toggle_fullscreen()
while True: # main loop
#global label storage
time_surface = 0
errors_surface = 0
time_rectangle = 0
errors_rectangle = 0
header_surface = font.render('Let\'s play!', True, mainFontColor)
header_rectangle = header_surface.get_rect()
header_rectangle.midleft = (text_margin_left, (int)(screenSizeY / 2))
screen.blit(header_surface, header_rectangle)
while GPIO.input(startPin) == False: #wait for the user to press start button
handle_events()
start_time = getUnixTime()
errorAdded = False
justStarted = True
header_surface = font.render('', True, mainFontColor)
game_started = get_millis()
while True: # game running
if GPIO.input(errorPin) == True:
if errorAdded == False and last_error_increment < get_millis() - error_delay:
last_error_increment = get_millis()
last_error_detection = get_millis()
errorAdded = True
int_time = getUnixTime() - start_time
if GPIO.input(enableErrorTimeAddingPin) == True:
int_time = getUnixTime() - start_time + errors * timePerError
time_surface = font.render('Time: ' + str(int_time) + 's', True, mainFontColor)
time_rectangle = time_surface.get_rect()
time_rectangle.topleft = (text_margin_left, text_margin_top + line_height * 0.5)
errors_surface = font.render('Mistakes: ' + str(errors), True, mainFontColor)
errors_rectangle = errors_surface.get_rect()
errors_rectangle.topleft = (text_margin_left, text_margin_top + line_height * 1.5)
screen.blit(errors_surface, errors_rectangle) #errors
screen.blit(time_surface, time_rectangle) #time
header_rectangle.midleft = (text_margin_left, text_margin_top)
screen.blit(header_surface, header_rectangle) #header
if GPIO.input(startPin) == False:
justStarted = False
if GPIO.input(startPin) == True and justStarted == False and game_started < get_millis() - startstop_delay:
#reposition for game over screen
header_rectangle.topleft = (text_margin_left, text_margin_top)
time_rectangle.topleft = (text_margin_left, text_margin_top + line_height * 1)
errors_rectangle.topleft = (text_margin_left, text_margin_top + line_height * 2)
gos_shown = get_millis()
while gos_shown > get_millis() - 15000:
if GPIO.input(startPin) == True and gos_shown < get_millis() - 1000:
gos_shown = 0
#while GPIO.input(startPin) == False:
# handle_events()
#while GPIO.input(startPin) == True:
# handle_events()*/
CODE (alt)
screenSizeX = 900
screenSizeY = 900
redColor = pygame.Color(255, 0, 0)
font = pygame.font.Font('freesansbold.ttf', 90)
header_surface = font.render('Dr' + u'ü' + 'cken Sie Start!', True, mainFontColor)
header_rectangle.topleft = (0, 100)
start_time = int(time.time())
header_surface = font.render('Spiel l' + u'ä' + 'uft!', True, mainFontColor)
if errorAdded == False:
int_time = int(time.time()) - start_time
int_time = int(time.time()) - start_time + errors * timePerError
time_surface = font.render('Zeit: ' + str(int_time) + 's', True, mainFontColor)
time_rectangle.topleft = (0, 300)
errors_surface = font.render('Fehler: ' + str(errors), True, mainFontColor)
errors_rectangle.topleft = (0, 400)
if GPIO.input(startPin) == True and justStarted == False:
header_surface = font.render('Game over!', True, mainFontColor)
while GPIO.input(startPin) == False:
while GPIO.input(startPin) == True:
Unterstützung für die Seite
Zugriffe: 9082
Durch Werbung decke ich die laufenden Kosten dieser Seite ab, wie die Joomla Pflege und den Webspace. Für Werkzeug und Material reicht die Werbung aber nicht. Wenn dir die Seite gefällt und du öfters hier bist, würde ich mich über eine kleine Unterstützung und Anerkennung natürlich sehr freuen.
Weiterlesen: Unterstützung für die Seite
Erstellt: 27. Juni 2014
Hier geht es zur: Datenschutzerklärung
Inhaber: Ronnie Berzins
Rechtsform: Kleingewerbe
"Kreative Kiste" Handel, Vermarktung und Bereitstellung von Kreativprodukten
Zugriffe: 23519
Ronnie, 37 Jahre, verheiratet, vier Kinder, Kälteanlagenbauer, Bachelor of Theology, schwäbischer Tüftler&Bastler, Kraftsportler, Jungscharler, ich liebe Milch & Mandel.
Seit 20 Jahren schreibe ich nun Bastelanleitungen und veröffentliche sie schon 15 Jahre im Netz und das Ergebnis seht ihr hier im netz.
Wenn du diese Seite unterstützen möchtest, kannst du das hier gern tun.
Lüfterregelung mit Stufentrafo
R22 Kälteanlage umrüsten
SPS E-Mail Versand
Siemens Logo Variablen

References: Art. 21
 Art. 6
 § 9
 § 18
 § 17
 § 17