You are currently browsing the archives for the Em curso category


Fazer uma bússola com as crianças

Bússola caseira - Agulha montada no frasco

Bússola caseira – Agulha montada no frasco

Já não era o primeiro projeto que fazia e que corria mal. Isso nunca me impediu de vos vir aqui contar dos meus insucessos. Faz parte da aprendizagem falharmos nas nossas tentativas. O importante é não desistir.

O que tentámos fazer destas vez foi uma bússola. Teoricamente seria algo simples. Fomos perguntar à internet como se fazia uma coisa destas em casa e rapidamente demos com um filme no Youtube que mostra como se faz uma bússola.

Há várias receitas simples, mas a história da magnetização da agulha acabou por se mostrar mais difícil do que pensam.

Uma das receitas implica cortar um tampa de uma lata de conserva. Os materiais são os seguintes:

  • Uma tampa de uma lata de conserva;
  • Marcadores azuis e vermelhos;
  • Um frasco de vidro com tampa;
  • Cola quente;
  • Um ímã;
  • Um espeto de madeira ou um tubo de uma carga de uma caneta;
  • Uma tesoura;
  • Uma rolha; e
  • Algo para furar a lata e a rolha.

Os passos foram simples:

  1. Cortámos uma vareta de madeira à altura do frasco e colámos na tampa;
  2. Cortámos a tampa da lata no formato de um losango e depois furámos;
  3. Cortámos uma rolha de suspender a agulha da bússola dentro de água e depois furámos;
  4. Colámos a agulha da bússola à rolha;
  5. Magnetizámos um dos lados da agulha, raspando na agulha o ímã sempre na mesma direção; e
  6. Testámos num recipiente com água… e nunca funcionou.

Fizemos uma segunda tentativa, ainda mais simples e com sucesso. Nesta segunda tentativa só precisámos de uma tampa de plástico, uma agulha, da cola quente e de um ímã.

  1. Colámos a agulha da bússola à rolha;
  2. Magnetizámos um dos lados da agulha, raspando na agulha o ímã sempre na mesma direção; e
  3. Testámos num recipiente com água… e funcionou.
Bússola caseira - tampa de plástico com agulha

Bússola caseira – tampa de plástico com agulha

Fazer um robe de Jedi

Young Obiwan Kenobi

Young Obiwan Kenobi

Cá em casa temos um jovem cavaleiro de Jedi. Isto é um grande orgulho para mim como Geek que entendo que a fantasia e a imaginação são grandes influenciadores da felicidade de uma criança.

Esta tudo a correr muito bem para este carnaval. Fomos à loja das fantasias e comprámos uma de Jedi. Só que a fantasia não tinha o robe. Aquele casaco castanho até aos pés com um capuz é aparentemente algo que dá grande posição social entre a criançada.

Como não encontrámos uma capa que servisse, decidimos fazer nós uma. Em conjunto com a C.Ferro fomos tratar de arranjar um tecido que aparentasse ser o robe pesado de um cavaleiro de Jedi. Fomos também à procura na internet de algumas indicações de como fazer um robe de Jedi.

Começámos por tentar um corte mais direito. O Iron Man serviu de modelo, mas o resultado não era o pretendido, como podem ver na imagem.

Jedi robe - Teste 1 no Iron Man

Jedi robe – Teste 1 no Iron Man

O robe de Jedi ficou muito tubular e não se parecia nada com o original O blog Simplisticly Sacy pareceu-nos ter as melhores instruções de como fazer um robe Jedi para crianças. Por isso, adaptámos-nos às instruções e fizemos novo teste.

Simplisticaly Sassy - Jedi Robe

Simplisticaly Sassy – Jedi Robe

O resultado com o desenho em sino era completamente diferente. O Iron Man já parecia um Jedi e ainda nem tínhamos feito as mangas.

Jedi robe - Teste 2 no Iron Man

Jedi robe – Teste 2 no Iron Man

Esta era a nossa primeira experiência em costura, mas eu e a C.Ferro queríamos que corresse o melhor possível. Uma boa prática quando se trabalha com tecido é fazer primeiro um molde em papel para testar tudo. Fizemos por isso um molde em papel em tamanho real que testámos no jovem Jedi.

Jedi robe - teste da manga

Jedi robe – teste da manga

