Month: October 2014

Como ouvir a pronuncia IPA usada na Wikipedia

Normalmente todo verbete na Wikipedia começa com a pronúncia seguindo o padrão IPA, exemplo:

http://en.wikipedia.org/wiki/Haskell_%28programming_language%29

Neste exemplo a linguagem Haskell é pronunciada como “/ˈhæskəl/”, mas se você não consegue a pronúncias destes fonemas, como descobrir como a palavra é pronunciada?

Simples, utilize o TTS Web da AT&T:
http://www2.research.att.com/~ttsweb/tts/demo.php

No lugar do texto normal em inglês coloque:

<phoneme alphabet="ipa" ph="/ˈhæskəl/"> </phoneme>

Substitua o termo entre aspas (dentro de ph=””) pela pronúncia IPA que você quer ouvir e clique em SPEAK.

É interessante que no caso da palavra Haskell, as mulheres (Crystal e Lauren) pronunciam como “rascôo” e os homens (Mike e Rich) pronunciam como “rescôu”.

Fonte: https://answers.yahoo.com/question/index?qid=20080829002936AAGytpq

Update: O link mudou para http://wizzardsoftware.com/text-to-speech-sdk.php e requer Adoble Flash.

Advertisements

Padrão de cores para os fios de motor de passo

Se você tem um motor de passo mas não sabe como os fios da bobina são ligados veja este site:

http://www.linengineering.com/resources/wiring_connections.aspx

As cores usadas nos fios dos motores de passo são padronizadas, isso facilita muito na hora de liga-los na controladora. Apesar das cores serem padronizadas, é recomendado que você use um multimetro para verificar se os fios estão de acordo com o padrão antes de ligados.

No caso do motor de passo bipolar temos o seguinte padrão:

Vermelho = A
Azul = A-
Verde = B
Preto = B-

De volta ao Debian! (de novo?)

No início do ano postei que tinha voltado a usar o Debian, só não postei que pouco tempo depois instalei o ElementaryOS por cima.

Hoje resolvi instalar o Debian novamente (“Debian Linux jessie/sid”, como fiz o pica-pau “GNU é pra Jacu)*.

Como eu estava usando a interface LXQt, resolvi instalar a mesma no Debian. Primeiro tive que acrescentar o repositório do LXQt no /etc/apt/source.list:

deb http://ftp.uni-stuttgart.de/siduction/base unstable main
deb-src http://ftp.uni-stuttgart.de/siduction/base unstable main
deb http://ftp.uni-stuttgart.de/siduction/extra unstable main
deb-src http://ftp.uni-stuttgart.de/siduction/extra unstable main
deb http://ftp.uni-stuttgart.de/siduction/fixes unstable main
deb-src http://ftp.uni-stuttgart.de/siduction/fixes unstable main

Em seguinda instalei alguns pacotes (infelizmente não encontrei o lxqt-metapackage no Debian) :

sudo apt-get install gfxboot-themes-siduction-august-lxqt-qt5  siduction-art-lxqt-qt5-whiteroom  siduction-settings-lxqt-qt5-whiteroom   libfm-qt5-1 lxqt-panel-qt5 lxqt-panel-qt5-dbg lxqt-policykit-qt5 lxqt-powermanagement-qt5 lxqt-qtplugin-qt5 lxqt-runner-qt5 lxqt-session-qt5 pcmanfm-qt5 openbox

Tive que ir em Preferences -> Appearence e mudar o Widget Style para Fusion e o Icons Theme nuoveXT.2.2 para que todos os ícones aparecessem no sistema.

* – Apesar de todo o discurso ideológico do Stallman, usar GNU antes do nome Linux não faz sentido, pois uma distribuição Linux é composta de vários outros softwares e projetos tão importantes quando o projeto GNU. Nem por isso chamamos o Linux de Apache/Xorg/GNU/…/MIT/Linux.

Conheça o NuttX, o sistema operacional de tempo real usado em Drones

