LusoRobótica - Robótica em Português

Robótica => Projectos Colectivos => Projectos de robótica => Software => Tópico iniciado por: TigPT em 22 de Maio de 2010, 21:02

Título: PortuguesArduino.h
Enviado por: TigPT em 22 de Maio de 2010, 21:02
PortuguesArduino.h é uma biblioteca C que permite fazer código para Arduino em português.

Necessidade:

Antes que comecem já a dizer que não têm qualquer utilidade, começo por explicar o que me levou a criar este projecto.
Os microcontroladores e a robótica estão cada vez mais simplificados e desmistificados, e começa a haver um grande grupo de crianças e jovens estudantes que começa a entrar para este novo e maravilhoso universo da robótica. Assim, e sendo a complexidade do código o maior obstáculo que enfrentam, muito se tem feito para tentar fazer uma abordagem mais gráfica ou simplista fazendo com que estes se preocupem com a lógica e não com a forma como a expressam.

Não consigo compreender como é que podem haver centenas, se não milhares, de crianças em Portugal a aprender robótica e a utilizar microcontroladores baseadks em BASIC para evitar a "complexidade" do C. Assim sendo, e para ajudar quem vê programação pela primeira vez, nada melhor do que uma abordagem mais próxima do pseudo-código (http://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo), facilitando assim a vida a quem está a começar a programar em C.


Ideia:

Criar uma biblioteca em C que permita programar em português, mas que ao mesmo tempo não traga nenhum peso em termos de código para o programa. Escrever um .h que faça chamadas às funções gnu e Arduino mas que seja muito mais fácil de compreender por parte daqueles que desconhecem pro completo este mundo.


Objectivo:

Desmistificar a programação em C e em Arduino, como passo para o ensino da robótica, fazendo com que as pessoas possam começar com esta abordagem, e aos poucos ir utilizando as funções nativas, visto que ao utilizar esta biblioteca, tanto se pode fazer um código com "if-else" tal como com "se-senao".


Código exemplo utilizando PortuguesArduino.h
Código: [Seleccione]
#include <PortuguesArduino.h>

inteiro Led = 13;    // LED liga-se ao pino digital 13

// O método configurar() executa apenas a primeira vez que o código começa

vazio configurar() {               
  // definir o pin do Led como saída
  configurarPino(Led, SAIDA);     
}

// O método ciclo() executa vezes vezes sem conta,
// enquanto o Arduino estiver ligado

vazio loop()                     
{
  escreverDigital(Led, ALTO);  // liga o LED
  esperar(1000);               // espera um segundo
  escreverDigital(Led, BAIXO); // desliga o LED
  esperar(1000);               // espera um segundo
}


Estado:
Esta biblioteca foi feita em poucos minutos por mim e pelo amgcgoncalves (http://lusorobotica.com/index.php?action=profile;u=53) e por isso ainda têm muito por onde ser limada. Gostaríamos de a publicar e ouvir a opinião de todos, assim como respectivas críticas e sugestões.


Download:

http://code.google.com/p/lusorobotica/downloads/detail?name=PortuguesArduino.zip (http://code.google.com/p/lusorobotica/downloads/detail?name=PortuguesArduino.zip)


Source:

http://code.google.com/p/lusorobotica/source/browse/#svn/trunk/PortuguesArduino (http://code.google.com/p/lusorobotica/source/browse/#svn/trunk/PortuguesArduino)
Título: Re: PortuguesArduino.h
Enviado por: antonio_jose em 22 de Maio de 2010, 21:23
Excelente Iniciativa  ;D
Título: Re: PortuguesArduino.h
Enviado por: RicardoSantos em 22 de Maio de 2010, 21:29
Muito boa iniciativa... Para quem esta a começar e optimo...

Mas sinceramente acho que me ia custar a habituar xD

Cumps
Título: Re: PortuguesArduino.h
Enviado por: TigPT em 22 de Maio de 2010, 21:33
Mas sinceramente acho que me ia custar a habituar xD
Claro... quem já está habituado a C e a outras linguagens, não vê vantagens. A ideia aqui é que seja para quem ainda não o faz, ou está a começar e pretende algo mais familiar, mais perto do pseudo-código. :)

Vamos precisar de ajuda a rever as traduções pois algumas podem não ser as mais indicadas, assim como traduzir mais funções. ;)
Título: Re: PortuguesArduino.h
Enviado por: sanosuke_kursch em 22 de Maio de 2010, 21:58
Achei a idéia interessante, mas sei lá, o problema vai ser pras pessoas migrarem do C em "português" pro C oficial, acho que vão acabar misturando as estações, além do fato de praticamente toda criança já estar familiarizada eter um conhecimento básico de inglês.
Não sei, talvez uma abordagem simultânea, ou algo próximo disso seria mais acertado, começar em português e gradualmente ir ir adicionando o inglês paralelamente, algo como ir avançando em português, pra facilitar a aprendizagem e aos poucos migrar pro inglês nas lições anteriores. Bom, não sou nenhum educador ou professor, portanto não noções de didática pra discutir isso, se alguém tiver uma idéia diferente dessa minha não me importaria de ouví-la.
Mas de todo modo, acho válida e interessante a idéia.
Título: Re: PortuguesArduino.h
Enviado por: antonio_jose em 22 de Maio de 2010, 22:18
Na minha opinião acho excelente esta iniciativa, e que devia de ir para a frente, acho que já estava na hora de haver uma linguagem de programação C/C++ ou semelhante a esta em português :)
Título: Re: PortuguesArduino.h
Enviado por: Njay em 23 de Maio de 2010, 00:54
Eu acho que a principal problema é continuar a ser C. Se é para crianças, o C não serve, tem que ser algo mais simples como BASIC ou Logo. Algo que não precise de tantos comentários para explicar o que cada coisa faz ;)

