(1) Leinwand (beliebiger Größe)
2. Stoff (genug, um die Arbeitsfläche zu decken)
(3) Klettverschluss
(4) 8-10 LED-Leuchten
(5) leitfähigen Faden
(6) thread
7. 1 Lilypad einfache Snap-Tafel (Sie können andere Lilypad Boards sowie zu verwenden)
8. 1 Lilypad Lautsprecher/Buzzer
(9) 3-5 leitfähigen Materialien als Sensoren verwendet werden (Ich habe 3 Ausstechformen)
10. alle Dekorationsmaterialien (Extra)
11. die Nadeln
12. die Schere
13. Stoffkleber
14. weiße farbige Bleistift
Anleitung zum Montieren Sie Ihren Arduino-Wecker
** Bei leitfähigen Faden nie mit kreuzen Sie sich die Linien des Nähens. Nähen Sie immer kleine, enge und enge Maschen. Schleife um Metall Löcher in das Lilypad einfache Snap und anderen Lilypad Materialien. Schneiden Sie enden als in der Nähe der Knoten wie möglich zu verhindern, dass Tails des Threads berühren andere leitfähige tails.* *
** Negative Linien sind Boden und berühren können, wenn alle negative zum Beispiel Loch genäht werden. Alle positiven Zeilen nicht überschreiten, oder an die gleichen Löcher angeschlossen werden. Jede positive Linie braucht es eigene Nummer Loch auf den Lilypad einfach Snap.* *
1. Befestigen Sie das Lilypad einfache Snap-Board zu Ihren Stoff mit Gewebekleber. Setzen Sie einen Punkt des Leims in der Mitte Rückseite Ihre Lilypad und Presse auf Stoff. Ich habe mir in der Mitte der Stoff auf der Rückseite befestigen, so kann nicht gesehen werden.
2. Positionieren Sie den Lilypad Lautsprecher in der Nähe Ihrer Lilypad einfache Snap-Board. Verwenden Sie den leitenden Faden, um durch das negative Loch auf dem Lautsprecher zu nähen. Schleife um das negative Loch mehrmals Leitfähigkeit stark zu halten. Dann verwenden Sie enge und enge Maschen, bis auf das negative Loch auf den Lilypad einfache Snap zu nähen. Nähen durch das Lilypad einfache Snap negative Loch mehrmals, dann binden Sie die Linie, und schneiden Sie die Extra. Ich entschied mich für meine befestigen hautnah über das Lilypad auf der Rückseite des Gewebes so nicht gesehen werden möchte.
(3) mit einer neuen Linie von leitfähigen Faden Stich vom Pluspol des Lautsprechers an den 5 Loch auf den Lilypad einfache Snap. Nach den gleichen Regeln der leitfähigen Faden als Schritt vor.
4. Markieren Sie mit einem weißen Buntstift, wo Sie Ihre LED-Leuchten gehen wollen. Position-LEDs ein paar Zoll auseinander. Ich habe eine Reihe von 10 auf der Spitze des Gewebes.
5. die LED Positionslampen gerade rauf und runter mit den negativen enden nach unten und den positiven Enden nach oben.
6. nehmen Sie eine neue Linie von leitfähigen Faden und Nähen Sie an der ersten LED-Ampel auf der linken Seite. Beginnen Sie mit den negativen, tun eine Linie verbindet alle LED negativen enden. Nachdem die negativen enden genäht worden auf den Stoff nähen Sie, bis das Lilypad einfache Snap und verbinden Sie negative LED-Lichtlinie zum negativen Loch auf dem Board zu.
(7) nun mit einer neuen Linie von leitfähigen Faden starten von der rechten Seite die positiven Enden der LED-Leuchten zu befestigen. Beginnt am weitesten rechts und Nähen, bis sie alle mit leitfähigen Faden miteinander verbunden sind. Dann Stich nach unten zu den LilyPad einfach schnappen und schließen Sie die Plusleitung an Loch 9 auf den LilyPad einfache Snap.
8. jetzt testen Sie Ihre Leuchten und Lautsprecher, um sicherzustellen, dass sie einwandfrei funktionieren. Wenn gehen Sie auf Ihren Sensoren anbringen. Wenn nicht Problem lösen, um das Problem zu ermitteln. Sie müssen möglicherweise neu nähen.
9. Wählen Sie zufällige Bereiche auf der unteren Hälfte der Leinwand Ihrer Sensoren platziert werden soll. Markieren Sie mit der weißen Buntstift.
10 Sensoren auf den Stoff mit einem leitfähigen Faden nähen, und bis das Lilypad einfache Snap-Board zu verbinden. Jeder Sensor ist ihre eigene Nummer Loch auf dem Brett beizufügen.
11. Ich habe 10 für eine sensor1, 11 für sensor2 und A2 für sensor3.
12. nun auf das Dreifache Nähen Sie Batteriehalter an einem geeigneten Ort mit leitfähigem Garn. Ich entschied mich für oben Lilypad einfache Snap. Die 3 negativen Löcher auf dem Batteriehalter miteinander verbinden, und bis auf das negative Loch auf dem Lilypad einfache Snap Brett nähen.
13. Schließen Sie das positive Loch auf dem Batteriehalter an das positive Loch auf den Lilypad einfache Snap mit leitfähigem Garn. Die Triple-A-Batteriehalter wird es machen, so dass Sie Ihre Uhr ganztägig ausführen können, ohne an einen Computer angeschlossen wird. Es erlaubt auch das Lilypad einfache Snap präzise Zeitmessung ganztägig.
14. Programm Skates Lilypad einfache Snap haben Ihren Wecker gehen Sie an den gewünschten Zeiten mit den Lichtern auf und Lautsprecher auf. Ich programmierte meine Lilypad einfache Snap, die Lichter und Summer auszuschalten, sobald alle 3 Sensoren berührt worden sind. Dies zwingt mich aus dem Bett aufstehen und den Wecker ausschalten, ohne dösen.
15. Testen Sie den Code.
16. Anhängen Sie Klettverschluss um Leinwand Kanten und Stoffkanten, damit Sie Ihren Stoff Wecker ziehen ausschalten und auf die Leinwand, um den Computer einfach neu zu programmieren.
17. hängen Sie den Wecker an die Wand.
18. viel Spaß!
Häufige Probleme, die Ihnen begegnen könnten:
1. halten Sie leitfähigen Leitungen dicht, eng genähte und nicht kreuzenden Linien. Nähen Sie durch Anzahl Löcher und positive negative Löcher immer mehrere Male.
2. Überprüfung der Leitfähigkeit von Sensoren.
3. immer Diagramm Ihres Projekts, so können Sie eine Zeichnung zu folgen haben. Es macht es so viel einfacher, Handwerk, und stellen Sie sicher, dass Ihre Linien nicht kreuzen!
4. halten negative und positive endet alle mit Blick auf die gleiche Weise an wie Materialien.
5. normale Thread nicht leitfähigen Faden stören, also normalen Thread verwenden, benötigen Sie zum Aufnähen von Patches.
6. Schneiden Sie alle Enden der Fäden so nah wie möglich an den Knoten, so dass sie keine Kurzschlüsse verursachen.
7. immer überprüfen Sie Ihren Code, Sie könnten etwas einfaches wie ein Semikolon fehlt. Manchmal hilft es, dass ein frisches Paar Augen auf Ihren Code zu finden, die kleinen Fehler, die Sie vermissen.
8. verwenden Sie andere Tutorials und Menschen Sie als Ressourcen!
Code:
Erster Besuch der Ardunio Spielplatz, über die Zeit-Bibliothek zu lesen. Zeit-Zip von dieser Website herunterladen:
http://Playground.Arduino.CC/Code/Time
Dann klicken Sie auf den TimeAlarms-Link auf der Website oben, über diese Seite zu lesen und herunterladen Sie Zeit Alarm Zip:
http://www.pjrc.com/teensy/td_libs_TimeAlarms.HTML
Dies muss den Code, die, den Sie benötigen, um den Alarm einzurichten. Es braucht nur leichte Bearbeitung.
Sie müssen hinzufügen Ihre Sensoren, Lampen, Lautsprecher und kapazitiven Stift lesen Informationen, um den Alarm zu arbeiten, wie wir es wollen.
Hier ist meine letzte Code:
#include
#include
Int SpeakerPin = 5;
Int Licht = 9;
Int sensorPin1 = 10;
Int sensorPin2 = 11;
Int sensorPin3 = A2;
Int SensorValue;
Int sensorValue2;
Int sensorValue3;
void setup()
{
Serial.Begin(9600);
PinMode (sensorPin1, Eingabe);
PinMode (sensorPin2, Eingabe);
PinMode (sensorPin3, Eingabe);
PinMode (leuchtet, Ausgang);
PinMode (SpeakerPin, Ausgang);
setTime(15,35,0,4,23,13); stellt die Zeit bis Dienstag 15:35 23. April 2013
Alarm.alarmRepeat (7,30,0, MorningAlarm); 07:30 täglich
Alarm.alarmRepeat (15,36,0, TestAlarm);
Alarm.timerRepeat (15, Wiederholungen); Timer für alle 15 Sekunden
Alarm.timerOnce (10, OnceOnly); nannte einmal nach 10 Sekunden
}
void loop() {}
digitalClockDisplay(); solange die Batterie zählt, wird es Zeit wie ein Uhrwerk halten.
Alarm.Delay(1000); warten Sie eine Sekunde zwischen Uhrenanzeige
}
Funktionen aufgerufen werden, wenn ein Alarm ausgelöst wird:
void MorningAlarm() {}
Boolesche Alarm_on = True; Trigger Alarm auf
Boolesche sensor1_touched = False;
Boolesche sensor2_touched = False;
Boolesche sensor3_touched = False;
DigitalWrite (Lichter, HIGH); Schalten Sie Lichter
während (Alarm_on == True) {}
Ton (SpeakerPin, 1046, 100); Lautsprecher-Sound
SensorValue = readCapacitivePin(sensorPin1); Lesen Sie den Hauch von Sensor 1
sensorValue2 = readCapacitivePin(sensorPin2); Lesen Sie die Berührung der Sensor 2
sensorValue3 = readCapacitivePin(sensorPin3); Lesen Sie die Berührung der Sensor 3
Wenn (SensorValue > 1) sensor1_touched = True; müssen alle 3 zu deaktivieren, tippen Sie auf 1 berühren
Wenn (sensorValue2 > 1) sensor2_touched = True; Touch 2
Wenn (sensorValue3 > 1) sensor3_touched = True; Note 3
Wenn ((sensor1_touched==true) & &(sensor2_touched==true) & &(sensor3_touched==true)) {}
Alarm_on = False; alle Sensoren berührt worden stoppt Lautsprecher klingen
}
}
DigitalWrite (Lichter, LOW); Sobald alle Sensoren berührt worden sind Ausschalten Lichter
}
void TestAlarm() {}
Boolesche Alarm_on = True;
Boolesche sensor1_touched = False;
Boolesche sensor2_touched = False;
Boolesche sensor3_touched = False;
DigitalWrite (Lichter, HIGH);
während (Alarm_on == True) {}
Ton (SpeakerPin, 1046, 100);
SensorValue = readCapacitivePin(sensorPin1);
sensorValue2 = readCapacitivePin(sensorPin2); Lesen Sie den Touch-Sensor-Wert
sensorValue3 = readCapacitivePin(sensorPin3);
Wenn (SensorValue > 1) sensor1_touched = True;
Wenn (sensorValue2 > 1) sensor2_touched = True;
Wenn (sensorValue3 > 1) sensor3_touched = True;
Wenn ((sensor1_touched==true) & &(sensor2_touched==true) & &(sensor3_touched==true)) {}
Alarm_on = False;
}
}
DigitalWrite (Lichter, LOW);
}
void WeeklyAlarm() {}
Serial.println ("Alarm: - seine Montagmorgen");
}
void ExplicitAlarm() {}
Serial.println ("Alarm:-Dies löst nur am angegebenen Datum und Uhrzeit");
}
void Repeats() {}
Serial.println ("15 Sekunden-Timer");
}
void OnceOnly() {}
Serial.println ("dieser Timer nur Auslöser einmal");
}
void digitalClockDisplay()
{
digitale Uhrzeitanzeige der Uhrzeit
Serial.Print(Hour());
printDigits(minute());
printDigits(second());
Serial.println();
}
void printDigits(int digits)
{
Serial.Print(":");
If(Digits < 10)
Serial.Print('0');
Serial.Print(Digits);
}
readCapacitivePin
Eingabe: Arduino Pin-Nummer
Ausgabe: Eine Zahl von 0 bis 17 mit dem Ausdruck
wie viel Kapazität ist auf dem Stift
Wenn Sie den Stift berühren, oder was auch immer Sie haben
attached to it., erhalten die Anzahl höher
#include "pins_arduino.h" / / Arduino Pre-1.0 braucht diese
uint8_t ReadCapacitivePin (Int PinToMeasure) {}
Variablen, übersetzen von Arduino AVR Pin benennen
volatile uint8_t * Port;
volatile uint8_t * Ddr;
volatile uint8_t * Pin;
Hier setzen wir die Eingangs-Pin-Nummer aus
Arduino Pin-Nummer zum AVR-PORT, PIN, DDR,
und welches Bit dieser Register ist uns wichtig.
Byte Bitmaske;
Port = portOutputRegister(digitalPinToPort(pinToMeasure));
DDR = portModeRegister(digitalPinToPort(pinToMeasure));
Bitmaske = digitalPinToBitMask(pinToMeasure);
PIN = portInputRegister(digitalPinToPort(pinToMeasure));
Entlastung der Pin zunächst niedrig und Ausgang einstellt
* port & = ~ (Bitmaske);
* Ddr | = Bitmaske;
Delay(1);
Machen der Pin Eingabe mit der internen Pull-up auf
* Ddr & = ~ (Bitmaske);
* Port | = Bitmaske;
Jetzt sehen, wie lange die Pin, nach oben gezogen zu bekommen. Diese manuelle Abrollen der Schleife
verringert sich die Anzahl der Hardware Zyklen zwischen jedem Lesevorgang des Stiftes,
Empfindlichkeit zu erhöhen.
uint8_t Zyklen = 17;
Wenn (* Pin & Bitmaske) {Zyklen = 0;}
ElseIf (* Pin & Bitmaske) {Zyklen = 1;}
ElseIf (* Pin & Bitmaske) {Zyklen = 2;}
ElseIf (* Pin & Bitmaske) {Zyklen = 3;}
ElseIf (* Pin & Bitmaske) {Zyklen = 4;}
ElseIf (* Pin & Bitmaske) {Zyklen = 5;}
ElseIf (* Pin & Bitmaske) {Zyklen = 6;}
ElseIf (* Pin & Bitmaske) {Zyklen = 7;}
ElseIf (* Pin & Bitmaske) {Zyklen = 8;}
ElseIf (* Pin & Bitmaske) {Zyklen = 9;}
ElseIf (* Pin & Bitmaske) {Zyklen = 10;}
ElseIf (* Pin & Bitmaske) {Zyklen = 11;}
ElseIf (* Pin & Bitmaske) {Zyklen = 12;}
ElseIf (* Pin & Bitmaske) {Zyklen = 13;}
ElseIf (* Pin & Bitmaske) {Zyklen = 14;}
ElseIf (* Pin & Bitmaske) {Zyklen = 15;}
ElseIf (* Pin & Bitmaske) {Zyklen = 16;}
Entlastung der Pin wieder durch niedrige und Ausgang einstellen
Es ist wichtig, um die Pins niedrigen überlassen, wenn du willst
werden Sie in der Lage, mehr als 1 Sensor zu einem Zeitpunkt - zu berühren, wenn
der Sensor ist gezogen hoch, links, wenn Sie berühren
zwei Sensoren, Ihr Körper wird die Ladung zwischen übertragen.
Sensoren.
* port & = ~ (Bitmaske);
* Ddr | = Bitmaske;
Zyklen zurück;
}