Home > Technologie > Hydro-SMS

Hydro-SMS

0
Advertisement

Hydro-SMS

Nennen Sie es , akustisch-SMS oder Sonar-SMS, baute ich dieses Gerät Textnachrichten durch einen Körper von Wasser mit Hilfe eines Elektromagneten und eine modifizierte Version des Morse - Code zu übertragen. Wie ein persönliches und tragbares Sonarsystem erlaubt uns dieses hydroakustische System, in einer späteren Zeit stumm zu kommunizieren, wenn AI unsere elektronische Übertragung und gesprochene Gespräche überwacht.

Für diejenigen von uns, die keinen Morsecode sprechen, wird das Arduino-Skript Englisch in eine Reihe von "Dots" übersetzen und die Buchstaben / Wörter im seriellen Monitor anzeigen. Als meine erste tiefe Venture in die Verwendung von Arduino und meine erste Post auf Anregbar.

ELEKTRONISCHE Teileliste;

• Arduino UNO R3-Experimentation Kit v1.3 (von Adafruit )

• 27mm Piezo Element- Vibration / Klopfsensor (von Tinkersphere )

• Push-Pull magnet groß, 12V (von Adafruit )

• TIP120 Transistor- Gleichspannungsverstärker (von Radio Shack )

• 1N4004 Diode / Gleichrichter- 30 Ampere Surge, kann der Strom nur in einer Richtung fließen (von Radio Shack )

• 2.2k Ω Widerstand - rot, rot, rot, gold (im Arduino Kit enthalten)

• 10K Ω Widerstands- braun, schwarz, orange, gold (von SparkFun )

• LED-jede Farbe nur als Referenz (im Arduino Kit enthalten)

• Batterie 9Volt und Stecker- Qty.2 (von Radio Shack )

• 7 bis 10 Brücken (im Arduino Kit enthalten)

HARDWARE Stückliste;

• Umbrella- Metallspitze, feste Mittelpfosten (nicht teleskopierbar)

• 3/16 "Rundstahl / Aluminiumstange- 36" lang (zur Verlängerung der Magnetstange)

• M3 Gewindebohrer & 2.4mm Vorbohrer (Gewindebohrer)

• M4-Bohrer (Lochbohrungen für M3-Schrauben)

• M3-Schraube, Unterlegscheibe, Sicherungsscheibe- 2-4, um das Solenoid zu montieren

• 9/16 "x .014" Wand Messing Tube- (Hobby-Laden oder Art Supply Store)

• Dial Caliper (zur Messung des exakten Außen- und Innendurchmessers des Schirmpfostens und des Messingrohrs für eine Presspassung).

• Epoxid-Kitt

• 1/4 "Bohrer (Abstandslöcher im Epoxydkitt)

• Bügelsägen und Handfeilen

• Bohren

• Zangen und / oder ViseGrips

Hammer

* Bench Schraubstock

Schritt 1: Schaltplan: Code

Hydro-SMS

Hydro-SMS

I erzeugt das Schaltbild durch das Software - Tool Fritzing , die mir zu helfen lebenswichtig war , die gerouteten Verbindungen testen und den Schaltplan zu erstellen. Die hier enthaltenen Bilder sind visuelle Hinweise, um Sie beim Aufbau dieses Geräts zu führen. Nachdem ich einige der Beispiel Skizzen, die in der Software Arduino gebaut, wollte ich die ante und gleichzeitig ein Magnet steuern, LED, und einen Piezo - Summer mechanische, optische und akustische Ausgänge aufweisen.