Depois de vários testes com o papel, uns mais bem sucedidos que outros, usámos os moldes para marcar o tecido com um lápis de cera branco. A marcação a branco indica o sitio onde passará o fio que vai coser definitivamente as várias partes, por isso o corte do tecido é feito cerca de um centímetro para fora da marcação.

Jedi robe - marcação do tecido

Jedi robe – marcação do tecido

Antes de começarem a coser o tecido definitivamente, fizemos o que se chama alinhavar. Alinhavar é dar uns pontos que se limitam a prender o tecido na sua posição final, mas ainda sem o objetivo de ficar aí definitivamente. Isto permite que qualquer defeito detetado possa ainda ser corrigido em mais um teste.

Jedi robe - alinhavar antes de coser

Jedi robe – alinhavar antes de coser

Depois de alinhavado no lugar, o tecido está muito mais fixo o que permite detetar e corrigir defeitos antes de ser definitivamente cosido na posição final. Depois de uma prova final, podemos começar a coser.

Imagem para Pebble Time

Palete de cores do Pebble Time

Palete de cores do Pebble Time

Já aqui vos tinha contado que andava a programar para o Pebble Time. Comecei a aprender o que havia para ensina no site da Pebble para developers. O Pebble Time oferece um conjunto de ferramentas que tentam simplificar o processo de programação de uma App ou Watchface, mas uma dificuldade com que me deparei foi a conversão das imagens para os formatos do Pebble Time.

O site Watchface-Generator oferece um conversor de imagens que facilita bastante a tarefa de criar as imagens de fundo para o Pebble Time. Foi com este gerado que criei o fundo do mostrador para o Pebble Time que estou a criar para o Poupar Melhor.

Criar um mostrador para o Pebble Time

Pebble Time Face Poupar Melhor

Pebble Time Face Poupar Melhor

O Pebble Time oferece uma ferramenta de apoio ao desenvolvimento para utilizadores (Software Development Kit – Pebble SDK). Essa ferramenta facilita e bastante a compilação e teste com um conjunto de instruções prontas e um emulador para o computador onde estão a trabalhar.

Vou poupar-vos aos detalhes da criação do ambiente de trabalho para o SDK. Depois de criado, o SDK do Pebble tem um conjunto de comandos para compilar o código e enviar o resultado para o emulador.

Ao contrário do ambiente de desenvolvimento online, no próprio computador a compilação e teste são mesmo muito rápidos. Se querem mesmo começar a desenvolver para o Pebble Time, o melhor que têm a fazer é poupar muito tempo instalando o SDK no vosso computador e aprendendo os comandos para o usar.

Podem espreitar o resultado final na app-store Pebble.

Raspberry Pi model B versus Raspberry Pi model B versão 2

Se fizeram scroll até ao final dos posts sobre as medições com o NBench do Raspberry Pi model B (RPi B) e do Raspberry Pi model B versão 2 (RPi 2) já sabem o que aqui vou resumir. O RPi 2 é realmente mais rápido, o que podem observar pelo vídeo acima.

O vídeo acima mostra primeiro o RPi B a mudar entre opções no ecrã inicial até chegar à previsão meteorológica e depois a mesma operação no RPi 2. O que é visível é o tempo de resposta entre ambos os equipamentos. O primeiro apresenta inclusivamente paragens para iniciar a apresentação da previsão meteorológica.

O RPi 2 é muito mais rápido que o seu antecessor RPi B. Os resultados dos testes abaixo exprimem essa diferença. O RPi B só tem um core. Um core é um componente de computação que, quando existam mais de um, permite processar instruções em simultâneo.

Sistema testado Número de Testes paralelos Resultado global
RPi B 1 76.0
RPi 2 1 173.7
RPi 2 4 402.5

 

Nbench e o Raspberry Pi Model B versão 2

Raspberry Pi Model B 2 - Raspberrypi.org

Raspberry Pi Model B 2 – Raspberrypi.org

Voltámos a utilizar o BYTE UNIX benchmark suite ou NBench, mas desta vez para medir o desempenho do Raspberry Pi Model B versão 2 (RPi 2). Como tinhamos dito aqui quando medimos o desempenho do RPi B, o Nbench foi criado por volta de 1990 para a revista Byte com o objetivo de medir o desempenho e tem a vantagem de já ter sido usado com tantos sistemas que podemos depois relacionar o seu desempenho com máquinas do passado.

Desta vez, em lugar de um core temos quatro, por isso é feito um conjunto de testes a um core e depois com o processamento paralelo em quatro cores. Por isso, desta vez há dois conjuntos de testes. Agora vamos publicar os resultados.