p.s. Escreve-se "definir".
Título: Re: PortuguesArduino.h
Enviado por: TigPT em 23 de Maio de 2010, 00:59
Eu infelizmente ainda não consegui ver a simplicidade do BASIC.

Enquanto o vosso projecto de programação drag-and-drop visual se vai definindo, creio que esta é a abordagem mais simplificada que se pode fazer. Compreendo que continua a ter alguma complexidade, mas até que ponto é mais complicado que BASIC?

(Agradeço a correcção, já emendei.)
Título: Re: PortuguesArduino.h
Enviado por: metRo_ em 23 de Maio de 2010, 03:04
Eu acho a ideia bastante interessante mas acho que não deve ser uma tradução. Acho que chamar inteiro não faz muito sentido para o publico alvo, seria mais interessante chamar por exemplo numero. O vazio é outra palavra idêntica que para quem percebe faz todo o sentido mas novamente para o publico alvo acho que não faz sentido.
Título: Re: PortuguesArduino.h
Enviado por: tcustodio em 23 de Maio de 2010, 14:23
é de louvar tal iniciativa, mas também partilho da opinião de que para crianças é mais eficiente uma programação gráfica, tipo logo!
mesmo assim isto já pode dar jeito para aqueles que não alinhem com o inglês (um pouco raro pra quem se mete nestas andanças!)
boa continuação :)
Título: Re: PortuguesArduino.h
Enviado por: TigPT em 23 de Maio de 2010, 15:48
Eu acho a ideia bastante interessante mas acho que não deve ser uma tradução. Acho que chamar inteiro não faz muito sentido para o publico alvo, seria mais interessante chamar por exemplo numero. O vazio é outra palavra idêntica que para quem percebe faz todo o sentido mas novamente para o publico alvo acho que não faz sentido.

Tens toda a razão... estes termos foram traduzidos a pensar em não traduzir à letra mas sim que seja lógico sem que fique muito distante do original, contudo é a primeira versão e tem que ser ser melhorado. Realmente inteiro faz mais sentido como número.. já o vazio temos que pensar melhor no que utilizar.
Título: Re: PortuguesArduino.h
Enviado por: metRo_ em 23 de Maio de 2010, 17:13
eu o vazio também não estou a ver nada a não ser quase uma frase lol não_retorna_nada :p
Título: Re: PortuguesArduino.h
Enviado por: PDI em 23 de Maio de 2010, 18:22
Uma ideia muito interessante e que já merecíamos, parabéns pela iniciativa Tig, de certeza vai abrir as portas da robótica a muitos portugueses e não só.