Der Code ist ein Hybrid ein paar Skripte entdeckte ich in meiner Forschung - die Mehrheit ist von der Instructable Post 'Arduino Morse Code' von Chris Weatherford (bigUPS Chris!). Ich änderte den Code, um die Ausgabe auf den seriellen Monitor und konvertiert die 'Bindestrich' zu 'Dots', weil das Solenoid kann nicht imitieren diese Art von Aktion. Der resultierende "Morse-Code" klingt eher wie ein Jackhammer für unsere Ohren, behält aber genug von einer Pause oder Pause für den seriellen Monitor, um den String in Buchstaben zu übersetzen.

  <P> / * <br> HydroAcoustic / HyrdoSMS SMS-Nachricht (von c: rand) MAHS-UP mit dem Morse-Code-Projekt (von Chris Weatherford) Dieser Code wird durch eine Zeichenfolge durchlaufen und diese in Morse-Code umwandeln.  Es wird ein Solenoid betätigen, in Buchstaben / Wörter im Serial Monitor umwandeln, eine LED blinkt und einen Ton durch einen Piezo-Sensor abgibt.  * / // ************************ **** // // Geben Sie die Zeichenfolge ein, die in Morse-Code umgewandelt werden soll // // ******************** ********************* // char stringToMorseCode [] = "Geben Sie hier Ihren Text ein; </ p> <p> // Erstellen Sie eine Variable, um die Ausgabe zu definieren Stifte int solenoidPin = 6;  // Magnetspitze int led12 = 12;  // blinkt eine LED am Ausgang 12 int led8 = 8;  // blinkt eine LED am Ausgang 6 int audio13 = 13;  // Ausgang Audio auf Pin 8 int Note = 900;  // Musiknote / Tonhöhe </ p> <p> / * Stellen Sie die Geschwindigkeit Ihres Morse-Codes ein. Passen Sie die 'dotlen'-Länge an, um den Morsecode zu beschleunigen oder zu verlangsamen (alle anderen Längen basieren auf dem dotlen) / P> <p> Hier sind die Ratio-Code-Elemente: Strichlänge = Punktlänge x 3 Pause zwischen Elementen = Punktlänge (Pause zwischen Punkten und Bindestrichen innerhalb des Zeichens) Pause zwischen Zeichen = Punktlänge x 3 Pause zwischen Worten = Punktlänge X 7 * / int dotLen = 50;  // Länge des Morse-Codes 'dot' schnell wie ein Jackhammer gesetzt int dashLen = dotLen * 3;  // Länge des Morse-Codes 'dash' int elemPause = dotLen;  // Länge der Pause zwischen Elementen eines Zeichens int Spaces = dotLen * 3;  // Länge der Leerzeichen zwischen Zeichen int wordPause = dotLen * 7;  // Länge der Pause zwischen Wörtern </ p> <p> int knockSensor = A0;  // Unterwasser-Piezo-Sensor int val = 0;  Aufrechtzuerhalten.  Ich weiß nicht, was das bedeutet int THRESHOLD = 10;  Aufrechtzuerhalten.  Ich weiß nicht, was das bedeutet </ p> <p> // Die Setup-Routine läuft einmal, wenn Sie reset: void setup () {Serial.begin (9600);  // den digitalen Pin als Ausgang für LED-Lampen initialisieren.  PinMode (SolenoidPin, OUTPUT);  PinMode (led12, AUSGANG);  PinMode (led8, AUSGANG);  PinMode (Klopfsensor, INPUT);  } // Erstellen Sie eine Schleife der Buchstaben / Wörter, die Sie in Morse-Code ausgeben möchten (definiert in Zeichenfolge am Anfang des Codes) void loop () {// Schleife durch die Zeichenfolge und holen Sie jedes Zeichen ein (Int i = 0; i <sizeof (stringToMorseCode) - 1; i ++) {// Erhalten Sie das Zeichen in der aktuellen Position char tmpChar = stringToMorseCode [i];  // Setzen Sie den Fall auf Kleinbuchstaben tmpChar = toLowerCase (tmpChar);  // Rufen Sie die Subroutine auf, um den Morsecode für dieses Zeichen GetChar (tmpChar) zu erhalten;  } // Am Ende des Strings lange Pause vor Looping und Starten von LightsOff (5000);  // warten 10 Sekunden </ p> <p>} </ p> <p> // DOT void MorseDot () {digitalWrite (led12, HIGH);  // LED auf digitalWrite (led8, HIGH) drehen;  DigitalWrite (Magnetspule, HIGH);  // Schalter Solenoid EIN-Ton (audio13, note, dotLen);  // Beginn einer Tonverzögerung (dotLen);  // in dieser Position halten} </ p> <p> // DASH void MorseDash () {digitalWrite (led12, HIGH);  // LED auf digitalWrite (led8, HIGH) drehen;  DigitalWrite (Magnetspule, HIGH);  // Schalter Solenoid EIN-Ton (audio13, note, dashLen);  // Beginn einer Tonverzögerung (dashLen);  // In dieser Position halten} </ p> <p> // Ausschalten void LightsOff (int delayTime) {digitalWrite (led12, LOW);  // LED aus ausschalten digitalWrite (led8, LOW);  DigitalWrite (Magnetspule, NIEDRIG);  // Schalter Solenoid OFF noTone (Audio13);  // Stoppen der Wiedergabe einer Tonverzögerung (delayTime);  // Halten Sie in dieser Position} </ p> <p> // Zeichen der Morse-Code-Konvertierung *** // void GetChar (char tmpChar) {// Nehmen Sie das übergebene Zeichen und verwenden Sie ein Switch-Case, um das zu finden Morse-Code für diesen Zeichenschalter (tmpChar) {case 'a': MorseDot ();  LightsOff (elemPause);  Serial.print ('a');  Unterbrechung;  Fall 'b': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('b');  Unterbrechung;  Fall 'c': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('c');  Unterbrechung;  Fall 'd': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('d');  Unterbrechung;  Fall 'e': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('e');  Unterbrechung;  Fall 'f': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('f');  Unterbrechung;  Fall 'g': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  Serial.print ('g');  Unterbrechung;  Fall 'h': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('h');  Unterbrechung;  Fall "i": MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('i');  Unterbrechung;  Fall 'j': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('j');  Unterbrechung;  Fall 'k': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('k');  Unterbrechung;  Fall 'l': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('l');  Unterbrechung;  Fall 'm': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('m');  Unterbrechung;  Fall 'n': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('n');  Unterbrechung;  Fall 'o': MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('o');  Unterbrechung;  Fall 'p': MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('p');  Unterbrechung;  Fall 'q': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('q');  Unterbrechung;  Fall 'r': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('r');  Unterbrechung;  Fall 's': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  Serial.print ('s');  Unterbrechung;  Fall 't': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('t');  Unterbrechung;  Fall 'u': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('u');  Unterbrechung;  Fall 'v': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('v');  Unterbrechung;  Fall 'w': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (ElemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('w');  Unterbrechung;  Fall 'x': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('x');  Unterbrechung;  Fall 'y': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Morse Dot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('y');  Unterbrechung;  Fall 'z': MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  MorseDot ();  LightsOff (elemPause);  Serial.print ('z');  Unterbrechung;  Default: // Wenn ein passendes Zeichen nicht gefunden wurde, wird es standardmäßig auf ein Leerzeichen gesetzt. LightsOff (Leerzeichen);  }} </ P> <p> / * unlizenzierte Software: Dies ist frei und unbelastet Software in die Public Domain freigegeben </ p> <p> Jeder ist frei zu kopieren, zu modifizieren, zu veröffentlichen, zu nutzen, zu kompilieren, zu verkaufen oder zu. verteilen Sie diese Software, entweder in Form von Quellcode oder als kompilierte binäre, für jeden Zweck, kommerzielle oder nicht-kommerzielle und mit allen Mitteln. </ p> <p> in Ländern, die Urheberrechtsgesetze erkennen, den oder die Verfasser dieser Software gewidmet alle und alle Copyright-Interesse an der Software für die Öffentlichkeit.  Wir machen diese Hingabe zum Wohle der Allgemeinheit und zum Nachteil unserer Erben und Nachfolger.  Wir beabsichtigen, diese Hingabe ein offener Akt der Verzicht auf sein in Permanenz aller gegenwärtigen und zukünftigen Rechte an dieser Software durch das Urheberrecht. </ P> <p> DIE SOFTWARE WIRD "AS IS", ohne Gewährleistung irgendeiner Art, AUSDRÜCKLICH ODER EINSCHLIESSLICH, ABER NICHT AUF DIE GARANTIEN DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG.  IN KEINEM FALL SIND DIE AUTOREN HAFTUNG FÜR SCHADEN ODER ANDERE HAFTUNG, WEDER IN EINEM VERTRAG, SCHULD ODER AUF ANDERE WEISE, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER EINER ANDEREN IN DER SOFTWARE. < / P> <p> * / </ p> <br>