Esta não é a primeira vez que falo sobre NuttX aqui, mas resolvi fazer um texto mais completo para ressaltar as características deste Real Time Operating System, ou simplemente RTOS (pronuncia-se “ar-tós”), e por que usa-lo em seus projetos.

Primeiramente precisamos entender o que é um RTOS ou sistema operacional de tempo real, na tradução livre para português. Um RTOS é um sistema operacional onde as garantias temporais são respeitadas, usando uma frase mais simples significa dizer que as tarefas do sistema operacional serão executadas em tempos bem definidos.

Portanto, caso uma tarefa tenha que ser executada a cada 5 milisegundos, ela será executada neste período e qualquer outra tarefa, que esteja usando a CPU no momento em que esta tarefa mais prioritária precisa ser executada, será preemptada (será interrompida e continuará sua execução futuramente do ponto onde parou).

Agora que você já tem uma ideia do que vem a ser um RTOS, deve estar se perguntando: o que o NuttX tem de diferente dos demais RTOS e por que ele é usado em Drones? A resposta esta na interface de programação dos programas (API) dos demais RTOS. Cada RTOS implementa sua própria forma de programação, então uma tarefa escrita para um RTOS não pode ser livremente usada em outro RTOS sem modificações. Exemplos de outros RTOS: FreeRTOS, uC/OS-II, Chibios/RT, etc.

A grande vantagem do NuttX é o fato de utilizar o padrão POSIX, assim você pode escrever um programa que rodará em Linux/*NIX e depois configura-lo para rodar no NuttX sem muito trabalho. E várias empresas já descobriram esta vantagem e estão começando a usar o NuttX ou a dar suporte a ele em seus processadores/microcontroladores, como é o caso da Atmel, a empresa que fabrica os microcontroladores usados nas placas Arduino: http://www.atmel.com/about/news/release.aspx?reference=tcm:26-63482

Interessante, mas como posso começar a testar o NuttX? A melhor forma é ter uma placa suportada pelo NuttX e começar compilando para rodar na sua placa. Mas caso você não tenha uma placa embarcada, não tem problema, você pode rodá-lo emulado num computador x86 ou poderá usar o QEMU para ver o funcionamento dele numa placa ARM: http://www.zilogic.com/blog/tutorial-nuttx.html

Quais placas suportam o NuttX? Atualmente mais de 90 placas são suportadas, dentre elas: Freedom Board KL25Z da Freescale, Stellaris LM4F120 LaunchPad da Texas Instruments, STM32F4Discovery da ST, Teensy Board da PJRC, etc. Infelizmente não existe um porte para Raspberry Pi, pois segundo Gregory Nutt (o criador do NuttX) esta placa é bem suportada pelo Linux e o NuttX não seria tão vantajoso neste caso.

É importante entender que o NuttX é voltado para microcontroladores de baixo a médio poder de processamento, mas não é ideal para microcontralores com poucos recursos (<8KB RAM e/ou <16KB Flash). Neste caso RTOS como o FreeRTOS ou Chibios seriam uma melhor alternativa.

Outro detalhe importante: o Linux também é usando em drones. Por exemplo o AR.Drone da Parrot utiliza Linux internamente e recentemente a Linux Foundation está trabalhando num projeto para avançar o desenvolvimento do Linux em Drone: https://www.dronecode.org

Apesar disso é provável que o NuttX continuará a ser usado em Drones ao lado do Linux que exige um processador com mais poder de processamento e consequentemente um pouco mais caro.

Nota: O NuttX é usado no projeto PX4/Pixhawk Autopilot e no VRBrain. O Pixhawk é o hardware vendido pela 3DRobotics para Drone inteligentes.

error: possibly undefined macro: AM_PATH_CPPUNIT

If you are facing this issue:

aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:15: warning: macro 'AM_PATH_CPPUNIT' not found in library
configure.in:15: error: possibly undefined macro: AM_PATH_CPPUNIT
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Just install this package:

$ sudo apt-get install libcppunit-dev