Hallo vom uMove- Team ! Einmal habe ich im Internet ein solches Bild einer Uhr gesehen. Die aktuelle Zeit auf ihnen wird in Worten angegeben: fünf Minuten nach drei, eine Viertelstunde bis eine Stunde, halb fünf und dergleichen in Schritten von 5 Minuten.
Vor kurzem haben wir solche gemacht!Wie ist es gelaufen
Zunächst haben wir ein 3D-Modell erstellt. Als Trägerbasis wurde 4 mm dickes Sperrholz gewählt, das im Überschuss verfügbar war, und ein dreifarbiges Diodenband wurde darauf gelegt, wobei jede Diode separat durch SPI gesteuert wurde. Zum Beispiel ist die Farbe der 10. Diode ungefähr so eingestellt: "Hallo, sagen Sie zuerst die zehnte, damit sie jetzt in dieser und jener Farbe aufleuchtet." Der erste wechselt zum zweiten, der zweite zum dritten und so weiter.Die Wahl des Formfaktors des gesamten Geräts wurde basierend auf dem vorhandenen Schritt der Dioden gewählt. In diesem Fall hat das Band 60 Chips pro Meter Länge. Die endgültige Gesamtabmessung der Seite der quadratischen Vorrichtung betrug 264,4 mm.
In der zweiten Ebene haben wir die Trennzeichen zwischen den Buchstaben angeordnet. Dies war erforderlich, um zu verhindern, dass aktive Buchstaben inaktiv hervorgehoben werden. In der zweiten Schicht wurde ein Loch für den Ausgang des Netzkabels platziert.
Die gesamte Diodenmatrix ist eine eindimensionale Anordnung, die von einer Schlange auf einem Substrat lokalisiert wird.Die Konvertierungsfunktion vom kartesischen Koordinatensystem zur "Schlange":int getStripPosition(int row, int col)
{
if(col % 2 == 1)
{
return col * ROWS + row;
}else{
return (1 + col) * ROWS - (1 + row);
}
}
Die Klebebandstücke sind in 3 Drähten in Reihe geschaltet: Strom, Erde und Signal. Routine-Rationen begannen. Folgendes ist passiert: Das
Überprüfen der Lötstellen hat mich nicht enttäuscht, alles hat beim ersten Mal funktioniert, auch irgendwie ungewöhnlich.Aussehen
Nachdem wir einen Tisch mit Buchstaben skizziert hatten, spielten wir mit der Größe und Art der Schrift, entwarfen eine Zeichnung für die Lasermaschine und begannen, das Material und die Farbe zu untersuchen. Die Wahl fiel auf schwarz glänzenden Kunststoff. Das Ergebnis ist ein sehr stilvoller Fall. Die gewählte Sprache war Deutsch ... wir wissen nicht warum.
Elektronik
Die Basis der Uhr ist unser Favorit Funken . Dies ist ein bekannter STM32-Mikrocontroller mit Internetzugang über WLAN. Dieses Ding selbst wird die aktuelle Zeit kennen, es gibt keinen einzigen Knopf in der Uhr! Die neue Netzwerkanmeldung und das neue Kennwort können über das Telefon festgelegt werden.
Wir haben alle Details in der CMIT Academy hergestellt und zusammengestellt.Aber das ist nicht alles
Lass uns nachsehen, was passiert ist:- Wir haben eine 10x11 Pixel Matrix
- Wir haben Internetzugang
- Wir haben eine Cloud mit einer angepassten API
Erinnerst du dich an das Ziegelspiel ?Arkanoid
Wahrscheinlich das am einfachsten zu schreibende Spiel.Der Zugang zur Uhr ist sehr einfach. Die Chip-Firmware verfügt über eine Funktion, auf die über die Cloud zugegriffen werden kann. Beispiel von der Website:int brewCoffee(String command);
void setup()
{
Particle.function("brew", brewCoffee);
}
void loop()
{
}
int brewCoffee(String command)
{
if(command == "coffee")
{
return 1;
}
else return -1;
}
Um darauf zuzugreifen, müssen Sie eine POST-Anforderung an die Cloud ausführen, z. B. über die Befehlszeile:curl https://api.particle.io/v1/devices/{DEVICE_ID}/{FUNCTION_NAME} -d access_token={TOKEN} -d "args={ARGUMENTS}"
Sie können den Schieberegler über die Anwendung steuern. Wir haben es in HTML + JS mit Apache Cordova geschrieben<body style="margin: 0; padding: 0;">
<script language="javascript">
function go(action) {
var xhr = new XMLHttpRequest();
var body = 'access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&args='+action;
xhr.open("POST", 'https://api.particle.io/v1/devices/53ff6e12345678900987654321/shift', true)
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.send(body);
};
</script>
<button class="button" style="width: 40%;" onclick="go('left')"><</button>
<button class="button" style="width: 20%; left: 40%" onclick="go('play')">!</button>
<button class="button" style="width: 40%; left: 60%" onclick="go('right')">></button>
</body>
Die Anwendung auf dem Telefon sieht toll aus:
Demonstration
Wir hoffen, wir haben Sie mit neuen Ideen für coole Projekte inspiriert!