Schritt 2: Prototyp & Percussion-Tests

Hydro-SMS

Hydro-SMS

Vor dem Anschließen des Solenoids war die LED der primäre Ausgang, während ich den Code und die Schaltung ausarbeitete. Danach testete ich das Solenoid und das Geräusch von Metall auffallendem Metall über und unter Wasser. Als das System ordnungsgemäß funktionierte, begann ich, einen Regenschirm nachzurüsten, um das Solenoid zu verkleiden und zu enthalten. Anstatt das Solenoid in der Spitze des Schirms, montiert ich es an den Griff, um es weit weg von Wasser zu halten und zu vermeiden Stromschlag (Benutzer Diskretion wird empfohlen, wenn Strom in der Nähe oder um Wasser verwendet wird).

Schritt 3: Umbrella Modification

Hydro-SMS

Hydro-SMS

Hydro-SMS

Hydro-SMS

Dieser besondere Riesenschirm wurde auf der Grundlage von 3 Kriterien ausgewählt; Nicht teleskopierbare Mittelpfosten, der Verriegelungsmechanismus und der Schieber nicht den Durchgang durch den Pfosten blockieren, und er hat eine Metallspitze. Entfernen Sie den Schaumgriffgriff und die Bügelsäge, schneiden Sie den Schirmpfosten ungefähr 2 "vom inneren Spitzenende (Foto # 1).

