O PSL-PI tem por objetivo incentivar o uso e a produção de software livre no Piauí como política de combate à exclusão digital. Acreditamos que a distribuição de conhecimentos proporcionada pelo Open Source/Software Livre tornará nossa sociedade mais justa e próspera, exatamente por dar a todos as mesmas condições de conhecimento e desenvolvimento.
Software Livre é uma grande oportunidade de construirmos uma sociedade produtora de ciência, independente e efetivamente competitiva. Estamos reconstruindo as bases da nossa sociedade, não mais calcados nos braços do Estado, mas sim, amparados pela iniciativa própria, pela auto-determinação. Nós somos capazes de nos auto-governar. Somos capazes de construir uma sociedade efetivamente Livre. Esta é a essência do PSL-PI.
O PSL-PI é formado pela articulação de indivíduos que atuam em instituições publicas e privadas, grupos de usuários e desenvolvedores de software livre, empresas, governos ou ONGs, e demais setores da sociedade. O importante é a consciência e disposição para propagar o uso de software livre e a cultura colaborativa nas diferentes esferas da sociedade.
Filipe Saraiva: Ato em São Paulo – #FreeAssange
10 de Dezembro de 2010, 0:00 - sem comentários ainda
Sábado 11/12 às 11h
Consulado Geral Britânico / British Council
Rua Ferreira de Araújo, 741 – Pinheiros, São Paulo, Brasil
Com informações do Blog http://liberdadeparaassange.noblogs.org/
Exibir mapa ampliado
Marvin Lemos: Trailer do Documentário “Arduino”
10 de Dezembro de 2010, 0:00 - sem comentários aindaTrailer de um documentário sobre Arduino:
"O Laboral Centro de Arte da Espanha encomendou o documentário sobre o Arduino, previsto para ser lançado neste verão. Os cineastas anunciaram que o filme está quase pronto e lançaram um trailer há alguns dias, que chegou ao BoingBoing e em outros agregadores..."
Fonte: http://www.arduinors.net
Marvin Lemos: Documentando os protótipos dos seus projetos
10 de Dezembro de 2010, 0:00 - sem comentários aindaFrizing é uma ótima ferramenta, não só para quem deseja aprender a desenvolver para o Arduino, como também para documentar os protótipos dos projetos. Além disso, a partir do website, é possível compartilhar e discutir projetos, funcionando, mais ou menos, como uma comunidade de desenvolvedores.
Abaixo, um vídeo ilustrando as principais características da ferramenta.
Frizing é open-source e pode ser baixado no seguinte endereço: http://fritzing.org/download
Marvin Lemos: Introdução ao Desenvolvimento na plataforma Arduino
8 de Dezembro de 2010, 0:00 - sem comentários aindaArduino é uma pequena placa com um microcontrolador e uma entrada USB para conectar a um computador, além de possui vários <i>sockets</i> de forma que a placa pode ser conectada a um grande número de dispositivos externos, como, por exemplo, motores, sensores de luz, temperatura, microfones, etc. Eles podem ser alimentados através de uma conexão USB com o computador ou por meio de uma bateria de 9V. Podem ser controlados a partir do computador ou programados através do computador e, em seguida, desconectados deles, operando de forma independente. p { margin-bottom: 0.08in; } <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> Arduino é uma plataforma de hardware livre, significando que qualquer pessoa ou empresa pode projetar e criar seus próprios clones do Arduino e vendê-los. </p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> O nome “Arduino” é reservado aos fabricantes originais. Contudo, desenvolvedores de clones do Arduino frequentemente deixam as letras “<span style="font-style: italic;">duino</span>” ao fim do nome dos seus produtos, como, por exemplo, <a href="http://www.freeduino.org/">Freeduino</a> e DFRduino.</p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> p { margin-bottom: 0.08in; } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> Programar o Arduino é fácil e a IDE de desenvolvimento está disponível para as plataformas Windows, Mac e Linux, sem nenhum custo.</p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> p { margin-bottom: 0.08in; }a:link { } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">Para começar a desenvolver para o Arduino, é necessário, primeiro, ir ao site oficial (<a href="http://www.arduino.cc/">www.arduino.cc</a>) e fazer o download da IDE de desenvolvimento. Além disso, é necessário adquirir um Arduino. Recomendo a leitura deste <a href="http://www.arduinopi.net/2010/10/como-comecar-com-o-arduino.html">post</a> e <a href="http://www.arduinopi.net/2010/10/experiencias-em-compras-de-arduino-em.html">deste</a> para saber como adquirir seus equipamentos.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> Na verdade, há diferentes projetos de placas Arduino. Cada uma podendo ser usada em projetos diferentes. Contudo, todos podem ser programadas com o mesmo ambiente de desenvolvimento do Arduino e, em geral, programas que funcionam em uma placa irão funcionar nas outras.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">Neste artigo, pretendo demonstrar minha experiência inicial com a placa Arduino Uno. Adquiri este kit para iniciante através da <a href="http://www.multilogica-shop.com/">Multilógica</a>. O kit custou R$ 218,00, fora o custo do sedex. Apesar do site oferecer um carrinho de compras, aparentemente não está funcionando. Assim, para comprar qualquer produtos deles, deve encaminhar um e-mail para </span><span style="font-weight: bold;">info@multilogica-shop.com</span><span style="font-weight: normal;"> informando os itens de interesse mais o seu CEP. Eles calculam o frete e respondem com o preço final. A resposta da empresa foi muito rápida e, em três dias, recebi o meu kit.</span></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"> p { margin-bottom: 0.08in; } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> O Kit é composto dos seguintes itens:</p> <ul><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">1 </span>Arduino Uno</p></li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">1 </span>Cabo USB<span style="font-weight: normal;"> - Para conectar o Arduino ao seu computador</span></p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">1 </span>Protoboard<span style="font-weight: normal;"> - Para testar seus primeiros circuítos conectando os outros componentes do kit sem soldas</span></p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> 1 Sensor de temperatura (termistor ntc 1k)</p> </li><li><p class="western" align="JUSTIFY" style="font-weight: normal;">1 Sensor de luminosidade (LDR 5mm) </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> 1 potenciômetro 10kΩ </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">1 chave momentânea (botão) </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">5 LEDs amarelos </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">5 LEDs verdes </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">5 LEDs vermelhos </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">15 resistores 330Ω </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">2 sensores/atuadores piezoelétricos </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">10 jumpers (para conexões) 15cm </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">10 jumpers (para conexões) 10cm </span> </p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"><span style="font-weight: normal;">10 jumpers (para conexões) 5cm</span></p></li></ul><p></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in;"> p { margin-bottom: 0.08in; } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <br /></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> A placa pode ser alimentada com qualquer voltagem entre 7 e 12 volts. Assim, uma pequena bateria de 9V será suficiente para pequenas aplicações. Entretanto, enquanto você estiver desenvolvendo a sua aplicação e testando na placa, é conveniente deixar a placa sendo alimentada através de uma conexão USB com o seu computador.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> Há duas filas de conectores nas extremidades da placa Arduino UNO. A fila no topo do diagrama é composta basicamente de <i>pins</i> digitais (on/off), embora qualquer <i>pin</i> marcado com “PWM” pode ser usada com saída analógica. A fila na parte de baixo é composta de conectores de energia na parte esquerda e entradas analógicas na parte da direita.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> O mais interessante é que esses conectores são organizados de forma que placas <i>“shields” </i><span style="font-style: normal;">possam ser plugadas à placa principal. Além disso, outros </span><i>shields </i><span style="font-style: normal;">podem ser plugados no </span><i>shield </i><span style="font-style: normal;">conectado à placa principal, estendendo, assim, a funcionalidade do seu Arduino.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-style: normal;">É possível comprar </span><i>shields </i><span style="font-style: normal;">para as mais variadas funções:</span></p> <ul><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Conectar a redes ethernet</p></li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Telas LCD e touch screens</p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Xbee (comunicação sem fio utilizando o protocolo Zigbee)</p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Som</p> </li><li><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Controle de Motor</p></li></ul> <br /><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: bold;"> p { margin-bottom: 0.08in; } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="font-weight: bold;">Instalando o software de Desenvolvimento</span> <br /><span style="font-weight: bold;"></span></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> p { margin-bottom: 0.08in; }a:link { } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-style: normal;">Conforme dito anteriormente, o software está disponível no site oficial (<a href="http://www.arduino.cc/">www.arduino.cc</a>). Nos meus testes, estou utilizando Linux, assim, bastei a versão específica no seguinte endereço: <a href="http://files.arduino.cc/downloads/arduino-0021.tgz">http://files.arduino.cc/downloads/arduino-0021.tgz</a> (versão 32-bits).</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Em seguida, basta extrair o conteúdo do arquivo em qualquer diretório do sistema. Será criado uma pasta chamada “<span style="font-weight: bold;">arduino-0021</span>”.</p> <br /><a href="http://3.bp.blogspot.com/_kB7rd_YegLA/TP_E2x_egII/AAAAAAAAAB0/B6ZcZFLgyFc/s1600/ide1.png"><img src="http://3.bp.blogspot.com/_kB7rd_YegLA/TP_E2x_egII/AAAAAAAAAB0/B6ZcZFLgyFc/s320/ide1.png" border="0" alt="" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 174px;" /></a> <br /> p { margin-bottom: 0.08in; } <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Entre nessa pasta e execute um arquivo chamado “<span style="font-weight: bold;">arduino</span>”.</p> <br />O ambiente de trabalho está ilustrado na imagem abaixo: <br /> <br /><a href="http://4.bp.blogspot.com/_kB7rd_YegLA/TP_Fb9Hn3TI/AAAAAAAAAB8/NS8DbUBD1nw/s1600/ide2.png"><img src="http://4.bp.blogspot.com/_kB7rd_YegLA/TP_Fb9Hn3TI/AAAAAAAAAB8/NS8DbUBD1nw/s320/ide2.png" border="0" alt="" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 316px; height: 320px;" /></a> p { margin-bottom: 0.08in; } <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal;"> <b>Configurando o ambiente</b></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Conecte o seu Arduino ao seu computador, através da porta USB e espere alguns segundos, para que o sistema reconheça o novo dispositivo. Para você ter certeza que a placa foi reconhecida, abra um terminal e, no prompt, execute o seguinte comando:</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="">$ dmesg</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Procure nas últimas linhas, uma linha mais ou menos parecida com essa:</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal; font-family: courier new;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal; font-family: courier new;"> [56999.967291] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB0</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Essa mensagem indica que o kernel reconheceu um novo dispositivo conectado através da porta <span style="font-weight: bold;">/dev/ttyUSB0</span>. O sistema nem sempre reconhece como ttyUSB0, mas, em geral, é /dev/tty<<i>alguma_coisa</i>></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Em seguida, devemos configurar o ambiente de desenvolvimento para utilizar a porta serial que o sistema reconheceu. Esta configuração em feita em <span style="font-weight: bold;">“Tools” → “Serial Port”</span>.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Além disso, temos que configurar a placa que estamos utilizando. Clique em “<span style="font-weight: bold;">Tools” → “Board”</span> e escolha a opção “<span style="font-weight: bold;">Arduino Uno</span>”.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal;"> <b>Hello World !!!! </b> </p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Nosso primeiro projeto será o equivalente Hello World para dispositivos embarcado. Neste caso, como não temos um terminal para imprimir a famosa mensagem, vamos pedir para o nosso programa piscar (<i>blink</i>) um LED.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-style: normal;">A placa do Arduino vem com um LED embutido, conectado ao </span><i>pin</i><span style="font-style: normal;"> digital 13. Esta conexão ao LED faz com que o </span><i>pin</i><span style="font-style: normal;"> seja sempre de saída (</span><i>output</i><span style="font-style: normal;">), mas como o LED usa pouca quantidade de corrente, ainda é possível conectar outras coisas ao </span><i>pin</i><span style="font-style: normal;">.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-style: normal;">Com a IDE do Arduino aberta e com as configurações de </span><i>Serial Port </i><span style="font-style: normal;">e </span><i>Board</i><span style="font-style: normal;"> acertadas, conforme explicado anteriormente, vamos escrever o nosso programa, ou, </span><i>sketch</i><span style="font-style: normal;">, como os programas para a plataforma são chamados dentro da comunidade Arduino.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> Escreva o código abaixo:</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-family: courier new;">int ledPin = 13;</span></p> <span style="font-family: courier new;">void setup() { </span> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> // initialize the digital pin as an output.</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> // Pin 13 has an LED connected on most Arduino boards:</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> pinMode(ledPin, OUTPUT); </p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> }</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-family: courier new;">void loop() {</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> digitalWrite(ledPin, HIGH); // set the LED on</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> delay(200); // wait for a second</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> digitalWrite(ledPin, LOW); // set the LED off</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> delay(200); // wait for a second</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; font-family: courier new;"> }</p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> Ainda não tinha comentando, mas a programação é feita basicamente em <i>C</i><span style="font-style: normal;">. Caso você não tenha familiaridade com essa linguagem de programação, recomendo procurar as várias apostilas e tutoriais disponíveis na internet.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal;"> <span style="font-style: normal;">Perceba que no nosso código temos duas funções, retornando </span><i>void</i><span style="font-style: normal;">: </span><i>setup()</i><span style="font-style: normal;"> e </span><i>loop().</i><span style="font-style: normal;"><span style="text-decoration: none;"> A função </span></span><i><span style="text-decoration: none;">setup() </span></i><span style="font-style: normal;"><span style="text-decoration: none;">é executada apenas uma vez, durante a inicialização do </span></span><i><span style="text-decoration: none;">sketch </span></i><span style="font-style: normal;"><span style="text-decoration: none;">(termo muito utilizado, pela comunidade, em substituição ao nome '</span></span><span style="font-style: normal;"><span style="text-decoration: none;"><b>programa</b></span></span><span style="font-style: normal;"><span style="text-decoration: none;">'). É utilizada, como o próprio nome sugere, para realizar configurações. Nesse nosso caso, estamos definindo qual o modo de operação do </span></span><i><span style="text-decoration: none;">pin</span></i><span style="font-style: normal;"><span style="text-decoration: none;"> que utilizaremos para conectar o LED. Como falei no começo dessa seção, utilizaremos o </span></span><i><span style="text-decoration: none;">pin </span></i><span style="font-style: normal;"><span style="text-decoration: none;">13, que já possui um LED embutido, conectado a ele. Assim, definimos que o </span></span><i><span style="text-decoration: none;">pin</span></i><span style="font-style: normal;"><span style="text-decoration: none;"> será de saída (</span></span><i><span style="text-decoration: none;">output</span></i><span style="font-style: normal;"><span style="text-decoration: none;">). Fizemos essa configuração através da chamada à função </span></span><i><span style="text-decoration: none;">pinMode()</span></i><span style="font-style: normal;"><span style="text-decoration: none;">:</span></span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal; text-decoration: none;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; text-decoration: none; font-family: courier new;"> <i>pinMode(ledPin, OUTPUT); </i> </p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-weight: normal; text-decoration: none;"> <br /></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">A função </span><i><span style="text-decoration: none;">pinMode()</span></i><span style="text-decoration: none;"> recebe dois parâmetros. O primeiro corresponde ao </span><i><span style="text-decoration: none;">pin</span></i><span style="text-decoration: none;"> que estamos trabalhando, no caso o 13. O segundo parâmetro corresponde à forma de trabalho do </span><i><span style="text-decoration: none;">pin</span></i><span style="text-decoration: none;">, neste caso, utilizamos a constante </span><i><span style="text-decoration: none;">OUTPUT</span></i><span style="text-decoration: none;"> para especificar que o </span><i><span style="text-decoration: none;">pin</span></i><span style="text-decoration: none;"> será de saída.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">A função </span><i><span style="text-decoration: none;">loop()</span></i><span style="text-decoration: none;"> é função principal do seu </span><i><span style="text-decoration: none;">sketch</span></i><span style="text-decoration: none;">. É nesta função que colocamos o código responsável por fazer o </span><i><span style="text-decoration: none;">LED</span></i><span style="text-decoration: none;"> piscar.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">O código é bastante simples. Inicialmente, fazemos o </span><i><span style="text-decoration: none;">LED </span></i><span style="text-decoration: none;">acender, chamando a função </span><i><span style="text-decoration: none;"> digitalWrite(ledPin, HIGH</span></i><span style="text-decoration: none;">). Perceba que passamos como parâmetro o </span><i><span style="text-decoration: none;">pin</span></i><span style="text-decoration: none;"> e a constante </span><i><span style="text-decoration: none;">HIGH</span></i><span style="text-decoration: none;">, indicando que queremos acender. Em seguida, utilizamos a função </span><i><span style="text-decoration: none;">delay(200) </span></i><span style="text-decoration: none;">para fazer com o processador pare por 200milisegundos. Depois, através da função </span><i><span style="text-decoration: none;">digitalWrite()</span></i><span style="text-decoration: none;">, apagamos o </span><i><span style="text-decoration: none;">LED </span></i><span style="text-decoration: none;">e, por último, fazemos com que o processador pare, novamente, por 200 milisegundos.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">A função </span><i><span style="text-decoration: none;">loop</span></i><span style="text-decoration: none;">, como o próprio nome indica, é executada em loop infinito, enquanto a placa estiver sendo alimentada.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">Depois te terminado o código, temos que fazer o </span><i><span style="text-decoration: none;">upload</span></i><span style="text-decoration: none;"> para a placa. Com a placa conectada através da interface USB, clique no botão Upload da IDE, conforme indicado na figura abaixo.</span></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"><a href="http://2.bp.blogspot.com/_kB7rd_YegLA/TP_HAv4q_VI/AAAAAAAAACM/PD7cDTOnlQ0/s1600/ide3.png"><img src="http://2.bp.blogspot.com/_kB7rd_YegLA/TP_HAv4q_VI/AAAAAAAAACM/PD7cDTOnlQ0/s320/ide3.png" border="0" alt="" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 62px;" /></a></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> p { margin-bottom: 0.08in; } </p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">Se tudo ocorrer bem, haverá uma pequena pausa e então, os dois LEDs vermelhos começarão a piscar, indicando que o </span><i><span style="text-decoration: none;">sketch</span></i><span style="text-decoration: none;"> está sendo transferido para a placa. Esta operação deve demorar em torno de 5 a 10 segundos.</span></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <span style="text-decoration: none;">Quando a transferência estiver terminada, a placa será automaticamente reiniciada e, se tudo tiver ocorrido bem, o LED conectado no </span><i><span style="text-decoration: none;">pin </span></i><span style="text-decoration: none;">13 irá piscar intermitentemente. A imagem abaixo ilustra a posição do LED. <br /></span></p><p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"> <br /></p><a href="http://4.bp.blogspot.com/_kB7rd_YegLA/TP_ID8anZEI/AAAAAAAAACc/ZtF5AHntaDY/s1600/arduino-uno2_pin13.png"><img src="http://4.bp.blogspot.com/_kB7rd_YegLA/TP_ID8anZEI/AAAAAAAAACc/ZtF5AHntaDY/s320/arduino-uno2_pin13.png" border="0" alt="" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 281px; height: 221px;" /></a> <p></p> <p class="western" align="JUSTIFY" style="margin-bottom: 0in; font-style: normal; font-weight: normal;"></p><p></p> <p></p> <p></p> <p></p> <p></p> <div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/3029346213432632845-2720278831936885211?l=www.arduinopi.net" height="1" alt="" width="1" /></div><img src="http://feeds.feedburner.com/~r/ArduinoNoPiau/~4/dTzx9HMdjKE" height="1" width="1" />
KDE-PI: Naming concepts and a meaningful end
8 de Dezembro de 2010, 0:00 - sem comentários aindaHello, Planet!
Calligra is now the new KDE office suite. No problem when a project starts to rethink its concepts and try to engange more efforts to make things better. I wrote a article a month ago about my vision of the internal problems in KOffice (if you wanna take a look, is in portuguese). Tryng to take seriously the Julian Assange definition of scientific journalism (GO,WIKILEAKS!), this email thread is the real source of information about the reasons why the KOffice is passing through a “rebranding”. Is not the end of the project, is just a reformulation.
I read a weird article associating the end of KOffice with the end of KDE. Brian Proffit, the author of the article, put some things that happened and try to predict another rebranding in KDE, and even try predict some names, like Plasma. I don’t blame Mr. Proffit about the misunderstanding, since probably he didn’t read projects objectives, the old “About” link in a webpage (ok, it’s his fault). We can see that the repercution of the article it wasn’t that good. To clarify, understand that KDE became a wider concept in FOSS projects it’s not that easy, since some people don’t seen through the community concept. And that’s the thing about Calligra issue.
If you read the KOffice devel list thread, you will see that internal relationship problems have came up. You can’t be in a situation where you have to work with people and become isolated. We have to live with differences and learn to deal with it, in a project or in our personal life. In a project point of view, I’ll quote Seigo here:
“The biggest challenge laying ahead for the people working on Calligra is going to be building a healthy, dynamic community with real leadership around it and a coherent vision under it. In other words: the challenge is to tap the momentum before it dissipates to improve on the foundational issues that KOffice struggled with.“
The KDE name rebranding it was important for improve the vision of community that have to be strong in a dynamic enviroment such FOSS. But the modification was not in the name, but in the meaning. A better and wide concept was associated with the name “KDE”. Calligra is trying to do the same, but in a new name. If you look closely, most of the developers of KOffice are in the Calligra project. If you want to understand the reasons, see Cyrille Berger words about it.
I’m slowly entering the Calligra community and I can say that the people behind it are really receptive and helpful, so the intergatioin concept is becoming strong and will lead to a good result. Taking the Chico Xavier’s wise words, we can’t come back in time and make a new beginning, but we all can start over and make a better end.