<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-816930546589294545</id><updated>2010-03-09T20:47:59.750-08:00</updated><title type='text'>Elétron Livre</title><subtitle type='html'>Democratização da eletrônica, robótica, programação, internet e open-source</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default?start-index=26&amp;max-results=25'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-735766029398768192</id><published>2010-03-09T17:05:00.000-08:00</published><updated>2010-03-09T20:47:59.763-08:00</updated><title type='text'>Bússola Digital com sensor de temperatura e umidade utilizando o Program-Me da Globalcode.</title><content type='html'>&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5bxM-Xqn8I/AAAAAAAAAEY/zbokDM5gbQs/s200/DSC00870.JPG" alt="" id="BLOGGER_PHOTO_ID_5446806004554178498" border="0"&gt;&lt;br /&gt;Neste post descrevo como é simples conectar sensores tipo bússola, temperatura e umidade ao Program-Me utilizando a interface I2C, e construir uma interessante bússola digital com display LCD gráfico.&lt;br /&gt;&lt;br /&gt;O chip ATMEGA utilizado em todos  os Arduinos  possui uma interface muito interessante chamada I2C . Essa interface permite a conexão de diversos sensores, memórias EEPROM e inclusive outros Arduinos utilizando apenas dois fios além do terra (GND). Essa interface funciona como um barramento onde cada dispositivo tem um endereço e o dispositivo mestre, neste caso o ATMEGA, controla o acesso aos demais dispositivos denominados escravos.&lt;br /&gt;&lt;br /&gt;Para aprender mais sobre esta interface recomendo os links abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="O%20chip%20ATMEGA%20utilizado%20em%20todos%20%20os%20Arduinos%20%20possui%20uma%20interface%20muito%20interessante%20chamada%20I2C%20.%20Essa%20interface%20permite%20a%20conex%C3%A3o%20de%20diversos%20sensores,%20mem%C3%B3rias%20EEPROM%20e%20inclusive%20outros%20Arduinos%20utilizando%20apenas%20dois%20fios%20al%C3%A9m%20do%20terra%20%28GND%29.%20Essa%20interface%20funciona%20como%20um%20barramento%20onde%20cada%20dispositivo%20tem%20um%20endere%C3%A7o%20sendo%20que%20o%20dispositivo%20mestre,%20neste%20caso%20o%20ATMEGA,%20controla%20o%20acesso%20aos%20demais%20dispositivos%20chamados%20escravos.%20%20Para%20aprender%20mais%20sobre%20esta%20interface%20recomendo%20os%20links%20abaixo:%20%20http://www.arduino.cc/playground/Learning/I2C%20%20especifica%C3%A7%C3%A3o%20da%20interface%20http://www.nxp.com/acrobat_download2/literature/9398/39340011.pdf%20%20%20Neste%20projeto%20utilizei%20dois%20sensores,%20um%20magn%C3%A9tico%20que%20utiliza%20o%20chip%20HMC6352%20da%20Honeywell%20e%20um%20sensor%20de%20temperatura%20e%20umidade%20que%20utiliza%20o%20chip%20SHT-15%20da%20Sensirion,%20sendo%20que%20ambos%20s%C3%A3o%20compat%C3%ADveis%20com%20a%20interface%20I2C,%20apesar%20de%20que%20o%20SHT-15%20n%C3%A3o%20%C3%A9%20endere%C3%A7%C3%A1vel%20por%20esta%20interface,%20por%C3%A9m%20pode%20conviver%20com%20os%20outros%20dispositivos%20no%20barramento%20I2C%20desde%20que%20isso%20seja%20gerenciado%20pelo%20software."&gt;http://www.arduino.cc/playground/Learning/I2C&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nxp.com/acrobat_download2/literature/9398/39340011.pdf"&gt;http://www.nxp.com/acrobat_download2/literature/9398/39340011.pdf&lt;/a&gt; (especificação da interface)&lt;br /&gt;&lt;br /&gt;Neste projeto utilizei dois sensores, um magnético que utiliza o chip HMC6352 da Honeywell e um sensor de temperatura e umidade que utiliza o chip SHT-15 da Sensirion, sendo que ambos são compatíveis com a interface I2C, apesar de que o SHT-15 não é endereçável por esta interface, porém pode conviver com os outros dispositivos no barramento I2C desde que isso seja gerenciado pelo software.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5cMWafsA7I/AAAAAAAAAHw/gQ5gJQsUUP4/s1600-h/SHT-15.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5cMWafsA7I/AAAAAAAAAHw/gQ5gJQsUUP4/s200/SHT-15.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446835853536789426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5cMRIeMByI/AAAAAAAAAHo/1n0DlLcgTiY/s1600-h/HMC6352.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5cMRIeMByI/AAAAAAAAAHo/1n0DlLcgTiY/s200/HMC6352.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446835762799314722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para exibir as informações dos sensores foi utilizado um display LCD gráfico de 128x64 pixels em conjunto com a biblioteca &lt;a href="http://www.arduino.cc/playground/Code/GLCDks0108"&gt;KS0108&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;O interessante da biblioteca KS0108, é que podemos transferir imagens para o display com apenas uma linha de comando. &lt;br /&gt;Para isso a imagem .BMP deve ser convertida por um sketch de Processing chamado &lt;span style="font-weight: bold;"&gt;glcdBitmap&lt;/span&gt;, em um arquivo hexadecimal que será utilizado pela biblioteca para identificar quais são os pixels do display que devem ou não ser ativados. &lt;br /&gt;Ai é só incluir o arquivo gerado no seu programa e utilizar quando necessário.&lt;br /&gt;&lt;br /&gt;Existe um programa chamado &lt;span style="font-weight: bold;"&gt;FASTLCD&lt;/span&gt; que ajuda muito na construção das telas gráficas.&lt;br /&gt;Na figura abaixo temos o layout da tela deste projeto sendo construída no FASTLCD.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b8850t81I/AAAAAAAAAG4/emXsP45QQYw/s1600-h/layout_bussola.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b8850t81I/AAAAAAAAAG4/emXsP45QQYw/s400/layout_bussola.png" alt="" id="BLOGGER_PHOTO_ID_5446818922595480402" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após construir a tela no FASTLCD devemos salvar o arquivo .BMP no diretório &lt;span style="font-weight: bold;"&gt;“..\hardware\libraries\ks0108\Processing\glcdBitmap\data”&lt;/span&gt; que fica dentro do diretório da IDE do Arduino.&lt;br /&gt;&lt;br /&gt;Com o arquivo BMP salvo no diretório acima, abrimos na IDE de Processing o arquivo &lt;span style="font-weight: bold;"&gt;“..\hardware\libraries\ks0108\Processing\glcdBitmap\glcdBitmap.pde”&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5b9m2Q_4EI/AAAAAAAAAHA/Wr4zyDJ7-Vo/s1600-h/processing.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 251px;" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5b9m2Q_4EI/AAAAAAAAAHA/Wr4zyDJ7-Vo/s400/processing.png" alt="" id="BLOGGER_PHOTO_ID_5446819643194859586" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Então é só editar a linha abaixo colocando o nome do seu arquivo .BMP no lugar de &lt;span style="font-weight: bold;"&gt;“ArduinoIcon.bmp”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;String sourceImage =  "ArduinoIcon.bmp"; // mude esta linha para o nome do seu BMP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ao executar este Processing, será gerado um arquivo nomedoseuBMP.h no diretório &lt;span style="font-weight: bold;"&gt;“..\hardware\libraries\ks0108\Processing\glcdBitmap”&lt;/span&gt; correspondente a imagem.&lt;br /&gt;&lt;br /&gt;Então basta no inicio do seu programa incluir a figura com o comando do exemplo abaixo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#include "Layout_bussola.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E depois para exibir a figura no display basta dar o seguinte comando:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GLCD.DrawBitmap(Layout_bussola, 0,0, BLACK);&lt;/span&gt; //desenha layout básico do display para bussola.&lt;br /&gt;&lt;br /&gt;IMPORTANTE: Caso apresente falha na compilação do seu programa, será necessário copiar o arquivo .h do diretório &lt;span style="font-weight:bold;"&gt;“..\hardware\libraries\ks0108\Processing\glcdBitmap”&lt;/span&gt; para o diretório &lt;span style="font-weight:bold;"&gt;“..\hardware\libraries\ks0108”&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;O método &lt;span style="font-weight: bold;"&gt;GLCD.DrawBitmap&lt;/span&gt; permite especificar a partir de qual pixel será carregada a imagem, então para alterar as direções da bússola, criei 8 bitmaps diferentes (figuras abaixo) com resolução 64x64, ou seja, somente a metade direita do display e carrego elas a partir do pixel 64,0 conforme o valor recebido do sensor magnético HMC6352.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b4JeHPm5I/AAAAAAAAAFY/37Kt-iEcEy8/s1600-h/1.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b4JeHPm5I/AAAAAAAAAFY/37Kt-iEcEy8/s200/1.png" alt="" id="BLOGGER_PHOTO_ID_5446813640937151378" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5b4Nwoi2OI/AAAAAAAAAFg/uYbWhzX_D3U/s1600-h/2.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5b4Nwoi2OI/AAAAAAAAAFg/uYbWhzX_D3U/s200/2.png" alt="" id="BLOGGER_PHOTO_ID_5446813714628139234" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5b4RhATMTI/AAAAAAAAAFo/kALTwdtiG3s/s1600-h/3.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5b4RhATMTI/AAAAAAAAAFo/kALTwdtiG3s/s200/3.png" alt="" id="BLOGGER_PHOTO_ID_5446813779152286002" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b4jsomGsI/AAAAAAAAAFw/X3xCHQ6Sdn8/s1600-h/4.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b4jsomGsI/AAAAAAAAAFw/X3xCHQ6Sdn8/s200/4.png" alt="" id="BLOGGER_PHOTO_ID_5446814091511732930" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5b41ywzaJI/AAAAAAAAAGQ/rDFJa8iQe9s/s1600-h/5.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5b41ywzaJI/AAAAAAAAAGQ/rDFJa8iQe9s/s200/5.png" alt="" id="BLOGGER_PHOTO_ID_5446814402394417298" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5b4xyheRLI/AAAAAAAAAGI/t75_y7JqCxE/s1600-h/6.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5b4xyheRLI/AAAAAAAAAGI/t75_y7JqCxE/s200/6.png" alt="" id="BLOGGER_PHOTO_ID_5446814333610640562" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b4uItcspI/AAAAAAAAAGA/Bl4povVn8bU/s1600-h/7.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S5b4uItcspI/AAAAAAAAAGA/Bl4povVn8bU/s200/7.png" alt="" id="BLOGGER_PHOTO_ID_5446814270846972562" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5b4qVZ5VSI/AAAAAAAAAF4/4KbUtTGqJK4/s1600-h/8.png"&gt;&lt;img style="float: left; cursor: pointer; width: 64px; height: 64px;" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S5b4qVZ5VSI/AAAAAAAAAF4/4KbUtTGqJK4/s200/8.png" alt="" id="BLOGGER_PHOTO_ID_5446814205535147298" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Com isso o trecho do programa que atualiza a indicação da bussola no display fica bem simples.&lt;br /&gt;&lt;br /&gt;Na foto abaixo temos todo o conjunto montado em um protoboard e mais abaixo temos dois vídeos demonstrando o funcionamento do circuito.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5cDjPko5CI/AAAAAAAAAHY/eKMYkwsSfzU/s1600-h/DSC00871.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5cDjPko5CI/AAAAAAAAAHY/eKMYkwsSfzU/s400/DSC00871.JPG" alt="" id="BLOGGER_PHOTO_ID_5446826178338415650" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Obs: As bússolas por padrão apontam sempre para o norte, porém neste projeto configurei de forma que seja indicado pela seta o rumo que estamos seguindo sendo que o NORTE fica fixo a frente. Para operar no modo padrão, bastaria criar as imagens com o norte acompanhando a ponta da seta e rotacionar no sentido oposto ao que esta sendo feito. É possível também conectar uma chave em uma das portas do Program-Me e com isso seria possível selecionar o modo de operação da bússola.&lt;br /&gt;&lt;br /&gt;O próximo desafio é adaptar a biblioteca KS0108 para trabalhar com display serial, assim não ocuparemos tantas portas só para o display.&lt;br /&gt;&lt;br /&gt;&lt;embed wmode="opaque" src="http://static.ning.com/socialnetworkmain/widgets/video/flvplayer/flvplayer.swf?v=201003081100" FlashVars="config=http%3A%2F%2Fprogram-me.ning.com%2Fvideo%2Fvideo%2FshowPlayerConfig%3Fid%3D4498364%253AVideo%253A964%26ck%3D-&amp;amp;video_smoothing=on&amp;amp;autoplay=off&amp;amp;isEmbedCode=1" width="456" height="344" bgColor="#000000" scale="noscale" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt; &lt;/embed&gt; &lt;br /&gt;&lt;small&gt;&lt;a href="http://program-me.ning.com/video/video"&gt;Ache outros vídeos como este em &lt;em&gt;Globalcode Program-ME&lt;/em&gt;&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed wmode="opaque" src="http://static.ning.com/socialnetworkmain/widgets/video/flvplayer/flvplayer.swf?v=201003081100" FlashVars="config=http%3A%2F%2Fprogram-me.ning.com%2Fvideo%2Fvideo%2FshowPlayerConfig%3Fid%3D4498364%253AVideo%253A969%26ck%3D-&amp;amp;video_smoothing=on&amp;amp;autoplay=off&amp;amp;isEmbedCode=1" width="456" height="344" bgColor="#000000" scale="noscale" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt; &lt;/embed&gt; &lt;br /&gt;&lt;small&gt;&lt;a href="http://program-me.ning.com/video/video"&gt;Ache outros vídeos como este em &lt;em&gt;Globalcode Program-ME&lt;/em&gt;&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-735766029398768192?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/735766029398768192/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/03/bussola-digital-com-sensor-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/735766029398768192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/735766029398768192'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/03/bussola-digital-com-sensor-de.html' title='Bússola Digital com sensor de temperatura e umidade utilizando o Program-Me da Globalcode.'/><author><name>José Luiz Sanchez Lorenzo</name><uri>http://www.blogger.com/profile/10757224842404557513</uri><email>jllorenzo@terra.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02868952394514831583'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UvmLoVIJXwQ/S5bxM-Xqn8I/AAAAAAAAAEY/zbokDM5gbQs/s72-c/DSC00870.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-1574264055195259237</id><published>2010-02-22T19:15:00.000-08:00</published><updated>2010-02-23T07:46:26.230-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='José Luiz'/><category scheme='http://www.blogger.com/atom/ns#' term='robô'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'> Mini Robô circular utilizando PROGRAM-ME  </title><content type='html'>Depois de ver alguns projetos de robôs do Vinicíus e de alguns colegas deste blog, resolvi montar um também para praticar os conceitos de robótica. Como não tenho um espaço ideal para produzir as partes mecânicas do robô, optei por utilizar um chassi já pronto.&lt;br /&gt;&lt;br /&gt;Após algumas pesquisas pela internet, resolvi utilizar um chassi circular da Pololu (&lt;a href="http://www.pololu.com/catalog/product/250"&gt;http://www.pololu.com/catalog/product/250&lt;/a&gt;), pois após imprimir o manual desse chassi, percebi que o Program-Me encaixaria perfeitamente nele, inclusive a furação parece até que foi feita para o Program-Me. &lt;br /&gt;O diâmetro do chassi é aproximadamente o mesmo de um DVD deixando o robô bem compacto.&lt;br /&gt;&lt;br /&gt;Nesse chassi montei também um kit de engrenagens e motores da TAMIYA (&lt;a href="http://www.pololu.com/catalog/product/61"&gt;http://www.pololu.com/catalog/product/61&lt;/a&gt;) e como terceira roda utilizei um ball caster (&lt;a href="http://www.pololu.com/catalog/product/66"&gt;http://www.pololu.com/catalog/product/66&lt;/a&gt;) também da TAMIYA.&lt;br /&gt;&lt;br /&gt;Esse conjunto ficou muito bom e praticamente contempla toda a parte mecânica do robô.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NKuvscA1I/AAAAAAAAAC4/Xy2yYsoueJI/s1600-h/DSC00827.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441274941730980690" src="http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NKuvscA1I/AAAAAAAAAC4/Xy2yYsoueJI/s320/DSC00827.JPG" style="cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como os motores que vêm no kit TAMIYA funcionam com no máximo 6 volts e eu queria utilizar alimentação de 12 volts, substituí os dois motores por motores MABUCHI desses utilizados em carrinhos de autorama e o resultado foi muito bom.&lt;br /&gt;Com apenas 30% de duty cycle no PWM já consigo uma velocidade muito boa no robô.&lt;br /&gt;&lt;br /&gt;Para sensores de obstáculos utilizei dois sensores infravermelho da SHARP modelo GP2Y0A21YK (&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=242"&gt;http://www.sparkfun.com/commerce/product_info.php?products_id=242&lt;/a&gt;) posicionados na parte frontal do robô e com inclinação de aproximadamente 30 graus para cada um dos lados. Dessa forma é possível detectar obstáculos, tanto na parte frontal como nas laterais da direção em que o robô se movimenta, não sendo necessário um servo para movimentar os sensores.&lt;br /&gt;Esses sensores detectam obstáculos entre 10 e 80 cm sendo que conectei eles nos conectores JP6 e JP7 do PROGRAM-ME que estão associados às portas analógicas.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S4NMiNfjjzI/AAAAAAAAADA/mHkSnlAj4-o/s1600-h/DSC00856.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441276925414969138" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S4NMiNfjjzI/AAAAAAAAADA/mHkSnlAj4-o/s320/DSC00856.JPG" style="cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após ver o post do Vinícius sobre a fita de leds RGB, tive a idéia de colocar uma ao redor do robô, como o chassi é circular imaginei que o acabamento ficaria muito bom e daria um visual interessante (vejam detalhe da fita na foto acima).&lt;br /&gt;&lt;br /&gt;Para comandar a fita de leds permitindo várias combinações de cores, utilizei 3 dos 4 transistores existentes no PROGRAM-ME. Como apenas o transistor Q2 é normalmente associado à porta PWM, fiz um remapeamento dos jumpers do PROGRAM-ME de forma que mais 2 transistores ficassem associados às portas PWM (vejam detalhes na figura abaixo e na próxima foto).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S4NRl0-2TaI/AAAAAAAAADI/YhnS0lRzvDs/s1600-h/remapeamento_jumpers.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" border="0" height="304" id="BLOGGER_PHOTO_ID_5441282485112950178" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S4NRl0-2TaI/AAAAAAAAADI/YhnS0lRzvDs/s640/remapeamento_jumpers.png" style="height: 152px; width: 320px;" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Obs: os retângulos coloridos indicam os pontos que foram interconectados em JP8 e JP11. &lt;br /&gt;&lt;br /&gt;Notem que além do remapeamento de TR1(transistor Q1) e TR3 (transistor Q3), foi também remapeado o primeiro led vermelho o qual utilizo para indicar um dos modos de operação do robô. Os leds AM3 e VD3 indicam os outros dois modos.&lt;br /&gt;&lt;br /&gt;Abaixo temos uma foto que mostra como foi feito o remapeamento das portas utilizando os conjuntos de jumpers JP8 e JP11 do PROGRAM-ME.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S4NTVAJczII/AAAAAAAAADY/112BnT3v3Nw/s1600-h/DSC00858.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441284395075685506" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S4NTVAJczII/AAAAAAAAADY/112BnT3v3Nw/s320/DSC00858.JPG" style="cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A foto a seguir mostra o detalhe da conexão da fita RGB aos transistores do PROGRAM-ME.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S4NbHbOOMiI/AAAAAAAAAEI/Vyura5KEsMY/s1600-h/DSC00852.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441292957918310946" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S4NbHbOOMiI/AAAAAAAAAEI/Vyura5KEsMY/s200/DSC00852.JPG" style="cursor: pointer; height: 150px; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para interface entre o Program-Me e os motores , utilizei um Shield da SparkFun (&lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9213"&gt;http://www.sparkfun.com/commerce/product_info.php?products_id=9213&lt;/a&gt;) que contém duas pontes H que permitem um controle total de velocidade e direção, independente para cada um dos motores. &lt;br /&gt;Esse shield utiliza as portas digitais 10 a 13 do Program-Me.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S4NTDOtEcMI/AAAAAAAAADQ/jq0WJ385_sI/s1600-h/DSC00826.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441284089745535170" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/S4NTDOtEcMI/AAAAAAAAADQ/jq0WJ385_sI/s320/DSC00826.JPG" style="cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como mencionei acima, o robô possui 3 modos de operação:&lt;br /&gt;&lt;br /&gt;1- Autônomo : onde ele se desloca livremente detectando obstáculos e desviando automaticamente.&lt;br /&gt;2- Joystick : onde controlamos seus movimentos através de um joystick .&lt;br /&gt;3- Acelerômetro: os movimentos são controlados ao movimentar o controle remotos nos eixos X e Y.&lt;br /&gt;&lt;br /&gt;Abaixo temos a foto do controle remoto que nada mais é que um arduino simples, equipado com um shield onde montei o rádio transmissor, um acelerômetro e um joystick. &lt;br /&gt;Obs: O modo de operação é comutado ao pressionar a alavanca do Joystick&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S4NXwcS0xeI/AAAAAAAAADg/xhIHrW-FS3Y/s1600-h/DSC00823.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441289264534177250" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S4NXwcS0xeI/AAAAAAAAADg/xhIHrW-FS3Y/s320/DSC00823.JPG" style="cursor: pointer; height: 240px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A interface entre o robô e o controle remoto é feita utilizando um rádio ASK de 433MHz que permite taxas de 2400bps a 19200bps (estou utilizando 9600bps).&lt;br /&gt;Para enviar comandos entre o controle remoto acima e o robô, criei um protocolo simples onde cada comando é formado por 5 bytes ( um byte de flag de inicio, 3 bytes que formam o comando e um byte de finalização).&lt;br /&gt;&lt;br /&gt;exemplo:   &lt;span style="font-weight: bold;"&gt;{lfy}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;onde “{“ é o flag de início, “l” indica que é um comando para o motor esquerdo, “f” indica que ele deverá gira para frente e “y” indica o dutycicle que deverá ser aplicado ao PWM associado a esse motor, sendo que varia de 0 a 100 (caracter ASCII correspondente).&lt;br /&gt;&lt;br /&gt;Também implementei o comando para mudança do modo de operação e seu formato é :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; {mdx} &lt;/span&gt;   &lt;br /&gt;&lt;br /&gt;onde “md” significa solicitação de mudança de modo de operação e “x” indica um dos 3 modos (autônomo [1], joystick [2] e acelerômetro [3] .&lt;br /&gt;&lt;br /&gt;Bem, é isso pessoal, abaixo temos um vídeo do robô em ação (modo autônomo) e algumas fotos mostrando algumas cores obtidas com fita RGB.&lt;br /&gt;Ela muda de cor conforme são detectados os obstáculos ou quando o robô modifica a sua trajetória.&lt;br /&gt;&lt;br /&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" bgcolor="#000000" flashvars="config=http%3A%2F%2Fprogram-me.ning.com%2Fvideo%2Fvideo%2FshowPlayerConfig%3Fid%3D4498364%253AVideo%253A909%26ck%3D-&amp;amp;video_smoothing=on&amp;amp;autoplay=off&amp;amp;isEmbedCode=1" height="344" pluginspage="http://www.macromedia.com/go/getflashplayer" scale="noscale" src="http://static.ning.com/socialnetworkmain/widgets/video/flvplayer/flvplayer.swf?v=201002091145" type="application/x-shockwave-flash" width="428" wmode="opaque"&gt;&lt;/embed&gt;  &lt;br /&gt;&lt;small&gt;&lt;a href="http://program-me.ning.com/video/video"&gt;Ache outros vídeos como este em &lt;i&gt;Globalcode Program-ME&lt;/i&gt;&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S4NZyCrdLTI/AAAAAAAAAEA/XJmW2qwNGpA/s1600-h/DSC00850.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441291491041160498" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/S4NZyCrdLTI/AAAAAAAAAEA/XJmW2qwNGpA/s200/DSC00850.JPG" style="cursor: pointer; height: 150px; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S4NZxjvpL5I/AAAAAAAAAD4/b3kwfwWRzXs/s1600-h/DSC00849.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441291482737225618" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/S4NZxjvpL5I/AAAAAAAAAD4/b3kwfwWRzXs/s200/DSC00849.JPG" style="cursor: pointer; height: 150px; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NZxUZBvfI/AAAAAAAAADw/4FsAgGNPUaI/s1600-h/DSC00848.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441291478615834098" src="http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NZxUZBvfI/AAAAAAAAADw/4FsAgGNPUaI/s200/DSC00848.JPG" style="cursor: pointer; height: 150px; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NZxDSuSuI/AAAAAAAAADo/yTAoscdVjGY/s1600-h/DSC00847.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5441291474025990882" src="http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NZxDSuSuI/AAAAAAAAADo/yTAoscdVjGY/s200/DSC00847.JPG" style="cursor: pointer; height: 150px; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;&lt;br /&gt;José Luiz Sanchez Lorenzo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-1574264055195259237?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/1574264055195259237/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/02/mini-robo-circular-utilizando-program.html#comment-form' title='13 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1574264055195259237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1574264055195259237'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/02/mini-robo-circular-utilizando-program.html' title=' Mini Robô circular utilizando PROGRAM-ME  '/><author><name>José Luiz Sanchez Lorenzo</name><uri>http://www.blogger.com/profile/10757224842404557513</uri><email>jllorenzo@terra.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02868952394514831583'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UvmLoVIJXwQ/S4NKuvscA1I/AAAAAAAAAC4/Xy2yYsoueJI/s72-c/DSC00827.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-4827270098924908467</id><published>2010-02-10T12:43:00.000-08:00</published><updated>2010-02-11T10:36:58.199-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Open Hack Day'/><category scheme='http://www.blogger.com/atom/ns#' term='eventos'/><title type='text'>Yahoo! Open Hack Day 2010 no Brasil</title><content type='html'>Oba!! Acontece no final de semana dos dias 20 e 21 de março a segunda edição do evento &lt;a href="http://openhackbrazil2010.eventwax.com/open-hack-2010-brazil"&gt;&lt;b style="color: #4c1130;"&gt;Yahoo! Open Hack Day no Brasil&lt;/b&gt;&lt;/a&gt;, realizado no excelente espaço de eventos do SENAC (o mesmo espaço do JustJava).&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://openhackbrazil2010.eventwax.com/open-hack-2010-brazil" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://openhackbrazil2010.eventwax.com/uploaded/logo//open-hack-2010-brazil/20100203140815-openhackbrazil2010.jpg?1265206095" width="291" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Tivemos uma experiência muito legal no evento do ano passado e acredito que este ano vai ser melhor ainda. Foi um evento bem diferente, um evento de codificação, onde as pessoas ou equipes criaram seus "hacks" durante o final de semana.&lt;br /&gt;No domingo à tarde muita pressa para terminar os projetos para as apresentações. Muitos projetos, muito divertido e muito interessante. Votação e premiação&amp;nbsp; seguidos de&amp;nbsp; bate-papo sobre os projetos.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div style="color: #4c1130;"&gt;&lt;b&gt;&lt;i&gt;É um evento para quem gosta de codificar, ou de fazer coisas divertidas, diferentes.&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #4c1130;"&gt;&lt;br /&gt;&lt;/div&gt;A organização do evento foi impecável no ano passado, comida, espaço, limpeza, foi muito bom.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=YahooHackDay2008"&gt;Veja a cobertura completa, fotos, nosso prêmio, equipe e muito mais!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Nosso time em 2008:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Instrutores&lt;/b&gt; : Eder Magalhães, Rafael Nunes, Vinicius Senger e eu;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Alunos&lt;/b&gt;: Gustavo Dantas Pereira, Pedro Germano, Eduardo Veríssimo, Alexandre Loiola e Katia Matto&lt;/li&gt;&lt;li&gt;&lt;b&gt;Amigos e colaboradores&lt;/b&gt;: Ana Abrantes e Wagner Santos.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.globalcode.com.br/img/fotos/eventos/hackday1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://www.globalcode.com.br/img/fotos/eventos/hackday1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;b&gt;&lt;span style="color: #4c1130;"&gt;Obrigada pessoal, foi show! Que bom que vai ter mais um!&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Nossos projetos concluídos em 2008:&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;SuperCrud com gerador para Flickr&lt;/li&gt;&lt;li&gt;Planning Poker para celular feito com Blueprint&lt;/li&gt;&lt;li&gt;Biblioteca de componentes JSF para renderizar  aplicações Blueprint&lt;/li&gt;&lt;li&gt;Plugin Blueprint para NetBeans&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;&lt;b&gt;&lt;span style="color: #4c1130;"&gt;Muito trabalho para um final de semana né?&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Eu aindo lembro a sensação de terminar os projetos. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Comemorar a conclusão.&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;i&gt;&lt;b&gt;&lt;span style="color: #4c1130;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Mas, chega de nostalgia, vamos ao que interessa, o planejamento para este ano!&amp;nbsp;&lt;/b&gt;&lt;br /&gt;Estamos "montando" uma equipe para colaborar durante o evento, trocar ideias, montar uma mesona...&amp;nbsp; E todo o tipo de ajuda é bem vinda, design, ideias, eletrônica...&lt;br /&gt;Já temos várias pessoas "confirmadas" pensando em coisas bacanas, e super animados. Tudo "discutido" pelo twitter:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Globalcoders, dev dream team. &lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://twitter.com/wrsantos"&gt;Wagner Santos&lt;/a&gt;,&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/edermag"&gt;Eder Magalhães&lt;/a&gt;, &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/rafanunes"&gt;Rafael Nunes&lt;/a&gt;, &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/jeffprestes%20"&gt;Jefferson Prestes&lt;/a&gt;, &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/joaolago_1973"&gt;João Horárcio&lt;/a&gt;, &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/vsenger"&gt;Vinicius Senger&lt;/a&gt;, &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/anabrant"&gt;Ana Abrantes,&lt;/a&gt; &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/thiagovespa"&gt;Thiago Vespa&lt;/a&gt;, &amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/netomarin"&gt;Neto Marin&lt;/a&gt;,&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/marciohiroyuki"&gt;Marcio Hiroyuki&lt;/a&gt; e&amp;nbsp;&lt;/li&gt;&lt;li&gt;eu.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Como participar do time Globalcoders ? &lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Faça a sua inscrição no evento. O time não é formalizado durante a inscrição, portanto, se você quer participar do nosso time, &lt;a href="http://openhackbrazil2010.eventwax.com/open-hack-2010-brazil"&gt;inscreva-se&lt;/a&gt;, e comente aqui no Post.&amp;nbsp; &lt;/li&gt;&lt;li&gt;Participe da comunidade no ning &lt;a href="http://globalcoders.ning.com/"&gt;http://globalcoders.ning.com&lt;/a&gt;; que visa facilitar a discussão sobre os projetos, ideias e tecnologias envolvidas. &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;É isso ai, Yahoo! Open Hack Day, aqui vamos nós!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Participe, comente, divulgue!&amp;nbsp; &lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;Yara&lt;br /&gt;&lt;a href="http://twitter.com/yarasenger"&gt;http://twitter.com/yarasenger&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.globalcode.com.br/search/label/Yara"&gt;http://blog.globalcode.com.br/search/label/Yara&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-4827270098924908467?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/4827270098924908467/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/02/yahoo-open-hack-day-2010-no-brasil.html#comment-form' title='8 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4827270098924908467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4827270098924908467'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/02/yahoo-open-hack-day-2010-no-brasil.html' title='Yahoo! Open Hack Day 2010 no Brasil'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-1831923910418292111</id><published>2010-02-08T08:48:00.000-08:00</published><updated>2010-02-08T08:48:23.329-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Novo minicurso Introdução a Robótica com Arduino | Program-ME</title><content type='html'>Esta semana temos mais novidade para a galera interessada em Eletrônica e Robótica :&lt;br /&gt;"&lt;a href="http://www.globalcode.com.br/site/gratuitos/minicurso.seam?id=800"&gt;Novo minicurso Introdução a Robótica com Arduino | Program-ME"&lt;/a&gt;, onde o &lt;a href="http://twitter.com/vsenger"&gt;Vinicius Senger&lt;/a&gt; vai apresentar diversos conceitos fundamentais para quem está iniciando no mundo da Robótica, e também vai mostrar alguns robôs e projetos desenvolvidos. &lt;br /&gt;&lt;br /&gt;Se você já participa da comunidade do &lt;a href="http://program-me.ning.com/"&gt;Program-ME&lt;/a&gt; ou já criou algum robô não deixe de&amp;nbsp; trazer o seu "filhote" para passear e conversar com outros robôs.&lt;br /&gt;&lt;br /&gt;Se tudo der certo ele vai repetir o Show de Dança do "Gavetão" com a música "Bug Novo" apresentada na abertura do The Developer's Conference 2009 em São Paulo, Florianópolis e Rio de Janeiro.&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OLMP0JrQyDs&amp;hl=pt_BR&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OLMP0JrQyDs&amp;hl=pt_BR&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Particpe, colabore, divulgue!&lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;Yara&lt;br /&gt;&lt;a href="http://twitter.com/yarasenger"&gt;http://twitter.com/yarasenger&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.globalcode.com.br%20/"&gt;http://blog.globalcode.com.br &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-1831923910418292111?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/1831923910418292111/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/02/novo-minicurso-introducao-robotica-com.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1831923910418292111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1831923910418292111'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/02/novo-minicurso-introducao-robotica-com.html' title='Novo minicurso Introdução a Robótica com Arduino | Program-ME'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-6145656507424313236</id><published>2010-02-04T08:53:00.000-08:00</published><updated>2010-02-04T08:53:38.287-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='academiadoprogramador'/><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='eletrônica'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Curso Eletrônica e Arduino para Instrutores</title><content type='html'>Foi realizado recentemente na Globalcode um curso de homologação de instrutores (Unidade &lt;a href="http://www.globalcode.com.br/site/unidades/cursosjavaemsaopaulo.seam"&gt;São Paulo&lt;/a&gt; e &lt;a href="http://www.globalcode.com.br/site/unidades/cursosjavaemalphaville.seam"&gt;Alphaville&lt;/a&gt;) para a &lt;a href="http://www.globalcode.com.br/site/treinamentos/carreira.seam?id=747"&gt;Academia do Programador&lt;/a&gt;, que utiliza o &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=entrevistaProgramMe"&gt;Program-ME / Arduino&lt;/a&gt; como instrumento didático, levando conceitos de computação física para os alunos.&lt;br /&gt;&lt;br /&gt;Muitos &lt;a href="http://www.globalcode.com.br/site/empresa/instrutores.seam"&gt;instrutores&lt;/a&gt; já tinham experiência, e foi interessante relembrar os conceitos de eletrônica, que em geral, nós cientistas da computação não tínhamos tanto interesse na faculdade. Interessante ver a teoria na prática 10 anos depois, onde estamos bem mais Open4Education do que na época da universidade.&lt;br /&gt;&lt;br /&gt;Rodamos alguns programinhas que tocam músicas no Program-ME, como "Brilha brilha estrelhinha", uma barulheira ótima.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Se_nTDESjeA/S17T6UCeMHI/AAAAAAAADWo/Ne-RHOnLS6w/s1600-h/DSCN4826.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/_Se_nTDESjeA/S17T6UCeMHI/AAAAAAAADWo/Ne-RHOnLS6w/s640/DSCN4826.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;Edson, Eder, Marcelo, Alexandre, Renato Bellia, Vinicius, Rodrigo, Felipe, Melissa e Rafael e eu que tirei a foto!&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Obrigada a todos os insturtores que além de dedicar suas "noites" e sábados as aulas na Globalcode participaram desta turma no domingo!&lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;Yara&lt;br /&gt;&lt;a href="http://twitter.com/yarasenger"&gt;http://twitter.com/yarasenger&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-6145656507424313236?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/6145656507424313236/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/02/curso-eletronica-e-arduino-para.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/6145656507424313236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/6145656507424313236'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/02/curso-eletronica-e-arduino-para.html' title='Curso Eletrônica e Arduino para Instrutores'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Se_nTDESjeA/S17T6UCeMHI/AAAAAAAADWo/Ne-RHOnLS6w/s72-c/DSCN4826.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-5180547604036976530</id><published>2010-01-27T13:51:00.000-08:00</published><updated>2010-01-27T13:51:06.754-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='Globalcode'/><category scheme='http://www.blogger.com/atom/ns#' term='eletrônica'/><category scheme='http://www.blogger.com/atom/ns#' term='Robotica'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Porque a Globalcode está entrando de cabeça no mundo da Robótica?</title><content type='html'>&lt;b&gt;Porque a Globalcode está entrando de cabeça no mundo da Robótica?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Recebi esta pergunta pelo &lt;a href="http://blog.globalcode.com.br/2010/01/twitter-porque-como-quem.html"&gt;Twitter&lt;/a&gt;, e também de algumas pessoas próximas. Achei difícil e volátil responder pelo Twitter, por isto estou postando aqui no Eletron Livre, o blog sobre Eletrônica, Automação e Robótica da Globalcode.&lt;br /&gt;&lt;br /&gt;Não há apenas uma resposta, ou um motivo, são diversos fatores que nos levam a investir pessoalmente e corporativamente nas áreas de Eletrônica, Automação e Robótica.&lt;br /&gt;&lt;br /&gt;Os mais atentos devem ter notado que estamos investindo em áreas distintas: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;divulgação (eventos, blog, videos)&lt;/li&gt;&lt;li&gt;treinamento (direta e indiretamente)&lt;/li&gt;&lt;li&gt;criação e produção da placa de desenvolvimento Program-ME, que é o Arduino da Globalcode.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Considerações, razões e a nossa visão sobre Eletrônica, Automação e Robótica:&amp;nbsp; &lt;br /&gt;&lt;ol&gt;&lt;a href="http://2.bp.blogspot.com/_ZmJVdKJRzv8/SW6TqoVT6qI/AAAAAAAAAe4/58UikpW5LQo/s1600/jetsons.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ZmJVdKJRzv8/SW6TqoVT6qI/AAAAAAAAAe4/58UikpW5LQo/s320/jetsons.jpg" /&gt;&lt;/a&gt;&lt;li&gt;Entrar no mundo da Robótica não quer dizer abandonar ou reduzir os investimentos em Java, pelo contrário a Globalcode tem investido e vai continuar a investir cada vez mais em Java e outras tecnologias. Eu, particularmente, estou bastante otimista, como publiquei no post &lt;a href="http://blog.globalcode.com.br/2010/01/muitas-vagas-otimismo-e-sensacao-de.html%20"&gt;Muitas vagas, otimismo e sensação de reaquecimento da economia&lt;/a&gt; no blog colaborativo Globalcoders.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sempre trabalhamos com paixão, e a Eletrônica e Robótica foram conquistando o Vinicius pouco a pouco e consequntemente contaminando e atraindo outras pessoas. Logo, foi natural seguirmos o ciclo &lt;a href="http://www.globalcode.com.br/site/gratuitos/miniCursos.seam"&gt;Open4Education&lt;/a&gt;: Aprender, Praticar, Compartilhar.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Automação residencial e Robótica não são mais apenas o tema futurístico dos "&lt;b&gt;Jetsons&lt;/b&gt;", é realidade e com certeza é um mercado promissor.&lt;/li&gt;&lt;li&gt;Analisando as comunidades de desenvolvimento internacionais na internet, e na MakerFair na Califórnia, percebemos uma forte tendência e motivação em relação ao Arduino, depois confirmada pela reportagem do &lt;a href="http://www.eletronlivre.com.br/2009/12/arduino-no-valor-economico-e-wall.html"&gt;Valor Economico / Wall Street Journal&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Encontramos excelentes "gurus", o que tem facilitado muito a nossa jornada até agora. Acho que está claro para a grande maioria da comunidade que o Vinicius Senger tem liderado este projeto na Globalcode com coragem, ousadia e MUITA motivação, mas, ele não está sozinho, conta com um excelente time: &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=EntrevistaPaulo"&gt;Paulo Santos&lt;/a&gt;, &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=EntrevistaBeneRobotica"&gt;Benedicto Franco Junior&lt;/a&gt;, &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=EntrevistaSpockArduino"&gt;Alberto Lemos (dr. Spock)&lt;/a&gt;, &lt;a href="http://www.eletronlivre.com.br/search/label/Jose%20Luiz"&gt;José Luis Sanches&lt;/a&gt; e agora, toda a &lt;a href="http://program-me.ning.com/"&gt;comunidade do Program-ME&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Robótica é um assunto popular entre os alunos de "algumas" engenharias, mas a cultura não é tão forte na comunidade de desenvolvedores e cursos de computação. Através do SunSpot e outras iniciativas do James Gosling a comunidade Java ficou um pouco mais antenada em Robótica e automação. &lt;/li&gt;&lt;li&gt;A motivação do Vinicius foi crescendo no&amp;nbsp; contato com a comunidade Academica, nas intermináveis conversas sobre Física Quantica, Computação Quantica, Cristalografia, Física Básica, Raio-X com os físicos ao nosso redor: meu pai, avós, minha mãe e outros físicos amigos.&lt;/li&gt;&lt;li&gt;O universo de possibilidades de projetos ao redor do Arduino são infinitas: para aqueles que gostam de desafio e inovação é um prato cheio;&lt;/li&gt;&lt;/ol&gt;Como já comentei em outros posts nós somos investidores e nossa moeda é o nosso tempo. Investimos nossas horas: finais de semana ou noites em aprender novas tecnologias e APIs, escrever artigos, participar de fóruns e grupos de usuários.&lt;br /&gt;&lt;br /&gt;Mas, como recomendam os analistas financeiros, em geral não devemos investir todas as fichas no mesmo produto (API ou tecnologia) e por isto temos que aprender as coisas novas sem esquecer (de acompanhar) as antigas. O Vinicius, o Spock e outras pessoas da comunidade tem investido parte do seu tempo nisto, como hobby e como especialização, e você, já sabe no que vai investir este ano ?&lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;Yara&lt;br /&gt;&lt;a href="http://blog.globalcode.com.br/"&gt;http://blog.globalcode.com.br&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.globalcode.com.br/search/label/Yara"&gt;http://blog.globalcode.com.br/search/label/Yara&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.eletronlivre.com.br/search/label/Yara"&gt;http://www.eletronlivre.com.br/search/label/Yara&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twitter.com/yarasenger"&gt;http://twitter.com/yarasenger&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-5180547604036976530?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/5180547604036976530/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/01/porque-globalcode-esta-entrando-de.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5180547604036976530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5180547604036976530'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/01/porque-globalcode-esta-entrando-de.html' title='Porque a Globalcode está entrando de cabeça no mundo da Robótica?'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZmJVdKJRzv8/SW6TqoVT6qI/AAAAAAAAAe4/58UikpW5LQo/s72-c/jetsons.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-7404587931315884664</id><published>2010-01-26T04:56:00.000-08:00</published><updated>2010-01-26T04:56:35.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='SouJava'/><category scheme='http://www.blogger.com/atom/ns#' term='Robotica'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Robótica na Campus Party</title><content type='html'>Começou ontem a Campus Party, e os amigos &lt;a href="http://twitter.com/brjavaman"&gt;Bruno Souza&lt;/a&gt; e &lt;a href="http://twitter.com/maltron"&gt;Mauricio Leal&lt;/a&gt; estão participando ativamente da organização do evento, especialmente da área de Software Livre, que terá diversas palestras sobre Java, Robótica Livre e muito mais.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/vsenger"&gt;Vinicius Senger&lt;/a&gt; estará participando do evento com duas palestras:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Misturando Robotica e Desenvolvimento de Software, e tudo livre!&lt;/b&gt;&lt;br /&gt;Terça-feira, 26 de janeiro das 20:00 as 21:00&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Workshop Java&lt;/b&gt;&lt;br /&gt;Quarta-feira, 27 de janeiro das 9:00 as 10:00&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Além da participação nas palestras do evento ele também está planejando a montagem de um robô que deve nascer no meio da multidão de mais de 6000 pessoas que participam da Campus Party 2010. Para isto preparou uma chassi muito especial, e planeja recheá-lo durante o evento com trabalho colaborativo dos campuseiros e amigos do SouJava. O Robô vai utilizar a placa de desenvolvimento Program-ME, o Arduino da Globalcode. O Vinicius também vai "apresentar" alguns projetos de Robôs que usam SunSpot.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Se_nTDESjeA/S17Yb7ltOSI/AAAAAAAADWw/9ijbXYlW0kI/s1600-h/RSCN4879.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Se_nTDESjeA/S17Yb7ltOSI/AAAAAAAADWw/9ijbXYlW0kI/s320/RSCN4879.JPG" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_Se_nTDESjeA/S17ZkOkZ1KI/AAAAAAAADXA/5OuO-YTmhlQ/s1600-h/DSCN4861.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_Se_nTDESjeA/S17ZkOkZ1KI/AAAAAAAADXA/5OuO-YTmhlQ/s1600/DSCN4861.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Se_nTDESjeA/S17ZkOkZ1KI/AAAAAAAADXA/5OuO-YTmhlQ/s320/DSCN4861.JPG" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_Se_nTDESjeA/S17Y8YEI9OI/AAAAAAAADW4/nggGFqbSZps/s1600-h/DSCN4873.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Se_nTDESjeA/S17Y8YEI9OI/AAAAAAAADW4/nggGFqbSZps/s320/DSCN4873.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Eu estarei colaborando com a cobertura coletiva através do&lt;a href="http://twitter.com/soujava"&gt; twitter do SouJava&lt;/a&gt; e da &lt;a href="http://twitter.com/globalcode"&gt;Globalcode&lt;/a&gt;, agregando as notícias mais interessantes para vocês, através dos diversos membros do &lt;a href="http://www.soujava.org.br/"&gt;SouJava&lt;/a&gt; que estão participando do Campus Party 2010 e atenta aos Twitteiros de plantão.&lt;br /&gt;&lt;br /&gt;Acompanhe as palestras ao vivo na TV Campus Party : &lt;a href="http://tv.campus-party.org/"&gt;http://tv.campus-party.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;Yara&lt;br /&gt;&lt;a href="http://twitter.com/yarasenger"&gt;http://twitter.com/yarasenger&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-7404587931315884664?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/7404587931315884664/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/01/robotica-na-campus-party.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/7404587931315884664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/7404587931315884664'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/01/robotica-na-campus-party.html' title='Robótica na Campus Party'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Se_nTDESjeA/S17Yb7ltOSI/AAAAAAAADWw/9ijbXYlW0kI/s72-c/RSCN4879.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-4218200718915524838</id><published>2010-01-17T13:56:00.000-08:00</published><updated>2010-01-19T09:54:01.211-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Links'/><title type='text'>Seleção de links interessantes "twitados" recentemente</title><content type='html'>Alguns anos atrás a informação era muito mais escassa, e por isto muito mais valiosa.&amp;nbsp; Hoje vivemos a era do excesso da informação, onde é difícil separar o joio do trigo, com isto aparecem os "agregadores" de blogs, que "selecionam" as melhores notícias de outros portais, facilitando a vida do leitor.&lt;br /&gt;&lt;br /&gt;É interessante como através dos &lt;a href="http://blog.globalcode.com.br/2010/01/twitter-porque-como-quem.html"&gt;limitados 140 caracteres do Twitter&lt;/a&gt; aliado a uma boa seleção de pessoas para seguir recebo informações interessantes, conseguindo um resultado similar aos agregadores, só que "descentralizado". Quero dizer, não preciso seguir todas as pessoas e iniciativas, ao invés disto, as pessoas que eu sigo "re-tweetam" o consideram como as notícias mais importantes que elas receberam.&lt;br /&gt;&lt;br /&gt;Mas, nem tudo é perfeito, a busca de tweets antigos não é muito legal, no Tweetdeck estão disponíveis apenas os tweets mais recentes de cada pessoa, e na aplicação Web tem que navegar por muitas páginas para localizar.&lt;br /&gt;&lt;br /&gt;Desta forma resolvi separar algumas implementações curiosas relacionadas a tecnologia, eletrônica e robótica: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://info.abril.com.br/noticias/blogs/geracaonet/curiosidades-na-internet/sofa-com-usb/"&gt;Sofá com USB&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://info.abril.com.br/noticias/blogs/gadgets/roteadores/que-tal-um-roteador-de-lego/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Gadgets-INFO+%28Gadgets+INFO%29"&gt;Roteador de lego&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/as%20%20http://info.abril.com.br/noticias/blogs/gadgets/miscelanea/robo-fara-parte-de-aulas-de-criancas-japonesas/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Gadgets-INFO+%28Gadgets+INFO%29&amp;amp;utm_content=Twitter"&gt;&lt;b&gt;Robô fará parte de aulas de crianças japones&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gizmodo.com.br/conteudo/olha-que-coisa-mais-linda-essa-dama-de-honra-robotica%20"&gt;Robo que é uma dama de honra&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=816930546589294545#%20http://www.eletronlivre.com.br/2009/12/genius-me-e-programado-em-dojo-na.html%20"&gt;Genius Program-ME&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eletronlivre.com.br/2009/12/mais-um-robo-com-program-me.html"&gt;Robo com Program-ME&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eletronlivre.com.br/2009/11/controlando-dispositivos-via-web-com-o.html"&gt;Controlando dispositivos via web com Program-ME&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eletronlivre.com.br/2009/10/conectando-o-program-me-um-display-lcd.html"&gt;Conectando o Program-ME a um display LCD&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eletronlivre.com.br/2008/01/hugh-everett-e-interpretacao-de-muitos.html"&gt;Hugh Everett  e a interpretação de muitos mundos&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;Agradeço as pessoas que me enviaram e produziram as informações interessantes!&lt;br /&gt;&lt;br /&gt;PS: Se você está interessado em "Twittar" com Java veja o post da &lt;a href="http://blog.globalcode.com.br/search/label/ANA%20ABRANTES"&gt;Ana Abrantes&lt;/a&gt; no blog colaborativo Globalcoders&amp;nbsp; &lt;a href="http://blog.globalcode.com.br/2010/01/postar-no-twitter-com-programa-escrito.html"&gt;Postar no Twitter com programa escrito em Java.&lt;/a&gt;&lt;br /&gt;&lt;div class="post hentry"&gt;&lt;a href="http://blog.globalcode.com.br/2010/01/postar-no-twitter-com-programa-escrito.html"&gt;&lt;/a&gt;&lt;h3 class="post-title entry-title"&gt; &lt;/h3&gt;&lt;/div&gt;Yara Senger&lt;br /&gt;&lt;a href="http://twitter.com/yarasenger"&gt;http://twitter.com/yarasenger&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lista para seguir todos os instrutores da Globalcode de uma vez:&lt;br /&gt;&lt;a href="http://twitter.com/globalcode/globalcode-team"&gt;http://twitter.com/globalcode/globalcode-team&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-4218200718915524838?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/4218200718915524838/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/01/selecao-de-links-interessantes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4218200718915524838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4218200718915524838'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/01/selecao-de-links-interessantes.html' title='Seleção de links interessantes &quot;twitados&quot; recentemente'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-5246638625289497556</id><published>2010-01-12T12:29:00.000-08:00</published><updated>2010-01-17T13:57:15.376-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Workshop interno de Soldagem de Arduino (Program-ME)</title><content type='html'>Foi realizado na última sexta-feira um Worskhop de Soldagem do Program-ME, o Arduino da Globalcode.&lt;br /&gt;&lt;br /&gt;Uma turma surprendente e divertida, com pessoas de diversas funções na Globalcode: Auxiliares administrativos, designers, vendas, infra-estrutura e até a gestora do departamente operacional, responsável pelo processo de produção do Program-ME.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Workshop foi uma experiência muito inovadora para mim pois nunca tive contato com esta tecnologia. &lt;/i&gt;&lt;br /&gt;&lt;b&gt;Paulo Santos (responsável pela Matrícula Delivery)&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com.br/lh/photo/y49vX_IPFxjDuvbnkDfuqQ?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_KVB8314M8GA/S0udENNSHRI/AAAAAAAARVQ/kWmNYmLiXB0/s400/foto%20010.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;De &lt;a href="http://picasaweb.google.com.br/comunidade.globalcode/WorkshopProgramMe2010?feat=embedwebsite"&gt;workshop program-me 2010&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size: x-small;"&gt;Foto (esquerda para direita) André, Thayrine, Paulo, Rafaela, Mathias, Vinicius e Renato&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Durante o Workshop foram produzidos 2 program-MEs completos, e claro, tinha que virar uma pequena corrida... &lt;br /&gt;Não, era apenas uma brincadeira durante estas horas de puro aprendizado e descontrção.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com.br/lh/photo/a25Oxpi7-23tPt5lqXzR9g?feat=embedwebsite"&gt;&lt;img src="http://lh6.ggpht.com/_KVB8314M8GA/S0udGH3mC0I/AAAAAAAARVg/SKuy3Yv5h2M/s400/foto%20012.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;De &lt;a href="http://picasaweb.google.com.br/comunidade.globalcode/WorkshopProgramMe2010?feat=embedwebsite"&gt;workshop program-me 2010&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Parabéns aos que acertaram de primeira, e também aos que erraram forçando o Vinicius a ensinar como corrigir!&lt;br /&gt;&lt;br /&gt;Parabéns também ao Vincius Senger pela não retenção de conhecimento e pela iniciativa de treinar a equipe interna da Globalcode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-5246638625289497556?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/5246638625289497556/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/01/workshop-interno-de-soldagem-de-arduino.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5246638625289497556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5246638625289497556'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/01/workshop-interno-de-soldagem-de-arduino.html' title='Workshop interno de Soldagem de Arduino (Program-ME)'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_KVB8314M8GA/S0udENNSHRI/AAAAAAAARVQ/kWmNYmLiXB0/s72-c/foto%20010.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-5668460231015924637</id><published>2010-01-07T15:01:00.000-08:00</published><updated>2010-01-17T14:00:10.969-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='Leds'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='RGB'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Fita de Leds RGB 12v com Program-ME</title><content type='html'>Estive hoje na Sta. Efigenia e acabei encontrando uma divertida fita com leds RGB SMD auto-colante que pode ser controlada pelo Program-ME.&lt;br /&gt;&lt;br /&gt;Estou colocando o vídeo abaixo de como funciona a fita. Em breve vou disponibilizar o código-fonte, mas o principio é bastante simples, ligar 12v na fita, e cada cor em um transistor. Depois é só pirar no código... Com PWM fica mais legal ainda.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0gjVckKhzBg&amp;hl=pt_BR&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0gjVckKhzBg&amp;hl=pt_BR&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-5668460231015924637?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/5668460231015924637/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2010/01/fita-de-leds-rgb-12v-com-program-me.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5668460231015924637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5668460231015924637'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2010/01/fita-de-leds-rgb-12v-com-program-me.html' title='Fita de Leds RGB 12v com Program-ME'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-4639077326392748310</id><published>2009-12-18T05:10:00.000-08:00</published><updated>2010-01-17T14:00:33.622-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cursos'/><category scheme='http://www.blogger.com/atom/ns#' term='video-aula program-me'/><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='eletrônica'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>Curso de Eletrônica e Curso de Arduino da Globalcode</title><content type='html'>Após finalizarmos a primeira turma do curso de eletrônica e Arduino da Globalcode, pudemos coletar muitos frutos como uma rica apostila desenvolvida por José Luiz Sanchez e também muitos &lt;i&gt;feedbacks&lt;/i&gt; do alunos.&lt;br /&gt;&lt;br /&gt;Como pudemos notar um enorme interesse em sala de aula por detalhes e aprofundamentos de fundamentos da eletrônica, resolvemos fazer uma expansão no tempo do curso, dividindo&amp;nbsp; o treinamento em dois cursos distintos que podem ser adquiridos juntos, com preço especial, ou separado para por exemplo pessoas que já conhecem eletrônica e querem aprender Arduino.&lt;br /&gt;&lt;br /&gt;Resumindo temos agora dois treinamentos de 8 horas:&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.globalcode.com.br/site/treinamentos/curso.seam?id=784"&gt;Eletrônica básica&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.globalcode.com.br/site/treinamentos/curso.seam?id=785"&gt;Arduino&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Agora poderemos dedicar mais tempos para laboratórios práticos em ambos os treinamentos e temos certeza da efetividade de ambos.&lt;br /&gt;&lt;br /&gt;Novidades eletrizantes para 2010!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-4639077326392748310?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/4639077326392748310/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/12/curso-de-eletronica-e-curso-de-arduino.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4639077326392748310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4639077326392748310'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/12/curso-de-eletronica-e-curso-de-arduino.html' title='Curso de Eletrônica e Curso de Arduino da Globalcode'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-4954567503922059558</id><published>2009-12-15T06:22:00.000-08:00</published><updated>2010-01-17T14:01:55.841-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Genius'/><category scheme='http://www.blogger.com/atom/ns#' term='DOJO'/><category scheme='http://www.blogger.com/atom/ns#' term='Spock'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Genius-ME é programado em DOJO na Globalcode</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Y-danigLb-k/SyfmsLPljiI/AAAAAAAACKU/YpnUQBN52T8/s1600-h/proto-genius-me.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" target="_blank"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5415550723543109154" src="http://3.bp.blogspot.com/_Y-danigLb-k/SyfmsLPljiI/AAAAAAAACKU/YpnUQBN52T8/s200/proto-genius-me.jpg" style="cursor: pointer; float: right; height: 150px; margin: 0pt 0pt 10px 10px; width: 200px;" title="Clique para ampliar" /&gt;&lt;/a&gt;Como programado, aconteceu na semana passada (10/12) o DOJO com Programe-ME e Arduino no auditório da Globalcode em São Paulo. A dinâmica realizada não poderia ter sido melhor! Todos os presentes puderam colocar a mão na massa (exceto as meninas, que apenas ficaram como ouvintes) e durante uma hora em meia em rodadas de 7 minutos cada um contribuiu com um pedaço do código para uma simulação/protótipo do brinquedo Genius (seguindo a onda, chamado aqui de Genius-ME).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Y-danigLb-k/SyfsR7O_fuI/AAAAAAAACKc/2zCT-pcjX-s/s1600-h/full-genius-me.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" target="_blank"&gt;&lt;img alt="Clique para ampliar" border="0" id="BLOGGER_PHOTO_ID_5415556869638815458" src="http://4.bp.blogspot.com/_Y-danigLb-k/SyfsR7O_fuI/AAAAAAAACKc/2zCT-pcjX-s/s200/full-genius-me.jpg" style="cursor: pointer; float: left; height: 150px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;Durante o evento tivemos acesso a um &lt;span style="font-style: italic;"&gt;Genius&lt;/span&gt; original da Estrela e a sua versão mais nova chamada de &lt;span style="font-style: italic;"&gt;Simon Trickster&lt;/span&gt;. Assim, os participantes puderam ter uma idéia muito mais clara do problema que deveria ser programado através do Program-ME e Genius-ME.&lt;br /&gt;&lt;br /&gt;O vídeo a seguir mostra o Genius original em ação:&lt;br /&gt;&lt;br /&gt;&lt;object height="364" style="cursor: pointer; display: block; margin: 0px auto; text-align: center;" width="445"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zHNVm_3si0I&amp;hl=pt_BR&amp;fs=1&amp;rel=0&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zHNVm_3si0I&amp;hl=pt_BR&amp;fs=1&amp;rel=0&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Veja também o Simon Trickster em ação &lt;a href="http://www.youtube.com/watch?v=oM4Puy0ayNk" target="_blank"&gt;aqui&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Ao final de uma hora e meia a platéia conseguiu desenvolver o programa a seguir:&lt;br /&gt;&lt;pre class="CPP" name="code"&gt;int leds[] = {11,9,3,5};&lt;br /&gt;int botoes[] = {12,10,4,6};&lt;br /&gt;int bip = 13;&lt;br /&gt;&lt;br /&gt;char state = 'S'; // S = Start, P = Play, B = Read button, ...&lt;br /&gt;&lt;br /&gt;int sequencia[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};&lt;br /&gt;int currentRound = 0;&lt;br /&gt;int currentPosition = 0;&lt;br /&gt;int tamanho = 8;&lt;br /&gt;boolean fimJogo = true;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;for (int i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;pinMode(leds[i], OUTPUT);&lt;br /&gt;pinMode(botoes[i], INPUT);&lt;br /&gt;} &lt;br /&gt;pinMode(bip, OUTPUT);&lt;br /&gt;Serial.begin(9600);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void acendeluzesdarodada () {&lt;br /&gt;for(int i = 0; i&amp;lt;= currentRound;i++) {&lt;br /&gt;digitalWrite(leds[sequencia[i]],HIGH);&lt;br /&gt;delay(1000);&lt;br /&gt;digitalWrite(leds[sequencia[i]],LOW);&lt;br /&gt;delay(500);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int leBotao() {&lt;br /&gt;int timeout = 0;&lt;br /&gt;Serial.println("teste");&lt;br /&gt;int botao = -1;&lt;br /&gt;while(botao == -1 &amp;amp;&amp;amp; timeout &amp;lt;=30) {&lt;br /&gt;for(int i = 0; i &amp;lt; 4; i++) {&lt;br /&gt;if(digitalRead(botoes[i]) == HIGH) {&lt;br /&gt;Serial.println(botoes[i]);&lt;br /&gt;botao = i;&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;delay(100);&lt;br /&gt;timeout++;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;digitalWrite(leds[botao], HIGH);&lt;br /&gt;while (digitalRead(botoes[botao]) == HIGH);&lt;br /&gt;digitalWrite(leds[botao], LOW);&lt;br /&gt;&lt;br /&gt;return botao;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void beep() {&lt;br /&gt;digitalWrite(bip, HIGH);&lt;br /&gt;delay(1000);&lt;br /&gt;digitalWrite(bip, LOW); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void inicio() {&lt;br /&gt;randomSeed(analogRead(0));&lt;br /&gt;for(int i = 0; i &amp;lt; tamanho; i++) {&lt;br /&gt;sequencia[i] = (int) random(0,4);&lt;br /&gt;Serial.print("Posicao.: " + sequencia[i]);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;if(state=='S') {&lt;br /&gt;inicio();&lt;br /&gt;fimJogo = false;&lt;br /&gt;currentRound = 0;&lt;br /&gt;state='P';&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (state=='P') {&lt;br /&gt;acendeluzesdarodada();&lt;br /&gt;state='B';&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(state=='B') {&lt;br /&gt;for(int i = 0; i &amp;lt;= currentRound; i++) {&lt;br /&gt;int botao = leBotao();&lt;br /&gt;Serial.println(botao);&lt;br /&gt;if (sequencia[i] != botao || botao==-1) {&lt;br /&gt;state='S';&lt;br /&gt;fimJogo=true;&lt;br /&gt;beep();&lt;br /&gt;break;  &lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(!fimJogo) {&lt;br /&gt;currentRound++;&lt;br /&gt;state='P';&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;delay(3000);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Esta versão do programa funcionou e os desenvolvedores puderam experimentar a sensação de missão cumprida. Foi muito bom ver a empolgação durante o desenvolvimento do código, o medo de participar, a equipe externa dando pitacos no código, o piloto usando um computador miúdo e as observações finais da própria platéia sobre a dinâmica do DOJO.  Agoram vejam o Genius-ME em ação com este código instalado no microcontrolador do Program-ME:  &lt;object height="364" style="cursor: pointer; display: block; margin: 0px auto; text-align: center;" width="445"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0jKZunb0A0g&amp;hl=pt_BR&amp;fs=1&amp;rel=0&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0jKZunb0A0g&amp;hl=pt_BR&amp;fs=1&amp;rel=0&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;a href="http://3.bp.blogspot.com/_Y-danigLb-k/SyeynUAMpDI/AAAAAAAACKM/ercXrR0CnTE/s1600-h/Genius-ME-schematic.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" target="_blank"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5415493465390490674" src="http://3.bp.blogspot.com/_Y-danigLb-k/SyeynUAMpDI/AAAAAAAACKM/ercXrR0CnTE/s200/Genius-ME-schematic.png" style="cursor: pointer; float: right; height: 142px; margin: 0pt 0pt 10px 10px; width: 200px;" title="Clique para ampliar" /&gt;&lt;/a&gt;Imaginem a situação de um desenvolvedor que não tem muita experiência ou nenhum conhecimento de programação em C e deve pegar um código deixado por outro desenvolvedor e continuar a manutenção ou evolução. Este desenvolvedor tem que entregar um código compilável, responder as perguntas do co-piloto (em pair programming), escrever o código, filtrar os pitacos externos, atender a pressão do prazo de uma rodada de 7 minutos e, além de tudo, ser observado por uma platéia de outros desenvolvedores, já que o código estava visível para todos via projetor ligado ao computador.  Definitivamente, o DOJO com o Program-ME na Globalcode foi um sucesso e muito bom! Vale a pena conferir as próximas edições.  By Spock &lt;a href="http://blog.spock.com.br/"&gt;http://blog.spock.com.br/&lt;/a&gt; &lt;br /&gt;P.S.: Caso tenha participado deste DOJO e tenha fotos, please, publica na rede e manda o link para nós aqui via comentários.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-4954567503922059558?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/4954567503922059558/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/12/genius-me-e-programado-em-dojo-na.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4954567503922059558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/4954567503922059558'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/12/genius-me-e-programado-em-dojo-na.html' title='Genius-ME é programado em DOJO na Globalcode'/><author><name>Dr. Spock</name><uri>http://www.blogger.com/profile/11219711170872890747</uri><email>blog@spock.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07707503707660216167'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Y-danigLb-k/SyfmsLPljiI/AAAAAAAACKU/YpnUQBN52T8/s72-c/proto-genius-me.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-832484110519905601</id><published>2009-12-09T08:37:00.000-08:00</published><updated>2010-01-17T14:01:29.920-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Genius'/><category scheme='http://www.blogger.com/atom/ns#' term='DOJO'/><category scheme='http://www.blogger.com/atom/ns#' term='Spock'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>DOJO com Program-ME e Arduino no LinguÁgil 2009</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_Y-danigLb-k/Sx_c2F5r3RI/AAAAAAAACDg/PM8xmG1tx4Y/s1600-h/DSC00496B.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5413288098977799442" src="http://1.bp.blogspot.com/_Y-danigLb-k/Sx_c2F5r3RI/AAAAAAAACDg/PM8xmG1tx4Y/s200/DSC00496B.jpg" style="cursor: pointer; float: right; height: 200px; margin: 0pt 0pt 10px 10px; width: 150px;" title="Clique para ampliar" /&gt;&lt;/a&gt;Durante a participação no &lt;a href="http://www.linguagil.com.br/" target="_blank"&gt;LinguÁgil&lt;/a&gt; 2009 em Salvador/BA este ano pela &lt;a href="http://www.globalcode.com.br/" target="_blank"&gt;Globalcode&lt;/a&gt;, tivemos o imenso prazer de contribuir numa palestra prá lá de diferente. Para falar a verdade não é bem uma palestra mas um DOJO. O Dojo é uma reunião de desenvolvedores que foge ao estilo tradicional de palestras em que um palestrante apresenta um conteúdo para N pessoas. No Dojo todos podem participar (palestrar!).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Y-danigLb-k/Sx_dUBwsSfI/AAAAAAAACDo/kG2mQOBpoHk/s1600-h/DSC00492B.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5413288613262412274" src="http://2.bp.blogspot.com/_Y-danigLb-k/Sx_dUBwsSfI/AAAAAAAACDo/kG2mQOBpoHk/s200/DSC00492B.jpg" style="cursor: pointer; float: left; height: 150px; margin: 0pt 10px 10px 0pt; width: 200px;" title="Clique para ampliar" /&gt;&lt;/a&gt;Um Dojo funciona mais ou menos assim: Um moderador apresenta um problema de software/computação a ser desenvolvido pelos participantes (todos). Num computador ligado ao projetor, dois participantes da platéia assumem o desenvolvimento da solução para o problema apresentado. Um dos participantes assume o papel de piloto e tem o controle do teclado e mouse da máquina para realizar a codificação. O outro participante acompanha ao lado fazendo perguntas, discutindo soluções ou corrigindo o código realizado pelo piloto. Após uma rodada de alguns minutos (normalmente 5 a 7 minutos), o moderador interrompe o desenvolvimento para que o atual piloto saia da frente do compudador e o parcipante ao lado assuma o computador como o novo piloto. Daí, uma outra passoa da platéia assume o posto de co-piloto e começa uma nova rodada. Enquanto várias rodadas se desenrolam ao longo de uma hora ou uma hora e meia, a platéia pode ver o código em desenvolvimento e até fazer algumas observações e correções.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Y-danigLb-k/Sx_eWLKyGLI/AAAAAAAACDw/u5cayNw8aWM/s1600-h/OriginalSimon.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5413289749659130034" src="http://4.bp.blogspot.com/_Y-danigLb-k/Sx_eWLKyGLI/AAAAAAAACDw/u5cayNw8aWM/s200/OriginalSimon.jpg" style="cursor: pointer; float: right; height: 188px; margin: 0pt 0pt 10px 10px; width: 200px;" title="Clique para ampliar" /&gt;&lt;/a&gt;No Dojo realizado no LinguÁgil 2009 e moderado pelo Alexandre Gomes (&lt;a href="http://twitter.com/alegomes/" target="_blank"&gt;@alegomes&lt;/a&gt;) foi apresentado como problema o desenvolvimento do algoritmo para simular através do &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=entrevistaProgramMe" target="_blank"&gt;Program-ME&lt;/a&gt; e &lt;a href="http://arduino.cc/" target="_blank"&gt;Arduino&lt;/a&gt; o antigo brinquedo da Estrela chamado de &lt;a href="http://pt.wikipedia.org/wiki/Genius_%28jogo%29" target="_blank"&gt;Genius&lt;/a&gt; (ou Simon Trikster, como é conhecido atualmente). A simulação deveria gerar as seqüências de cores usando LEDs para um jogador interagir fisicamente com a aplicação através de botões coloridos para repetir a seqüencia aleatória apresentada. O algoritmo deveria então captar essas ações e identificar se a seqüência realizada pelo jogador está correta ou não. Para tornar o desenvolvimento mais emocionante, foram usadas a linguagens &lt;a href="http://pt.wikipedia.org/wiki/Ruby_%28linguagem_de_programa%C3%A7%C3%A3o%29" target="_blank"&gt;Ruby&lt;/a&gt; para controlar o Program-ME e &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt; para controlar um Arduino. Eu, Dr. Spock (&lt;a href="http://twitter.com/drspockbr/" target="_blank"&gt;@drspockbr&lt;/a&gt;), comandei a mesa com o Arduino implementando com &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt; e o Felipe Rodrigues (&lt;a href="http://twitter.com/felipero/" target="_blank"&gt;@felipero&lt;/a&gt;) comandou a mesa com o Program-ME implementando com &lt;span style="font-style: italic;"&gt;Ruby&lt;/span&gt;. Após um hora e meia, os participantes conseguiram construir os seguintes códigos:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Versão para o Arduino implementado em "C"&lt;/span&gt;&lt;br /&gt;&lt;pre class="C" name="code"&gt;int leds[] = {2,3,4,5};&lt;br /&gt;int botoes[] = {8,9,10,11};&lt;br /&gt;int bip = 13;&lt;br /&gt;&lt;br /&gt;char state = 'S'; // S = Start, P = Play, B = Read button, ...&lt;br /&gt;&lt;br /&gt;int sequencia[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};&lt;br /&gt;int currentRound = 0;&lt;br /&gt;int currentPosition = 0;&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;for(int i = 0; i &amp;lt; 3; i++) {&lt;br /&gt;pinMode(leds[i], OUTPUT);&lt;br /&gt;pinMode(botoes[i], INPUT);&lt;br /&gt;} &lt;br /&gt;pinMode(bip, OUTPUT);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop() {&lt;br /&gt;if (state == 'S') { // start&lt;br /&gt;sort();&lt;br /&gt;state = 'P';&lt;br /&gt;}&lt;br /&gt;if (state = 'P') { // play LEDS&lt;br /&gt;playLeds();&lt;br /&gt;state = 'B';&lt;br /&gt;}&lt;br /&gt;// implementar leitura de botoes e comparacao&lt;br /&gt;if (state == 'B') {&lt;br /&gt;botao = botaoPressionado();&lt;br /&gt;for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;if (sequencia[botao] != sequencia[i]) {&lt;br /&gt;// errou! &lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;delay(5000);&lt;br /&gt;if (++currentRound &amp;gt; 20) {&lt;br /&gt;currentRound == 0;&lt;br /&gt;state = 'S';&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void apita() {&lt;br /&gt;digitalWrite(bip, HIGH);&lt;br /&gt;delay(1000);&lt;br /&gt;digitalWrite(bip, LOW);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void sort() {&lt;br /&gt;for(int j = 0; j &amp;lt; currentRound; j++) {&lt;br /&gt;sequencia[j] = (int) random(0,4);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void playLeds() {&lt;br /&gt;for(int j = 0; j &amp;lt; currentRound; j++) {&lt;br /&gt;digitalWrite(leds[sequencia[j]], HIGH);&lt;br /&gt;delay(1000);&lt;br /&gt;digitalWrite(leds[sequencia[j]], LOW);&lt;br /&gt;delay(1000);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int botaoPressionado() {&lt;br /&gt;for(int j=0; i&amp;lt;4; i++) {&lt;br /&gt;int estado = digitalRead(botoes[j]);&lt;br /&gt;if (estado == HIGH) {&lt;br /&gt;return j;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return -1;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Versão para o Program-ME implementado em "Ruby"&lt;/span&gt;&lt;br /&gt;&lt;pre class="Ruby" name="code"&gt;require 'arduino'&lt;br /&gt;&lt;br /&gt;@cores = Array.new&lt;br /&gt;@cores &amp;lt;&amp;lt; green_led&lt;br /&gt;@cores &amp;lt;&amp;lt; blue_led&lt;br /&gt;@cores &amp;lt;&amp;lt; yellow_led&lt;br /&gt;@cores &amp;lt;&amp;lt; red_led&lt;br /&gt;&lt;br /&gt;def gera_sequencia(quantidade)&lt;br /&gt;@sequencia = []&lt;br /&gt;quantidade.times do&lt;br /&gt;@sequencia &amp;lt;&amp;lt; @cores[rand * @cores.size]&lt;br /&gt;end&lt;br /&gt;@sequencia&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def imprime_sequencia(sequencia)&lt;br /&gt;sequencia.each do |cor|&lt;br /&gt;turn_led_on(cor)&lt;br /&gt;turn_led_off(cor)&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;qtd = 4&lt;br /&gt;sequencia_inicial = gera_sequencia(qtd)&lt;br /&gt;open_writing()&lt;br /&gt;imprime_sequencia(sequencia_inicial)&lt;br /&gt;done()&lt;br /&gt;start_reading()&lt;br /&gt;btn = []&lt;br /&gt;qtd.times do&lt;br /&gt;while b == nil do&lt;br /&gt;b &amp;lt;&amp;lt; read_button()&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;btn &amp;lt;&amp;lt; b&lt;br /&gt;puts "Botao '#{b}' pressionado"&lt;br /&gt;end&lt;br /&gt;done()&lt;br /&gt;&lt;br /&gt;if btn == sequencia_inicial&lt;br /&gt;puts "CERTO!"&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#turn_led_on(green_led)&lt;br /&gt;#turn_led_off(green_led)&lt;br /&gt;#turn_led_on(blue_led)&lt;br /&gt;#turn_led_off(blue_led)&lt;br /&gt;#urn_led_on(yellow_led)&lt;br /&gt;#turn_led_off(yellow_led)&lt;br /&gt;#turn_led_on(red_led)&lt;br /&gt;#turn_led_off(red_led)&lt;br /&gt;done()&lt;br /&gt;&lt;br /&gt;close_arduino()&lt;br /&gt;&lt;/pre&gt;O código fonte completo destas duas versões pode ser baixado do arquivo: &lt;a href="http://dl.dropbox.com/u/3027034/linguagil2009/dojo-linguagil.zip"&gt;dojo-linguagil.zip&lt;/a&gt;  &lt;a href="http://3.bp.blogspot.com/_Y-danigLb-k/Sx_ftyMmNLI/AAAAAAAACD4/YGKC5KuNPnk/s1600-h/DSC00494B.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5413291254784341170" src="http://3.bp.blogspot.com/_Y-danigLb-k/Sx_ftyMmNLI/AAAAAAAACD4/YGKC5KuNPnk/s200/DSC00494B.jpg" style="cursor: pointer; float: right; height: 150px; margin: 0pt 0pt 10px 10px; width: 200px;" title="Clique para ampliar" /&gt;&lt;/a&gt;Estes programas não foram finalizados e não funcionaram completamente. Apesar de um dos objetivos era de chegar a uma solução que funcionasse, não era o principal objetivo. Após várias rodadas, todos os participantes puderam aprender um pouco sobre Program-ME, Arduino, Ruby, C, computação física, além de exercitar algumas práticas de desenvolvimento ágil como, por exemplo, Pair Programming.  Um Dojo é uma forma divertida e irreverente de treinar programação onde todos podem participar com uma parte do código para resolver um problema proposto. Muito legal ver as pessoas tentando resolver o problema "ao vivo".  Agora a Globalcode preparou a sua edição deste Dojo para o próximo dia 10 de dezembro em São Paulo. Mais detalhes e inscrição em: &lt;a href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=DojoProgramme" target="_blank"&gt;Dojo de programação com o Program-ME, o Arduino da Globalcode&lt;/a&gt;.  By Spock &lt;a href="http://blog.spock.com.br/"&gt;http://blog.spock.com.br/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-832484110519905601?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/832484110519905601/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/12/dojo-com-program-me-e-arduino-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/832484110519905601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/832484110519905601'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/12/dojo-com-program-me-e-arduino-no.html' title='DOJO com Program-ME e Arduino no LinguÁgil 2009'/><author><name>Dr. Spock</name><uri>http://www.blogger.com/profile/11219711170872890747</uri><email>blog@spock.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07707503707660216167'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Y-danigLb-k/Sx_c2F5r3RI/AAAAAAAACDg/PM8xmG1tx4Y/s72-c/DSC00496B.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-3412312299069835091</id><published>2009-12-04T03:06:00.000-08:00</published><updated>2010-01-17T14:02:24.095-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='publicacao'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><title type='text'>Arduino no Valor Econômico e Wall Street Journal</title><content type='html'>Excelente artigo publicado no Wall Street Journal,  e traduzido pelo &lt;b&gt;Valor Econômico,&lt;/b&gt; retrata a plataforma Arduino de forma precisa, começando pelo título do artigo: &lt;a href="http://online.wsj.com/article/SB10001424052748703499404574559960271468066.html"&gt;"Taking an Open-Source Approach to Hardware"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A notícia no Wall Street Journal reforça a importância do Arduino e leva estas informações para os tomadores de decisão e para o mercado financeiro, consequentemente para os "ouvidos" dos investidores.&lt;br /&gt;&lt;br /&gt;Ficamos sabendo da notícia através de um e-mail da minha irmã, Maria Carlota Senger, que trabalha com gestão de riscos em um banco de investimentos "Agora eu entendi o que você esta falando e fazendo com o Program-ME | Arduino". &lt;br /&gt;&lt;br /&gt;Espera-se que sejam vendidos neste ano 60.000 peças de Arduino apenas da fábrica italiana. Somados aos 100 da Globalcode, são 60.100, risos.&lt;br /&gt;&lt;br /&gt;Achei simplesmente fantástico por motivos claros, mas a finalização do artigo com a visão da personalidade criadora do Lilypad (uma versão de Arduíno para tecidos, roupas... usada por artistas) é uma das melhores definições sobre clonegem:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;"I don't really care if someone can copy this thing, because a month from now I'm going to be making something different"&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta visão é explicitamente de um "maker". Quantas pessoas empacam suas vidas com suas boas idéias sem nunca nem começar a desenvolve-las? Discutem se será open-source ou não sem fazer uma linha de código. Empreendedorismo onírico ou idéia platônica?&lt;br /&gt;&lt;br /&gt;Viagens a parte, sei que o mundo real com Arduino esta ai, estampado no Wall Street Journal, e estamos felizes por ter bons mentores, que nos permitiram entrar no momento certo neste &lt;i&gt;swell&lt;/i&gt; tecnológico.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Se_nTDESjeA/Sx_jfE3CouI/AAAAAAAADQc/Y8uPQJYqcB4/s1600-h/jornal_hardwareAbeto.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Se_nTDESjeA/Sx_jfE3CouI/AAAAAAAADQc/Y8uPQJYqcB4/s320/jornal_hardwareAbeto.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;-Vinicius&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-3412312299069835091?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/3412312299069835091/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/12/arduino-no-valor-economico-e-wall.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/3412312299069835091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/3412312299069835091'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/12/arduino-no-valor-economico-e-wall.html' title='Arduino no Valor Econômico e Wall Street Journal'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Se_nTDESjeA/Sx_jfE3CouI/AAAAAAAADQc/Y8uPQJYqcB4/s72-c/jornal_hardwareAbeto.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-6791673353226877375</id><published>2009-12-01T06:19:00.000-08:00</published><updated>2010-01-17T13:57:44.444-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='Robo'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Mais um robô com Program-ME</title><content type='html'>O &lt;a href="http://program-me.ning.com/"&gt;forum do Program-ME&lt;/a&gt; está pegando fogo. São muitas dicas &lt;a href="http://program-me.ning.com/forum/topics/materiais-e-componentes-para"&gt;sobre compras&lt;/a&gt;, reuso e outras discussões.&amp;nbsp; Alguns participantes extremamente ativos como &lt;a href="http://program-me.ning.com/profile/blagus"&gt;Lex Blagus&lt;/a&gt; que além das dicas tem compartilhado excelentes fotos e o &lt;a href="http://program-me.ning.com/profile/JoseLuizSanchezLorenzo"&gt;José Luiz&lt;/a&gt;, que além dos posts no &lt;a href="http://www.eletronlivre.com.br/"&gt;Eletron Livre&lt;/a&gt; tem colaborado com informações técnicas extremamente consistentes, como a discussão sobre &lt;a href="http://program-me.ning.com/forum/topics/fonte-12v-1a?page=1&amp;amp;commentId=4498364%3AComment%3A365&amp;amp;x=1#4498364Comment365"&gt; Dissipação de potência.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No meio de tudo isto, achei um robô criado com program-ME desenvolvido pelo &lt;a href="http://program-me.ning.com/profile/DaniloAltheman"&gt;Danilo Altheman &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://api.ning.com/files/CJT79pOr82rBmzcqHJHqN5IMH8Wl3q5I-tkJkfLk4ow_/fulero.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://api.ning.com/files/CJT79pOr82rBmzcqHJHqN5IMH8Wl3q5I-tkJkfLk4ow_/fulero.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Parabéns Danilo e todos os que colaboraram!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-6791673353226877375?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/6791673353226877375/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/12/mais-um-robo-com-program-me.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/6791673353226877375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/6791673353226877375'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/12/mais-um-robo-com-program-me.html' title='Mais um robô com Program-ME'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-1363964036942599865</id><published>2009-12-01T05:59:00.000-08:00</published><updated>2010-01-17T14:02:41.872-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Novo lote de Program-ME</title><content type='html'>Pessoal,&lt;br /&gt;&lt;br /&gt;Estamos recebendo na segunda-feira um novo lote de 20 Program-ME e respeitando a época natalina vamos manter a promoção: de R$ 199,00 por R$ 149,00. E ainda vem com o ATMega 328, o mais robusto da familia de Arduino antes do Mega.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.globalcode.com.br/img/imagens/placa_programme3_p.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.globalcode.com.br/img/imagens/placa_programme3_p.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Reserve sua unidade pelo email: contato@globalcode.com.br. As 30 primeiras unidades se esgotaram em 2 semanas portanto não perca tempo!&lt;br /&gt;&lt;br /&gt;Vale lembrar que o Program-ME é um Arduino com diversos componentes on-board como leds, speaker, LDR, transistores de alta potência e entradas para 2 servo-motores.&lt;br /&gt;&lt;br /&gt;A comunidade Program-ME não para de crescer, dúvidas, sugestões, comentários: &lt;a href="http://program-me.ning.com/"&gt;http://program-me.ning.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Vinicius Senger&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-1363964036942599865?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/1363964036942599865/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/12/novo-lote-de-program-me.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1363964036942599865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1363964036942599865'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/12/novo-lote-de-program-me.html' title='Novo lote de Program-ME'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-886759664025389500</id><published>2009-11-26T11:47:00.000-08:00</published><updated>2010-01-17T14:03:10.608-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video-aula'/><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Vídeo-aulas de Program-ME</title><content type='html'>Estamos disponibilizando oficialmente no site da Globalcode as primeiras vídeo-aulas sobre Program-ME. Este formato é muito simples de produzir e esperamos feed-backs para melhorar ele e profissionalizar ainda mais. Assim que tivermos mais feed-backs vamos produzir as próximas.&lt;br /&gt;&lt;br /&gt;A primeira vídeo-aula está dividida em quatro partes e vai da introdução ao Arduino / Program-ME até o desenvolvimento do primeiro programa.&lt;br /&gt;&lt;br /&gt;Os links são:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.globalcode.com.br/videos/program-me-aula1.seam"&gt;Parte 1: Introdução ao Arduino / Program-ME&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.globalcode.com.br/site/treinamentos/videos/program-me-aula2.seam"&gt;Parte 2: Program-ME vs. Arduino (precisa fazer login no site)&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.globalcode.com.br/site/treinamentos/videos/program-me-aula3.seam"&gt;Parte 3: Configurando Program-ME (precisa fazer login no site)&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.globalcode.com.br/site/treinamentos/videos/program-me-aula4.seam"&gt;Parte 4: Desenvolvendo um primeiro aplicativo (precisa fazer login no site)&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-Vinicius Senger&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-886759664025389500?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/886759664025389500/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/11/video-aulas-de-program-me.html#comment-form' title='12 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/886759664025389500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/886759664025389500'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/11/video-aulas-de-program-me.html' title='Vídeo-aulas de Program-ME'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-5453324088104234099</id><published>2009-11-23T17:11:00.000-08:00</published><updated>2009-11-24T04:48:24.712-08:00</updated><title type='text'>Controlando dispositivos via Web com o Program-Me</title><content type='html'>&lt;p&gt;Controlar dispositivos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;elétricos&lt;/span&gt; com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PROGRAM&lt;/span&gt;-ME é muito fácil, o principal cuidado que devemos tomar é com a capacidade máxima de corrente do chip &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ATMEGA&lt;/span&gt; que é de 40 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;mA&lt;/span&gt; (5V) .&lt;/p&gt;&lt;p&gt;Portanto para controlar dispositivos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;elétricos&lt;/span&gt; que necessitem de correntes superiores a 40&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;mA&lt;/span&gt; , tensões superiores aos 12v disponíveis no Program-Me ou que trabalhem com corrente alternada (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;CA&lt;/span&gt;), será necessário associar alguns componentes entre os terminais dos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;PROGRAM&lt;/span&gt;-ME e o dispositivo a ser controlado.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Notem que um dos diferenciais do Program-Me, é já possuir on-board 4 transistores IRF510 que permitem controlar dispositivos externos sem qualquer hardware adicional, porém neste exemplo não iremos utilizar eles pois necessitamos de 5 interfaces.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Normalmente utilizamos um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;transitor&lt;/span&gt; na saída do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Program&lt;/span&gt;-Me para dar um ganho na capacidade de corrente. Quando o dispositivo a ser controlado opera com corrente alternada (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;CA&lt;/span&gt;), ou necessita de uma corrente superior a suportada por &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;transistores&lt;/span&gt; comuns, adicionamos além do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;transitor&lt;/span&gt; um relé.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Obs: Nos terminais da bobina do relé é necessário adicionar um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;diodo&lt;/span&gt; para proteger a junção do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;transistor&lt;/span&gt;, pois a bobina do relé gera uma tensão reversa ao ser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;desenergizada e&lt;/span&gt; que poderia danificar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;transistor&lt;/span&gt;  (vejam no diagrama elétrico da interface de relés os diodos D1 a D5) .&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Com o circuito apresentado neste post, poderemos controlar até 5 dispositivos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;elétricos&lt;/span&gt; utilizando o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;PROGRAM&lt;/span&gt;-ME, sendo que o diferencial deste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;projeto&lt;/span&gt; é que vamos adicionar ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Program&lt;/span&gt;-Me um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;shield&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;Wi-Fi&lt;/span&gt; (WiShield) que permitirá comandar os dispositivos remotamente de qualquer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;conexão&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;internet&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;shield&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Wi-Fi&lt;/span&gt; utilizado é o da foto abaixo que é produzido pela &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;AsyncLabs&lt;/span&gt; e custa por volta de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;US&lt;/span&gt;$ 50 nos Estados Unidos. Pode-se também utilizar um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;shield&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;ethernet&lt;/span&gt; que pode ser encontrado aqui no Brasil por R$75 ,neste caso abrindo-se mão da conexão sem fios.&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_UvmLoVIJXwQ/Swsy7HtMHdI/AAAAAAAAABM/kE0qqMbYDAc/s1600/wishield10-03.jpg"&gt;&lt;img style="width: 213px; height: 148px;" id="BLOGGER_PHOTO_ID_5407471768850669010" alt="" src="http://2.bp.blogspot.com/_UvmLoVIJXwQ/Swsy7HtMHdI/AAAAAAAAABM/kE0qqMbYDAc/s320/wishield10-03.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Seguem abaixo as características do Shield:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);" id="oucProductDescription_lblDescription" class="contentText"&gt;&lt;p&gt;&lt;strong&gt;Wi-Fi Module Features:&lt;/strong&gt;&lt;br /&gt;• 802.11b Wi-Fi certified&lt;br /&gt;   - 1Mbps and 2Mbps throughput speeds&lt;br /&gt;• Supports both infrastructure (BSS) and ad hoc (IBSS) wireless networks&lt;br /&gt;• Ability to create secured and unsecured networks&lt;br /&gt;   - WEP (64-bit and 128-bit)&lt;br /&gt;   - WPA/WPA2 (TKIP and AES) PSK&lt;br /&gt;• Low power usage&lt;br /&gt;   - Sleep mode: 250µA&lt;br /&gt;   - Transmit: 230mA&lt;br /&gt;   - Receive: 85mA &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Pin Usage:&lt;/strong&gt;&lt;br /&gt;• SPI&lt;br /&gt;   - Slave select (SS): Arduino pin 10 (port B, pin 2)&lt;br /&gt;   - Clock (SCK): Arduino pin 13 (port B, pin 5)&lt;br /&gt;   - Master in, slave out (MISO): Arduino pin 12 (port B, pin 4)&lt;br /&gt;   - Master out, slave in (MOSI): Arduino pin 11 (port B, pin 3)&lt;br /&gt;•  Interrupt (Uses only one of the following, depending on jumper setting)&lt;br /&gt;   - INT0: Arduino pin 2 (port D, pin 2)&lt;br /&gt;   - DIG8: Arduino pin 8 (port B, pin 0)&lt;br /&gt;• LED: Arduino pin 9 (port B, pin 1)&lt;br /&gt;   - To regain use of this pin, remove the LED jumper cap&lt;br /&gt;• 5V power&lt;br /&gt;• GND&lt;/p&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Basicamente o &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;projeto&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; consiste em rodar um servidor Web no &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Program&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-Me, disponibilizando uma página simples onde podemos &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;selecionar&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; quais dos 5 dispositivos desejamos ligar ou desligar. O &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;shield&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;Wi-Fi&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; permite a interface de rede entre o roteador wireless da rede local e o &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Program&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-Me.&lt;/span&gt;&lt;br /&gt;&lt;p&gt;O primeiro passo é acoplar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;shield&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;Wi-Fi&lt;/span&gt; ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;Program&lt;/span&gt;-Me (figura abaixo) e depois carregar o  sketch do servidorWeb, onde configuramos uma página Web simples que permitirá o controle de algumas saídas do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Program&lt;/span&gt;-Me.&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/SwszdeV2mbI/AAAAAAAAABU/PAt1KSV44R8/s1600/Program_Me_WIFI_SHield.JPG"&gt;&lt;img style="width: 329px; height: 258px;" id="BLOGGER_PHOTO_ID_5407472359042357682" alt="" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/SwszdeV2mbI/AAAAAAAAABU/PAt1KSV44R8/s320/Program_Me_WIFI_SHield.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Neste caso utilizei como base o WiServer sketch apresentado no próprio site do fabricante do shield  (&lt;a href="http://asynclabs.com/wiki/index.php?title=AsyncLabsWiki"&gt;http://asynclabs.com/wiki/index.php?title=AsyncLabsWiki&lt;/a&gt;), apenas adaptando a quantidade de dispositivos controlados para 5 dispositivos e modificando a formatação da página Web de forma a ficar compatível com o projeto que eu necessitava.&lt;/p&gt;&lt;p&gt;Montei então a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;placa para&lt;/span&gt; as interfaces dos 5 relés (figura abaixo), onde utilizei uma placa padrão que é facilmente encontrada nas lojas de componentes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;eletrônicos&lt;/span&gt;. &lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/Sws0Ej1zqoI/AAAAAAAAABc/4ldpw-EsyrY/s1600/Interface_Reles.JPG"&gt;&lt;img style="width: 320px; height: 240px;" id="BLOGGER_PHOTO_ID_5407473030533458562" alt="" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/Sws0Ej1zqoI/AAAAAAAAABc/4ldpw-EsyrY/s320/Interface_Reles.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;Na figura abaixo temos o diagrama &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;elétrico&lt;/span&gt; da placa de interface de reles:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_UvmLoVIJXwQ/Sws34ildCBI/AAAAAAAAABk/NvQJ7IZpdXs/s1600/diagrama_placa_reles.JPG"&gt;&lt;img style="width: 510px; height: 253px;" id="BLOGGER_PHOTO_ID_5407477222084511762" alt="" src="http://1.bp.blogspot.com/_UvmLoVIJXwQ/Sws34ildCBI/AAAAAAAAABk/NvQJ7IZpdXs/s320/diagrama_placa_reles.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;Conectei então essa interface em 5 portas de saída do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;Program&lt;/span&gt;-Me conforme figura abaixo:&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_UvmLoVIJXwQ/Sws4omygcMI/AAAAAAAAABs/vsyX_6PCFds/s1600/Conjunto_WIFI_Reles.JPG"&gt;&lt;img style="width: 350px; height: 261px;" id="BLOGGER_PHOTO_ID_5407478047846723778" alt="" src="http://4.bp.blogspot.com/_UvmLoVIJXwQ/Sws4omygcMI/AAAAAAAAABs/vsyX_6PCFds/s320/Conjunto_WIFI_Reles.JPG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Configurações:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;No &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;sketch&lt;/span&gt; é necessário atribuir um IP e uma máscara de rede para o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;Shield&lt;/span&gt;, sendo possível também utilizar segurança &lt;span style="color: rgb(0, 0, 153);" id="oucProductDescription_lblDescription" class="contentText"&gt;WEP (64-bit and 128-bit), WPA/WPA2 (TKIP and AES) PSK &lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Abaixo temos o trecho do sketch onde são executadas as configurações de rede.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Parametros de configuracao da rede wireless ----------------------------------------&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; local_ip[] = { 192,168,10,200};   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Endereco IP do WiShield&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; gateway_ip[] = { 192,168,10,1};   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Endereco do gateway ou roteador&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; subnet_mask[] = { 255,255,255,0};   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// mascara de rede local&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;const prog_char ssid[] PROGMEM = { &lt;/span&gt;&lt;span style="color: rgb(0, 102, 153);font-size:85%;" &gt;"PROGRAM_ME"&lt;/span&gt;&lt;span style="font-size:85%;"&gt;};      &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// SSID da rede (max 32 bytes)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; security_type = 0;   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// WPA/WPA2 passphrase&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;const prog_char security_passphrase[] PROGMEM = { &lt;/span&gt;&lt;span style="color: rgb(0, 102, 153);font-size:85%;" &gt;"12345678"&lt;/span&gt;&lt;span style="font-size:85%;"&gt;};   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// max 64 caracteres&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// WEP 128-bit keys&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// sample HEX keys&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;prog_uchar wep_keys[] PROGMEM = {&lt;br /&gt;0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Key 0&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Key 1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Key 2&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   &lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// Key 3&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// configuracao do wireless mode&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// WIRELESS_MODE_INFRA - conexao com um AP&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(126, 126, 126);font-size:85%;" &gt;// WIRELESS_MODE_ADHOC - conexao direta com outro dispositivo WiFi (por exemplo com o PC)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; wireless_mode = WIRELESS_MODE_ADHOC;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; ssid_len;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;unsigned&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);font-size:85%;" &gt;char&lt;/span&gt;&lt;span style="font-size:85%;"&gt; security_passphrase_len;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* O sketch completo deste projeto está disponível no final deste post.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;Testando o dispositivo&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Por volta de 15 segundos após ligar o conjunto, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;shield&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;Wi-Fi&lt;/span&gt; sintoniza a rede local e a página já fica disponível para acesso no endereço configurado para o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;shield&lt;/span&gt;. (neste caso 192.168.10.200)&lt;br /&gt;Ao entrar no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;Browser&lt;/span&gt; com o endereço associado ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;Shield&lt;/span&gt; é apresentada a seguinte tela:&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/Sws-UWJIKKI/AAAAAAAAAB8/ZdvMgPrQcZc/s1600/pagina_wiserver.JPG"&gt;&lt;img style="width: 363px; height: 226px;" id="BLOGGER_PHOTO_ID_5407484296850581666" alt="" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/Sws-UWJIKKI/AAAAAAAAAB8/ZdvMgPrQcZc/s320/pagina_wiserver.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Ao clicarmos com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;mouse&lt;/span&gt; em cima do link de um dos relés, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;Program&lt;/span&gt;-Me muda o estado da porta &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;correspondente&lt;/span&gt; ao relé selecionado, ligando ou desligando o dispositivo que estiver conectado nos terminais desse relé.&lt;/p&gt;&lt;p&gt;A tela abaixo mostra o estado após selecionarmos o rele 1 na tela anterior.&lt;br /&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_UvmLoVIJXwQ/SwtBo9I2_lI/AAAAAAAAACM/dPM26VVguUw/s1600/pagina_wiserverB.JPG"&gt;&lt;img style="width: 368px; height: 229px;" id="BLOGGER_PHOTO_ID_5407487949450706514" alt="" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/SwtBo9I2_lI/AAAAAAAAACM/dPM26VVguUw/s320/pagina_wiserverB.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;Os comando podem ser executados facilmente de qualquer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;browser&lt;/span&gt;, inclusive de telefones celulares com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_65"&gt;Wi-Fi&lt;/span&gt; ou que tenham serviço de dados habilitado.&lt;br /&gt;&lt;br /&gt;Vale lembrar que além do Servidor Web, podemos ter um cliente Web rodando em paralelo desde que o ATMEGA equipado seja um 328.&lt;br /&gt;Esse tipo de configuração em paralelo permitirá por exemplo que a sua aplicação colete informações de um site de terceiros na internet e essas informações sejam utilizadas nas páginas hospedadas no PROGRAM-ME.&lt;br /&gt;Outra implementação interessante que pode ser executada seria conectar sensores (temperatura, humidade, fumaça etc) e monitorar essas informações via Web com o Program-Me.&lt;br /&gt;&lt;br /&gt;Bem pessoal é isso, espero que gostem do post e que ele sirva de inspiração para muitas idéias legais de aplicação.&lt;br /&gt;&lt;br /&gt;&lt;p style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 102, 153);"&gt;José &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_74"&gt;Luiz&lt;/span&gt; Sanchez &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_75"&gt;Lorenzo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:78%;"&gt;/*&lt;br /&gt;* WebServer para controle via WEB de 5 dispositivos eletricos usando o Program-Me&lt;br /&gt;*/&lt;br /&gt;//carrega as bibliotecas necessarias para o funcionamento do WiServer&lt;br /&gt;#include  WiServer.h&lt;br /&gt;#include  string.h&lt;br /&gt;&lt;br /&gt;#define WIRELESS_MODE_INFRA   1&lt;br /&gt;#define WIRELESS_MODE_ADHOC   2&lt;br /&gt;&lt;br /&gt;// configura as saidas do Program-Me que serao utilizadas para controlar os reles&lt;br /&gt;#define ledPin1 14   &lt;br /&gt;#define ledPin2 15 &lt;br /&gt;#define ledPin3 16&lt;br /&gt;#define ledPin4 17&lt;br /&gt;#define ledPin5 18&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Parametros de configuracao da rede wireless ----------------------------------------&lt;br /&gt;unsigned char local_ip[] = { 192,168,10,200};   // Endereco IP do WiShield&lt;br /&gt;unsigned char gateway_ip[] = { 192,168,10,1};   // Endereco do gateway ou roteador&lt;br /&gt;unsigned char subnet_mask[] = { 255,255,255,0};   // mascara de rede local&lt;br /&gt;const prog_char ssid[] PROGMEM = { "PROGRAM_ME"};      // SSID da rede (max 32 bytes)&lt;br /&gt;unsigned char security_type = 0;   // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2&lt;br /&gt;&lt;br /&gt;// WPA/WPA2 passphrase&lt;br /&gt;const prog_char security_passphrase[] PROGMEM = { "12345678"};   // max 64 caracteres&lt;br /&gt;&lt;br /&gt;// WEP 128-bit keys&lt;br /&gt;// sample HEX keys&lt;br /&gt;prog_uchar wep_keys[] PROGMEM = {&lt;br /&gt;  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,   // Key 0&lt;br /&gt;  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // Key 1&lt;br /&gt;  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // Key 2&lt;br /&gt;  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // Key 3&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;// configuracao do wireless mode&lt;br /&gt;// WIRELESS_MODE_INFRA - conexao com um AP&lt;br /&gt;// WIRELESS_MODE_ADHOC - conexao direta com outro dispositivo WiFi (por exemplo com o PC)&lt;br /&gt;unsigned char wireless_mode = WIRELESS_MODE_ADHOC;&lt;br /&gt;unsigned char ssid_len;&lt;br /&gt;unsigned char security_passphrase_len;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;boolean states[5]; //array que armazena os estados dos reles&lt;br /&gt;char stateCounter; //variavel temporaria para indexar os reles&lt;br /&gt;char tmpStrCat[64]; //variavel utilizada no processamento da pagina Web&lt;br /&gt;char stateBuff[4]; //variavel utilizada no processamento de texto durante conversao de boleana para string (boolToString())&lt;br /&gt;char numAsCharBuff[2];&lt;br /&gt;char ledChange;   //indica alteracao no estado dos reles&lt;br /&gt;&lt;br /&gt;void boolToString (boolean test, char returnBuffer[4])&lt;br /&gt;{&lt;br /&gt;  returnBuffer[0] = '\0';&lt;br /&gt;  if (test)&lt;br /&gt;  {&lt;br /&gt;    strcat(returnBuffer, "ON");  //retorna "ON" se o rele estiver ligado&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;    strcat(returnBuffer, "OFF");  //retorna "OFF" se o rele estiver desligado&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void printStates()  //envia para a porta serial/USB o estado dos reles quando ocorrer alguma solicitacao de alteracao&lt;br /&gt;{&lt;br /&gt;        for (stateCounter = 0 ; stateCounter &lt; 5; stateCounter++)&lt;br /&gt;        {&lt;br /&gt;            boolToString(states[stateCounter], stateBuff);&lt;br /&gt;          &lt;br /&gt;            Serial.print("Estado do Rele ");&lt;br /&gt;            Serial.print(stateCounter+1);&lt;br /&gt;            Serial.print(": ");&lt;br /&gt;            Serial.println(stateBuff);&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void writeStates()  //atualiza o estado das saidas do Program-Me acionando os reles&lt;br /&gt;{&lt;br /&gt;        digitalWrite(ledPin1, states[0]);&lt;br /&gt;        digitalWrite(ledPin2, states[1]);&lt;br /&gt;        digitalWrite(ledPin3, states[2]);&lt;br /&gt;        digitalWrite(ledPin4, states[3]);&lt;br /&gt;        digitalWrite(ledPin5, states[4]);&lt;br /&gt;       &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Esta é a funcao que gera a pagina Web&lt;br /&gt;boolean sendPage(char* URL) {&lt;br /&gt;&lt;br /&gt;  Serial.println("Iniciada Impressao da pagina");&lt;br /&gt;&lt;br /&gt;    printStates();&lt;br /&gt;    writeStates();&lt;br /&gt;  &lt;br /&gt;  //verifica qual link da pagina foi clicado e define qual rele deve-se alterar o estado&lt;br /&gt;  if (URL[1] == '?' &amp;amp;&amp;amp; URL[2] == 'R' &amp;amp;&amp;amp; URL[3] == 'E' &amp;amp;&amp;amp; URL[4] == 'L')&lt;br /&gt;  {&lt;br /&gt;    ledChange = (int)(URL[5] - 49); //determina qual foi o link clicado na pagina.&lt;br /&gt;  &lt;br /&gt;    for (stateCounter = 0 ; stateCounter &lt; 5; stateCounter++)&lt;br /&gt;    {&lt;br /&gt;      if (ledChange == stateCounter)&lt;br /&gt;      {&lt;br /&gt;        states[stateCounter] = !states[stateCounter];  // inverte o estado do rele selecionado&lt;br /&gt;            Serial.print("Alterado estado do rele ");  //informa na serial/USB que houve alteracao de estado&lt;br /&gt;            Serial.println(ledChange+1);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;    //retorna o usuario para a pagina principal&lt;br /&gt;    WiServer.print("&lt;html&gt;&lt;head&gt;&lt;meta equiv="'REFRESH'" content="'0;url="/'"&gt;&lt;/head&gt;&lt;/html&gt;");&lt;br /&gt;    return true;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if (strcmp(URL, "/") == false)&lt;br /&gt;   {&lt;br /&gt;      WiServer.print("&lt;html&gt;&lt;head&gt;&lt;title&gt;Program-Me Server&lt;/title&gt;&lt;/head&gt;");&lt;br /&gt;      WiServer.print("&lt;body&gt;&lt;center&gt;Sistema de controle de dispositivos via WEB utilizando o PROGRAM-ME&lt;center&gt;\n&lt;center&gt;");&lt;br /&gt;      WiServer.print("&lt;body&gt;&lt;center&gt;&lt;br /&gt; &lt;center&gt;\n&lt;center&gt;");&lt;br /&gt;      WiServer.print("&lt;body&gt;&lt;center&gt;Selecione o Rele que deseja alterar o status :&lt;center&gt;\n&lt;center&gt;");&lt;br /&gt;      WiServer.print("&lt;body&gt;&lt;center&gt;&lt;br /&gt; &lt;center&gt;\n&lt;center&gt;");&lt;br /&gt;      for (stateCounter = 0; stateCounter &lt; 5; stateCounter++) //for each led&lt;br /&gt;      {&lt;br /&gt;        numAsCharBuff[0] = (char)(stateCounter + 49); //soma 49 para obter o caracter ASCII comecando por 1&lt;br /&gt;        numAsCharBuff[1] = '\0'; //strcat espera uma string de caracteres e nao apenas um&lt;br /&gt;                                 //Essa string e um caracter + um string terminator.&lt;br /&gt;      &lt;br /&gt;        tmpStrCat[0] = '\0'; //inicializa a string&lt;br /&gt;        strcat(tmpStrCat, "&lt;a href=?REL");&lt;br /&gt;        tmpStrCat[12] = (char)(stateCounter + 49); //adiciona o numero do Rele&lt;br /&gt;        tmpStrCat[13] = '\0'; //finaliza a string apropriadamente&lt;br /&gt;  &lt;br /&gt;        strcat(tmpStrCat, "&gt;Rele ");&lt;br /&gt;        strcat(tmpStrCat, numAsCharBuff);&lt;br /&gt;        strcat(tmpStrCat, ": ");&lt;br /&gt;      &lt;br /&gt;        boolToString(states[stateCounter], stateBuff);&lt;br /&gt;        strcat(tmpStrCat, stateBuff);&lt;br /&gt;        strcat(tmpStrCat, "&lt;/a&gt;   "); //nos temos agora algo similar a &lt;a href="?REL0"&gt;Rele 1: Off&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;        WiServer.print(tmpStrCat);&lt;br /&gt;        WiServer.print("&lt;body&gt;&lt;center&gt;&lt;br /&gt; &lt;center&gt;\n&lt;center&gt;");&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;        WiServer.print("&lt;/html&gt; ");&lt;br /&gt;        return true;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void setup() {&lt;br /&gt;  // Inicializa o WiServer e prepara ele para fornecer acesso a pagina&lt;br /&gt;  // Configura as portas do Program-Me selecionadas para os reles como saida&lt;br /&gt;  pinMode(ledPin1, OUTPUT);&lt;br /&gt;  pinMode(ledPin2, OUTPUT);&lt;br /&gt;  pinMode(ledPin3, OUTPUT);&lt;br /&gt;  pinMode(ledPin4, OUTPUT);&lt;br /&gt;  pinMode(ledPin5, OUTPUT);&lt;br /&gt;&lt;br /&gt;  Serial.begin(9600);  //configura a porta serial/USB para 9600bps&lt;br /&gt;  WiServer.init(sendPage);&lt;br /&gt; &lt;br /&gt;  //Inicializa o array que armazena o estado dos reles colocando os reles em OFF&lt;br /&gt;  states[0] = false;&lt;br /&gt;  states[1] = false;&lt;br /&gt;  states[2] = false;&lt;br /&gt;  states[3] = false;&lt;br /&gt;  states[4] = false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void loop(){&lt;br /&gt;  // Run WiServer&lt;br /&gt;  WiServer.server_task();&lt;br /&gt;&lt;br /&gt;  delay(10);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-5453324088104234099?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/5453324088104234099/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/11/controlando-dispositivos-via-web-com-o.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5453324088104234099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/5453324088104234099'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/11/controlando-dispositivos-via-web-com-o.html' title='Controlando dispositivos via Web com o Program-Me'/><author><name>José Luiz Sanchez Lorenzo</name><uri>http://www.blogger.com/profile/10757224842404557513</uri><email>jllorenzo@terra.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02868952394514831583'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UvmLoVIJXwQ/Swsy7HtMHdI/AAAAAAAAABM/kE0qqMbYDAc/s72-c/wishield10-03.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-1158260503572907714</id><published>2009-11-19T09:04:00.001-08:00</published><updated>2010-01-17T13:58:46.511-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='academiadoprogramador'/><category scheme='http://www.blogger.com/atom/ns#' term='cursos'/><category scheme='http://www.blogger.com/atom/ns#' term='Yara'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Globalcode no mundo de Eletrônica &amp; Robótica</title><content type='html'>A Globalcode está a todo o vapor na área de Eletrônica e Robótica, estamos formando um time sensacional e finalizando diversos projetos nos quais investimos muita energia ao longo deste ano: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;A produção do primeiro lote comercial do Program-ME, o Arduino da Globalcode, depois da realização do programa de testes;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.globalcode.com.br/img/imagens/placa_programme3_p.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.globalcode.com.br/img/imagens/placa_programme3_p.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Inicio da primeira turma da Academia do Programador, que utiliza o Program-ME como instrumento didático; &lt;/li&gt;&lt;li&gt;Lançamento da comunidade no Ning com diversos profissionais como fazendo coisas interessantes;&lt;/li&gt;&lt;li&gt;Lançamento do blog de eltrônica e robótica: &lt;a href="http://www.eletronlivre.com.br/"&gt;Eletron Livre&lt;/a&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Participação na Robotec Fair em Curitiba com dois Workshops : SunSpot e Arduino &lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Se_nTDESjeA/SwV41tC2weI/AAAAAAAADPs/OKP0QDv8zUs/s1600/DSCN3968_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Se_nTDESjeA/SwV41tC2weI/AAAAAAAADPs/OKP0QDv8zUs/s320/DSCN3968_2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Definição de convênio universitário devido ao interesse de Universidades usarem o Program-Me durante o curso para ensino de programação e eletrônica; &lt;/li&gt;&lt;li&gt;Apresentação de diversos robos e palestras nos eventos Java, veja a foto do show de Robos no The Developer's Conference 2009;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Se_nTDESjeA/SwV0swzK8gI/AAAAAAAADPk/Pn9gz0Cl6J8/s1600/Rob%C3%B3tica_001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Se_nTDESjeA/SwV0swzK8gI/AAAAAAAADPk/Pn9gz0Cl6J8/s320/Rob%C3%B3tica_001.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;É neste clima que a Globalcode lançou ontem dois novos cursos na linha de Eletrônica e Robótica:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.globalcode.com.br/site/treinamentos/curso.seam?id=764"&gt;1) Eletrônica e computação física com Arduino - Módulo I - Básico           &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.globalcode.com.br/site/treinamentos/curso.seam?id=765"&gt;2) Robótica com Arduino&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Comemoramos hoje a primeira matricula do curso &lt;b&gt;"Robótica com Arduino"&lt;/b&gt;, oferecendo uma bolsa para o curso "Eletrônica e computação física com Arduino" para o &lt;b&gt;Aluno #1&lt;/b&gt;, que tem 25 anos de experiência programando diversas linguagens e fazendo suporte a infra estrutura.&lt;br /&gt;Gerente de projetos e TI na R2 a 15 anos, trabalhando para diversos clientes internacionalmente. &lt;b&gt;Guilherme Carneiro Poyares dos Reis&lt;/b&gt;, da R2 Tecnologia em informação, um grande amigo da Globalcode e do Vinicius Senger há mais de 10 anos.&lt;br /&gt;&lt;br /&gt;Parabéns a todos os envolvidos pelas primeiras realizações!&lt;br /&gt;&lt;br /&gt;Yara M. H. Senger&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-1158260503572907714?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/1158260503572907714/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/11/globalcode-no-mundo-de-eletronica.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1158260503572907714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1158260503572907714'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/11/globalcode-no-mundo-de-eletronica.html' title='Globalcode no mundo de Eletrônica &amp; Robótica'/><author><name>Yara Senger</name><uri>http://www.blogger.com/profile/07341665940996114098</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11799906152306650346'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Se_nTDESjeA/SwV41tC2weI/AAAAAAAADPs/OKP0QDv8zUs/s72-c/DSCN3968_2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-2836674618550415882</id><published>2009-11-18T10:16:00.000-08:00</published><updated>2010-01-17T14:05:19.512-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='academiadoprogramador'/><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><title type='text'>Academia do Programador - Turma 1</title><content type='html'>Começamos nesta segunda-feira, 16 de novembro, a primeira turma da Academia do Programador. Depois de uma longa jornada trabalhando em materiais, códigos e o desenvolvimento da placa Program-ME temos o orgulho de contar com um treinamento como este que pode convencer mais e mais as pessoas a programarem e se profissionalizarem na área.&lt;br /&gt;&lt;br /&gt;Lógica binária, hexadecimal, linguagens compiladas, linguagens interpretadas, de baixo nível, de alto nível e assim por diante...&lt;br /&gt;&lt;br /&gt;Hoje tem mais: vamos começar a estudar ferramentas de desenvolvimento, desenvolver um Olá Mundo com Java e iniciar com o Program-ME.&lt;br /&gt;&lt;br /&gt;Estamos muito satisfeitos e esperamos melhorar mais e mais este treinamento com o feed-back desta turma!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-2836674618550415882?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/2836674618550415882/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/11/academia-do-programador-turma-1.html#comment-form' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/2836674618550415882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/2836674618550415882'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/11/academia-do-programador-turma-1.html' title='Academia do Programador - Turma 1'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-1595571050051712171</id><published>2009-10-31T12:32:00.000-07:00</published><updated>2010-02-23T07:52:01.291-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='display LCD'/><category scheme='http://www.blogger.com/atom/ns#' term='José Luiz'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Conectando o Program-ME a um display LCD gráfico</title><content type='html'>Pessoal,&lt;br /&gt;Outro circuito legal que testei com o Program-Me, foi conectar ele a um display LCD gráfico de 128x64 pixels.&lt;br /&gt;Utilizei a biblioteca (KS0108), que encontrei nos links do site oficial do Arduino.&lt;br /&gt;Ela permite, utilizando processing, converter arquivos .bmp para arquivos que podem ser utilizados para exibir as imagens diretamente no display com uma única linha de comando.&lt;br /&gt;&lt;br /&gt;Ex:&lt;br /&gt;&lt;span style="color: #000099;"&gt;GLCD.DrawBitmap(logo_globalcode_128x64, 0,0, BLACK);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A linha acima exibe o logo da Globalcode a partir da coordenada 0,0 do display.&lt;br /&gt;O display utilizado foi o ITM-12864 que custa 34 Reais na Sta Efigenia.&lt;br /&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5398852486134335106" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/SuyTu1bFhoI/AAAAAAAAAAs/mUHW17cPcn8/s320/Program_me_LCD_128x64.jpg" style="display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;br /&gt;Vejam o resultado da exibição de algumas imagens nos videos abaixo.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=5a4Ju9MJVuk"&gt;http://www.youtube.com/watch?v=5a4Ju9MJVuk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=EO_mNM7WnS4"&gt;http://www.youtube.com/watch?v=EO_mNM7WnS4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraço a todos&lt;br /&gt;&lt;br /&gt;José Luiz Sanchez Lorenzo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-1595571050051712171?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/1595571050051712171/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/10/conectando-o-program-me-um-display-lcd.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1595571050051712171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/1595571050051712171'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/10/conectando-o-program-me-um-display-lcd.html' title='Conectando o Program-ME a um display LCD gráfico'/><author><name>José Luiz Sanchez Lorenzo</name><uri>http://www.blogger.com/profile/10757224842404557513</uri><email>jllorenzo@terra.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02868952394514831583'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UvmLoVIJXwQ/SuyTu1bFhoI/AAAAAAAAAAs/mUHW17cPcn8/s72-c/Program_me_LCD_128x64.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-617170832209453943</id><published>2009-10-31T11:51:00.000-07:00</published><updated>2010-02-23T07:51:26.734-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='matriz de leds'/><category scheme='http://www.blogger.com/atom/ns#' term='José Luiz'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Conectando o Program-Me a uma matriz de Leds 8x8 e exibindo mensagens</title><content type='html'>Vinicius,&lt;br /&gt;&lt;br /&gt;Primeiramente gostaria de agradecer pela oportunidade de participar dos testes do Program-ME.&lt;br /&gt;Infelizmente não tenho tido o tempo que gostaria para montar coisas com o Program-Me, mas nos últimos dias fiz um esforço durante as madrugadas e consegui fazer algumas coisinhas que gostaria de compartilhar com vocês.&lt;br /&gt;A primeira coisa que fiz, foi conectar o Program-Me em uma matriz de Leds 8x8 e programar para mostrar mensagens de texto.&lt;br /&gt;Ficou interessante quando mudei metade da matriz para a cor verde, pois as mensagens vão mudando de cor a partir do centro da matriz.&lt;br /&gt;É possivel configurar qualquer tipo de caracter na resolução 8x8.&lt;br /&gt;O circuito fica bem simples pois não é necessário nenhum circuito adicional além do Program-Me e da matriz.&lt;br /&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5398846101474031266" src="http://3.bp.blogspot.com/_UvmLoVIJXwQ/SuyN7MtctqI/AAAAAAAAAAk/--njSMyLIMM/s320/matriz+de+LEDs+005.jpg" style="display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;Vocês poderão ver um vídeo do circuito em funcionamento no link abaixo.&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=_c1oIj8YBrk"&gt;http://www.youtube.com/watch?v=_c1oIj8YBrk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraço a todos&lt;br /&gt;José Luiz Sanchez Lorenzo&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-617170832209453943?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/617170832209453943/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/10/conectando-o-program-me-uma-matriz-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/617170832209453943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/617170832209453943'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/10/conectando-o-program-me-uma-matriz-de.html' title='Conectando o Program-Me a uma matriz de Leds 8x8 e exibindo mensagens'/><author><name>José Luiz Sanchez Lorenzo</name><uri>http://www.blogger.com/profile/10757224842404557513</uri><email>jllorenzo@terra.com.br</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02868952394514831583'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UvmLoVIJXwQ/SuyN7MtctqI/AAAAAAAAAAk/--njSMyLIMM/s72-c/matriz+de+LEDs+005.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-8807849480141033988</id><published>2009-09-29T11:34:00.000-07:00</published><updated>2009-09-29T11:34:44.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>Program-ME's beta - Lista de participantes</title><content type='html'>Agradecemos a comunidade que se interessou em participar deste programa de avaliação do Program-ME. Como produzimos um quantidade ainda pequena de Program-ME's a lista de participantes é pequena, ainda não podemos nem mesmo envolver todos instrutores da Globalcode.. Estamos produzindo um segundo lote e até o final de outubro.&lt;br /&gt;&lt;br /&gt;Equipe Globalcode:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Julio Viegas;&lt;/li&gt;&lt;li&gt;Benedicto Franco Junior;&lt;/li&gt;&lt;li&gt;Dr. Spock (Campinas);&lt;/li&gt;&lt;li&gt;Jose Luis;&lt;/li&gt;&lt;li&gt;Elaine;&lt;/li&gt;&lt;li&gt;Felipe (Fratech);&lt;/li&gt;&lt;li&gt;Thiago Vespa (SJRP)&lt;/li&gt;&lt;li&gt;Rafael Nunes&lt;/li&gt;&lt;li&gt;Eder&lt;/li&gt;&lt;li&gt;Kleber Xavier&lt;/li&gt;&lt;li&gt;Neto Marin (Manaus)&lt;/li&gt;&lt;/ul&gt;Voluntários da Comunidade:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fernando Luis&lt;/li&gt;&lt;li&gt;Aleksander Blagus&lt;/li&gt;&lt;li&gt;Leonardo Simberg&lt;/li&gt;&lt;li&gt;Luis Daniel Soares&lt;/li&gt;&lt;li&gt;Silveira Neto&lt;/li&gt;&lt;li&gt;Victor Hugo Jabur&lt;/li&gt;&lt;li&gt;Jiri Trnka&lt;/li&gt;&lt;/ul&gt;Estamos criando uma lista de discussão para suportar este processo! Nesta lista vamos anunciar como obter o Program-ME e também como reportar feed-backs.&lt;br /&gt;&lt;br /&gt;Bem-vindo a todos e obrigado pela participação.&lt;br /&gt;&lt;br /&gt;-Vinicius Senger&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-8807849480141033988?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/8807849480141033988/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/09/program-mes-beta-lista-de-participantes.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/8807849480141033988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/8807849480141033988'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/09/program-mes-beta-lista-de-participantes.html' title='Program-ME&apos;s beta - Lista de participantes'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-212386905997510380</id><published>2009-09-28T08:42:00.000-07:00</published><updated>2009-09-28T08:42:33.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='física'/><category scheme='http://www.blogger.com/atom/ns#' term='eletrônica'/><title type='text'>Resumo do resumo da raíz da eletrônica</title><content type='html'>Segue aqui um resumo de alguns informações de baixo nível da eletrônica, isso pode até ser transformado em um mind mapping interessante, vou fazer um dia..&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cobre = 1 elétron na camada de valência&lt;/li&gt;&lt;li&gt;Silicio = 4 elétrons na camada de valência, material usado para construção de diodo, transistor, circuitos integrados, &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;&lt;li&gt;Germanio também tem 4 elétrons na camada de valência, mas é muito sensível a temperatura portanto não mais usado em eletronica&lt;/li&gt;&lt;li&gt;Sólido de Silício = cristal de silício&lt;/li&gt;&lt;li&gt;Banda de condução = camada onde elétrons livre se movimentam&lt;/li&gt;&lt;li&gt;Semicondutor Tipo N = é um cristal de silício que recebeu atomos pentavalentes, ou seja, com 5 elétrons na camada de valência&lt;/li&gt;&lt;li&gt;5 na camada de valência: arsênio, antimônio, fósforo&lt;/li&gt;&lt;li&gt;Com semicondutor tipo n temos mais elétrons livres, pois cada átomo pentavalente dopado no silício vai disponibilizar 1 elétron livre a mais pois dos seus 5 da camada de valência apenas 4 serão usados para unir o átomo pentavalente, ex. fósforo, &lt;/li&gt;&lt;li&gt;Com semicondutor tipo p temos mais lacunas pois é injetado átomos trivalentes (alumínio, boro, gálio) &lt;/li&gt;&lt;li&gt;Força que vem do suprimento de energia, ex. bateria pilha, e faz que os elétrons se movimentem é chamada de força eletromotriz ou tensão e é medida em volts. Volt = Alexandre Volta, o criador da bateria com metal e ácido&lt;/li&gt;&lt;li&gt;A grandeza de uma corrente é medida em ampéres.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Resistencia é medida em ohms. Carbono é usado para resistor&lt;/li&gt;&lt;li&gt;Amperimetros mede corrente&lt;/li&gt;&lt;li&gt;Voltimetro mede tensão&lt;/li&gt;&lt;li&gt;Ohmimetros mede a resistencia&lt;b&gt; &lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Biestável &lt;/b&gt;= pode representar um dos estados&lt;/li&gt;&lt;li&gt;&lt;b&gt;Monoestável &lt;/b&gt;= um só estado&lt;/li&gt;&lt;li&gt;&lt;b&gt;Astável&lt;/b&gt; = sem estado estável&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-212386905997510380?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/212386905997510380/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/09/resumo-do-resumo-da-raiz-da-eletronica.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/212386905997510380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/212386905997510380'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/09/resumo-do-resumo-da-raiz-da-eletronica.html' title='Resumo do resumo da raíz da eletrônica'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-816930546589294545.post-6859997471696903040</id><published>2009-09-26T06:59:00.001-07:00</published><updated>2010-01-17T14:07:27.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vinicius'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='Program-ME'/><title type='text'>1o mini-curso sobre Program-ME / Arduino</title><content type='html'>Aconteceu na última quinta-feira o primeiro mini-curso sobre o Program-ME, o Arduino da Globalcode. Com um público variando de garotos de 13 anos a vice-presidente de multinacional, pudemos mostrar todo o potencial de desenvolvimento de hardwares, devices e robôs utilizando plataformas abertas, tanto no software quanto no hardware.&lt;br /&gt;&lt;br /&gt;Pudemos conhecer novos membros da comunidade Globalcode onde alguns já tem muita experiência em eletrônica e ficaram extremamente motivados com o que viram. O material do mini-curso será disponibilizado no nosso site dentro do catálogo de mini-cursos e convidamos novamente todos para participarem dos seguintes projetos:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Movimento Elétron Livre: comunidade e blog que visa publicar e democratizar informações sobre eletrônica e robótica livre;&lt;/li&gt;&lt;li&gt;JavArduino.org: projeto para a criação de um compilador Java para Arduino.&lt;/li&gt;&lt;/ol&gt;Em breve estaremos lançandos novos treinamentos na área de eletrônica e robótica além de um evento voltado para isso.&lt;br /&gt;&lt;br /&gt;Agradecemos a presença de todos e quem qusier encomendar um Program-Me pode entrar em contato com a Globalcode para colocar seu pedido na fila. Estamos fabricando as primeiras unidades, agora não-beta.&lt;br /&gt;&lt;br /&gt;Fui, eletrificado.&lt;br /&gt;-Vinicius&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/816930546589294545-6859997471696903040?l=www.eletronlivre.com.br' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.eletronlivre.com.br/feeds/6859997471696903040/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.eletronlivre.com.br/2009/09/1o-mini-curso-sobre-program-me-arduino.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/6859997471696903040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/816930546589294545/posts/default/6859997471696903040'/><link rel='alternate' type='text/html' href='http://www.eletronlivre.com.br/2009/09/1o-mini-curso-sobre-program-me-arduino.html' title='1o mini-curso sobre Program-ME / Arduino'/><author><name>Vinicius Senger</name><uri>http://www.blogger.com/profile/00872242243558957944</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04265183783179022878'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>