Füllen Sie beide Enden des Pfostens mit Epoxydspachtel und bohren Sie ein 1/4 "Loch (Foto # 2 links). Dadurch wird die Solenoidverlängerungsstange geführt, so dass es nicht rattert, nicht die Schirmverriegelung und Schläge berührt Die Mitte der Schirmspitze Dieser Schritt ist wichtig für die Übertragung von Schall / Vibration.

Bohren Sie ein 2.4mm Loch in die Mitte der Verlängerungsstange und klopfen Sie es auf M3 (Foto # 2 rechts). Ich fügte zwei kleine Gummi-O-Ringe zur Magnetwelle hinzu, um so den Schall zu dämpfen, den es gegen das Gehäuse machte, wenn es ausgefahren und zurückgezogen wird. Verbinden Sie die Stange mit dem Elektromagneten, indem Sie das Endstück abschrauben (Achten Sie darauf, dass die Magnetspule nicht mit der Zange erregt wird). Ein 36 "langer Stab arbeitete perfekt, aber es muss möglicherweise verkürzt werden, basierend auf dem Regenschirm, den Sie verwenden.

Ich benutzte eine Zifferblattzange, um den Außendurchmesser des Schirmpfostens (Foto # 3) zu messen und dann das richtige Metallrohr auszuwählen, das verwendet wird, um das abgetrennte Rohr nach dem Anbringen des Epoxydkittes zu flicken. Die ID des Messingrohr ist 10/1000 "kleiner als der Schirm Beiträge OD und bietet eine perfekte Kompression passen, so dass kein Klebstoff oder Löten erforderlich ist. Ein Gummihammer fast wurde benötigt, um die beiden Rohre miteinander zu hämmern.) A 3 Cut" Langes Stück des Messingrohres und verwenden Sie es, um den Pfosten zurück zusammen nahe dem Spitzenende zu reparieren (Foto # 4).

Schritt 4: Magnethalterung

Hydro-SMS

Dieses Foto veranschaulicht die 6 Schritte, die erforderlich sind, um das Messingrohr in die Montagehalterung zu bilden. Das Solenoid wurde am Ende des Griffes ohne Kleber oder Soldat montiert. Während in einem Schraubstock gehalten, wurde das Messing geschnitten, gebogen und gefaltet mit einer Zange oder einem Hammer. M3-Schrauben, Unterlegscheiben und Sicherungsscheiben wurden verwendet, um das Solenoid an der Halterung zu befestigen. Ich verband den Verlängerungsstab zuerst mit dem Solenoid, bevor er die Halterung auf das Stirnende des Schirmständers komprimierte. Für die Langlebigkeit der Nutzung, ich wünschte, die Wand des Messing-Rohr war doppelt so dick mit dem gleichen Innendurchmesser.

Schritt 5: Testen des Systems

Alles funktioniert jetzt perfekt. Zeit, es zum Central Park in Manhattan zu nehmen und ein Video zu schießen, das dieses System, das als ein Sendeempfänger verwendet wird, zum Senden und Empfangen von Textnachrichten mit piezoelektrischen Sensoren, die in die Schaltung und den Code integriert werden, sensationalisieren wird.

Vielen Dank für den Check out this Post und meine Futuring Project!

Chris - • - • •••• • - • •••••

Schritt 6: Endgültiges Video

Related Reading