BYTE UNIX Benchmarks (Version 5.1.3)

System: osmc: GNU/Linux
OS: GNU/Linux — 4.3.0-10-osmc — #1 SMP PREEMPT Sun Nov 29 14:06:50 UTC 2015
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap=”ANSI_X3.4-1968″, collate=”ANSI_X3.4-1968″)
CPU 0/1/2/3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

21:32:01 up 3:05, 1 user, load average: 0.24, 0.14, 0.27; runlevel 5

Benchmark Run: Sun Jan 03 2016 21:32:01 – 22:00:05
4 CPUs in system; running 1 parallel copy of tests

Tipo de teste Resultado Unidade Duração testes
Dhrystone 2 using register variables 2894521.7 lps 10.0 s 7
Double-Precision Whetstone 418.1 MWIPS 9.9 s 7
Execl Throughput 449.9 lps 29.9 s 2
File Copy 1024 bufsize 2000 maxblocks 73731.0 KBps 30.0 s 2
File Copy 256 bufsize 500 maxblocks 22420.5 KBps 30.0 s 2
File Copy 4096 bufsize 8000 maxblocks 179668.3 KBps 30.0 s 2
Pipe Throughput 214199.6 lps 10.0 s 7
Pipe-based Context Switching 28599.2 lps 10.0 s 7
Process Creation 1109.0 lps 30.0 s 2
Shell Scripts (1 concurrent) 1188.4 lpm 60.1 s 2
Shell Scripts (8 concurrent) 316.1 lpm 60.2 s 2
System Call Overhead 459926.0 lps 10.0 s 7

Resultados indexados

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 2894521.7 248.0
Double-Precision Whetstone 55.0 418.1 76.0
Execl Throughput 43.0 449.9 104.6
File Copy 1024 bufsize 2000 maxblocks 3960.0 73731.0 186.2
File Copy 256 bufsize 500 maxblocks 1655.0 22420.5 135.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 179668.3 309.8
Pipe Throughput 12440.0 214199.6 172.2
Pipe-based Context Switching 4000.0 28599.2 71.5
Process Creation 126.0 1109.0 88.0
Shell Scripts (1 concurrent) 42.4 1188.4 280.3
Shell Scripts (8 concurrent) 6.0 316.1 526.8
System Call Overhead 15000.0 459926.0 306.6

System Benchmarks Index Score 173.7

Benchmark Run: Sun Jan 03 2016 22:00:05 – 22:28:25
4 CPUs in system; running 4 parallel copies of tests

Tipo de teste Resultado Unidade Duração testes
Dhrystone 2 using register variables 11358891.2 lps 10.0 s 7
Double-Precision Whetstone 1670.9 MWIPS 10.0 s 7
Execl Throughput 1227.4 lps 29.9 s 2
File Copy 1024 bufsize 2000 maxblocks 100259.5 KBps 30.0 s 2
File Copy 256 bufsize 500 maxblocks 29721.5 KBps 30.0 s 2
File Copy 4096 bufsize 8000 maxblocks 244756.5 KBps 30.0 s 2
Pipe Throughput 831054.0 lps 10.0 s 7
Pipe-based Context Switching 111659.6 lps 10.0 s 7
Process Creation 1952.2 lps 30.0 s 2
Shell Scripts (1 concurrent) 2467.6 lpm 60.1 s 2
Shell Scripts (8 concurrent) 344.4 lpm 60.4 s 2
System Call Overhead 1734253.4 lps 10.0 s 7

Resultados indexados para processamento paralelo com 4 core

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 11358891.2 973.3
Double-Precision Whetstone 55.0 1670.9 303.8
Execl Throughput 43.0 1227.4 285.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 100259.5 253.2
File Copy 256 bufsize 500 maxblocks 1655.0 29721.5 179.6
File Copy 4096 bufsize 8000 maxblocks 5800.0 244756.5 422.0
Pipe Throughput 12440.0 831054.0 668.0
Pipe-based Context Switching 4000.0 111659.6 279.1
Process Creation 126.0 1952.2 154.9
Shell Scripts (1 concurrent) 42.4 2467.6 582.0
Shell Scripts (8 concurrent) 6.0 344.4 574.0
System Call Overhead 15000.0 1734253.4 1156.2

System Benchmarks Index Score 402.5