Bonjour de l'équipe uMove ! Une fois, j'ai vu sur Internet une telle image d'une montre. L'heure actuelle sur eux est fixée par les mots: cinq minutes et demie, un quart à une heure, quatre heures et demie et similaires par incréments de 5 minutes.
Récemment, nous en avons fait!Comment c'était
Tout d'abord, nous avons réalisé un modèle 3D. Le contreplaqué de 4 mm d'épaisseur, qui était disponible en excès, a été choisi comme base de support; une bande de diode tricolore a été placée dessus, chaque diode étant contrôlée séparément par SPI. Par exemple, la couleur de la 10e diode est définie comme ceci: "Bonjour d'abord, dites au dixième qu'il s'allume maintenant dans telle ou telle couleur." Le premier passe au second, le second au troisième et ainsi de suite.Le choix du facteur de forme de l'ensemble du dispositif a été choisi en fonction de l'étape existante des diodes. Dans ce cas, la bande a 60 puces par mètre de longueur. La dimension globale finale du côté du dispositif carré était de 264,4 mm.
La deuxième couche, nous avons organisé les séparateurs entre les lettres. Cela était nécessaire pour éviter que les lettres actives soient mises en surbrillance inactives. Dans la deuxième couche, un trou a été placé pour la sortie du cordon d'alimentation.
La matrice entière des diodes est un réseau unidimensionnel localisé par un serpent sur un substrat.La fonction de conversion du système de coordonnées cartésiennes en "serpent":int getStripPosition(int row, int col)
{
if(col % 2 == 1)
{
return col * ROWS + row;
}else{
return (1 + col) * ROWS - (1 + row);
}
}
Des morceaux de ruban sont connectés en 3 fils en série: alimentation, terre et signal. Les rations de routine ont commencé. Voici ce qui s'est passé: la
vérification des joints soudés ne m'a pas déçu, tout a fonctionné la première fois, même d'une manière inhabituelle.Apparence
Après avoir esquissé un tableau avec des lettres, nous avons joué avec la taille et le type de la police, conçu un dessin pour la machine laser et commencé à étudier le matériau et la couleur. Le choix s'est porté sur du plastique noir brillant. Le résultat est un étui très élégant. La langue choisie était l'allemand ... nous ne savons pas pourquoi.
Électronique
La base de la montre est notre Spark préférée . Il s'agit d'un microcontrôleur STM32 familier avec accès Internet via Wi-Fi. Cette chose elle-même connaîtra l'heure actuelle, il n'y a pas un seul bouton dans la montre! Le nouveau nom d'utilisateur et le nouveau mot de passe réseau peuvent être définis à partir du téléphone.
Nous avons fabriqué et assemblé tous les détails à la CMIT Academy.Mais ce n'est pas tout
Voyons ce qui se passe:- nous avons une matrice de 10x11 pixels
- nous avons accès à internet
- nous avons un cloud avec une API personnalisée
Rappelez-vous le jeu de briques ?Arkanoid
Probablement le jeu le plus facile à écrire.L'accès à la montre est très simple. Le firmware de la puce a une fonction accessible via le cloud. Exemple du site:int brewCoffee(String command);
void setup()
{
Particle.function("brew", brewCoffee);
}
void loop()
{
}
int brewCoffee(String command)
{
if(command == "coffee")
{
return 1;
}
else return -1;
}
Pour y accéder, vous devez effectuer une requête POST vers le cloud, par exemple, à partir de la ligne de commande:curl https://api.particle.io/v1/devices/{DEVICE_ID}/{FUNCTION_NAME} -d access_token={TOKEN} -d "args={ARGUMENTS}"
Vous pouvez contrôler le curseur via l'application. Nous l'avons écrit en HTML + JS en utilisant Apache Cordova<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>
L'application sur le téléphone est incroyable:
Manifestation
Nous espérons vous avoir inspiré de nouvelles idées pour des projets sympas!