mesmo assim isto já pode dar jeito para aqueles que não alinhem com o inglês (um pouco raro pra quem se mete nestas andanças!)
boa continuação :)

Sim é raro, não sendo fácil entrar nessas andanças para quem saiba inglês, é quase impossível para quem não o saiba e eu que o diga.
Título: Re: PortuguesArduino.h
Enviado por: RicardoSantos em 23 de Maio de 2010, 20:39
Bem eu posso ajudar na migração...

Quanto ao vazio não pode ser  "não_retorna_nada" , porque também pode ser "não_recebe_nada"
Não é fácil traduzir, sem se conhecer muito bem o código, porque depois pode não se adequar noutros sítios...

Eu já conheço bem... No que puder ajudo ;)

Acho que era bom fazer uma votação para ver se vale a pena a tradução...
Título: Re: PortuguesArduino.h
Enviado por: TigPT em 23 de Maio de 2010, 20:42
Creio que o ideal será "semNada" ou algo parecido.

Relativamente à suposta votação.. não faz sentido, porque as pessoas que necessitam ainda nem cá andam. Não pensem que é para se utilizar no dia à dia.. não é para vocês que já programam, é para os que ainda nem sabem o que isto é!
Título: Re: PortuguesArduino.h
Enviado por: RicardoSantos em 23 de Maio de 2010, 20:46
Realmente tenho que concordar totalmente...
O objectivo não é para quem anda cá e para quem vem cá ficar cativado...
Sorry...

Bem no que puder ajudo...

P.s.: "semNada" parece-me bem ;)
Título: Re: PortuguesArduino.h
Enviado por: AngellS em 24 de Maio de 2010, 09:01
Excelente iniciativa.

Sem duvida que abre mundos a muita gente (gente mais nova e gente mais velha).

No que puder ajudar ;)

Já agora semNada encaixa perfeitamente ;)
Título: Re: PortuguesArduino.h
Enviado por: GnobarEl em 24 de Maio de 2010, 09:45
É uma grande iniciativa.

É verdade que não resolve o problema do C, e é aí que existem as grandes dificuldades, mas para quem se esta a iniciar é provavelmente uma mais valia. Muitas vezes, o problema do C é não se saber/ter conhecimento de algumas funções. Estando em PT possivelmente é mais simples.
Imaginem uma função void x() para iniciantes, olham para o void e não entendem o que siginifica "void" mas estando em PT "sem_retorno" é capaz de simplificar e tornar-se mais compreensiva.

Não resolve a dificuldade do C mas é um bom ponto de partida para quem está a começar.

Além disso tudo, nada como uma comunidade como esta sempre pronta a ajudar =)
Título: Re: PortuguesArduino.h
Enviado por: PDI em 24 de Maio de 2010, 19:06
Não resolve a dificuldade do C mas é um bom ponto de partida para quem está a começar.

Além disso tudo, nada como uma comunidade como esta sempre pronta a ajudar =)

Ai está é esta atitude descrita na segunda frase que mostra o porque destes dois anos de evolução do fórum.
Título: Re: PortuguesArduino.h
Enviado por: RicardoSantos em 25 de Maio de 2010, 01:26
Bem sendo assim gostaria de saber no que posso ajudar =)
Título: Re: PortuguesArduino.h
Enviado por: XicoMBD em 25 de Maio de 2010, 22:17
Gosto da ideia, mas acho que também poderia dar jeito a quem nunca mexeu em Arduino, como eu, era fazerem uma espécie de Glossário/ Dicionário onde desse para perceber quais os significados em português dos vários termos utilizados na programação Arduino. ::)
Título: Re: PortuguesArduino.h
Enviado por: VascoP em 26 de Maio de 2010, 08:18
Gosto da ideia, mas acho que também poderia dar jeito a quem nunca mexeu em Arduino, como eu, era fazerem uma espécie de Glossário/ Dicionário onde desse para perceber quais os significados em português dos vários termos utilizados na programação Arduino. ::)

Isso passa simplesmente por ler um livro de C seguido da página do Arduino.