<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gambiarra! &#187; programação</title>
	<atom:link href="http://gambiarra.tia.mat.br/category/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://gambiarra.tia.mat.br</link>
	<description>Quando não há outro jeito...</description>
	<lastBuildDate>Thu, 02 Oct 2008 15:39:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Relógio Binário com Arduino</title>
		<link>http://gambiarra.tia.mat.br/2008/08/01/relogio-binario-com-arduino/</link>
		<comments>http://gambiarra.tia.mat.br/2008/08/01/relogio-binario-com-arduino/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 18:53:21 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[do-it-yourself]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/?p=302</guid>
		<description><![CDATA[O Arduino nada mais é que uma plataforma para desenvolvimento ágil com microcontroladores, baseado na família ATMega da Atmel. Com uma IDE simples de usar, um número grande de bibliotecas prontas e uma comunidade ativa e amigável, é sempre possível encontrar novos usos para a plaquinha &#8212; que é montada por inúmeros fabricantes ao redor [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-303 alignright" title="2673622074_d5d44ea966_t" src="http://gambiarra.tia.mat.br/wp-content/uploads/2008/07/2673622074_d5d44ea966_t.jpg" alt="" width="75" height="100" />O Arduino nada mais é que uma plataforma para desenvolvimento ágil com microcontroladores, baseado na família ATMega da Atmel. Com uma IDE simples de usar, um número grande de bibliotecas prontas e uma comunidade ativa e amigável, é sempre possível encontrar novos usos para a plaquinha &#8212; que é montada por inúmeros fabricantes ao redor do mundo, embora seja fácil montar uma sua.</p>
<p>Daniel Andrade <a href="http://www.danielandrade.net/2008/07/15/binary-clock-with-arduino/">resolveu montar um relógio binário</a>, muito parecido com as versões comerciais existentes. Mostra todo o esquemático (que é realmente simples) e o código-fonte (tão simples quanto), além de ensinar como ler as horas nesse relógio não convencional (pelo menos para quem não trabalha com esses números, números binários são meio alienígenas).</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2008/08/01/relogio-binario-com-arduino/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Scanner Musical</title>
		<link>http://gambiarra.tia.mat.br/2007/07/22/scanner-musical/</link>
		<comments>http://gambiarra.tia.mat.br/2007/07/22/scanner-musical/#comments</comments>
		<pubDate>Sun, 22 Jul 2007 23:54:33 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[easter-egg]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[scanner]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/2007/07/22/scanner-musical/</guid>
		<description><![CDATA[Embora já um pouco antiga, esta página mostra um easter egg de um modelo de ScanJet, da HP. A linguagem de controle do ScanJet 4C (e provavelmente outros modelos) possui um comando não documentado, chamado PLAY TUNE. O comando varia a taxa de passos do motor, fazendo com que estes produzam sons audíveis. O software [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://gambiarra.tia.mat.br/wp-content/uploads/2007/07/scanjet.thumbnail.jpg" alt="scanjet.jpg" align="right" />Embora já um pouco antiga, <a href="http://www.ganjatron.net/misc/scanjet/">esta página mostra um <em>easter egg</em> de um modelo de ScanJet, da HP</a>. A linguagem de controle do ScanJet 4C (e provavelmente outros modelos) possui um comando não documentado, chamado <em>PLAY TUNE</em>. O comando varia a taxa de passos do motor, fazendo com que estes produzam sons audíveis.</p>
<p>O software para download no site permite que se teste a funcionalidade. Para os incrédulos, eis o vídeo:</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/FHcV8vZ96OM"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/FHcV8vZ96OM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/07/22/scanner-musical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PIC Pong</title>
		<link>http://gambiarra.tia.mat.br/2007/06/14/pic-pong/</link>
		<comments>http://gambiarra.tia.mat.br/2007/06/14/pic-pong/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 19:33:24 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[brinquedo]]></category>
		<category><![CDATA[como-funciona]]></category>
		<category><![CDATA[do-it-yourself]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/2007/06/14/pic-pong/</guid>
		<description><![CDATA[O site do Rickard Gunee já é conhecido de muita gente. Ele ensina técnicas de geração de vídeo via software, utilizando microcontroladores e conversores Digital-Analógicos simples (usando apenas resistores). Um dos exemplos é um jogo &#8220;PONG&#8221;, feito apenas com um PIC 16F84 rodando a 12MHz. Há o código fonte, layout e esquemáticos para montar o [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/ponggame_big.jpg" title="ponggame_big.jpg"><img src="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/ponggame_big.thumbnail.jpg" alt="ponggame_big.jpg" align="right" /></a>O site do Rickard Gunee já é conhecido de muita gente. Ele ensina técnicas de geração de vídeo via software, utilizando microcontroladores e conversores Digital-Analógicos simples (usando apenas resistores). Um dos exemplos é um <a href="http://www.rickard.gunee.com/projects/video/pic/pong.php">jogo &#8220;PONG&#8221;, feito apenas com um PIC 16F84 rodando a 12MHz</a>.</p>
<p>Há o código fonte, layout e esquemáticos para montar o seu próprio video game.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/06/14/pic-pong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conversor de nível de serial</title>
		<link>http://gambiarra.tia.mat.br/2007/06/10/conversor-de-nivel-de-serial/</link>
		<comments>http://gambiarra.tia.mat.br/2007/06/10/conversor-de-nivel-de-serial/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 16:24:25 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[avr]]></category>
		<category><![CDATA[bancada]]></category>
		<category><![CDATA[do-it-yourself]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[proto-board]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[sucata]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/2007/06/10/conversor-de-nivel-de-serial/</guid>
		<description><![CDATA[Programar microcontroladores pode ser uma tarefa chata sem um debugger. Interfaces seriais são ótimas para isso, já que é possível enviar e receber informações textuais de um computador. O maior problema (ou melhor, desconforto) surge quando se está prototipando alguma coisa na protoboard, e nunca se acha um conversor de nível de serial (como um [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/rs232smart2.jpg" title="rs232smart2.jpg"><img src="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/rs232smart2.thumbnail.jpg" alt="rs232smart2.jpg" align="right" /></a>Programar microcontroladores pode ser uma tarefa chata sem um debugger. Interfaces seriais são ótimas para isso, já que é possível enviar e receber informações textuais de um computador.</p>
<p>O maior problema (ou melhor, desconforto) surge quando se está prototipando alguma coisa na protoboard, e nunca se acha um conversor de nível de serial (como um MAX232) e os capacitores na sua caixa de componentes. Ou, pior ainda: ter que montar sempre o mesmo circuito para fazer debug em seu código é um tanto entediante, para não dizer que é perda de tempo.</p>
<p><a href="http://www.volunteerlabrat.com/default.html?goto=RS232breakout.html">Uma solução simples é apresentada nessa página</a>: uma placa já com o circuito básico montado, incluindo o conector DB9. Aparentemente ridículo, mas uma mão na roda.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/06/10/conversor-de-nivel-de-serial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilizando displays de Nokia 6100 com microcontroladores</title>
		<link>http://gambiarra.tia.mat.br/2007/06/10/utilizando-displays-de-nokia-6100-com-microcontroladores/</link>
		<comments>http://gambiarra.tia.mat.br/2007/06/10/utilizando-displays-de-nokia-6100-com-microcontroladores/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 14:03:51 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[avr]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[sucata]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/2007/06/10/utilizando-displays-de-nokia-6100-com-microcontroladores/</guid>
		<description><![CDATA[Com uma área de 132&#215;132 pixels e 4096 cores, baixo consumo de energia e preço convidativo (em torno de R$50 em assistência técnica de telefones), os displays de telefones celulares da Nokia são uma boa pedida para montar ricas interfaces com o usuário. Thomas Pfeifer explica como ele ligou tais displays em microcontroladores da Atmel [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/nokia_display_1.jpg" title="nokia_display_1.jpg"><img src="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/nokia_display_1.thumbnail.jpg" alt="nokia_display_1.jpg" align="left" /></a>Com uma área de 132&#215;132 pixels e 4096 cores, baixo consumo de energia e preço convidativo (em torno de R$50 em assistência técnica de telefones), os displays de telefones celulares da Nokia são uma boa pedida para montar ricas interfaces com o usuário.</p>
<p><a href="http://thomaspfeifer.net/nokia_6100_display_en.htm">Thomas Pfeifer explica como ele ligou tais displays em microcontroladores da Atmel</a> (um ATMega8). Inclusive como fez a divisão de tensão, já que o display trabalha a 3.3V e o AVR a 5V. Mostra alguns exemplos, inclusive com vídeos: um simples osciloscópio, uma imagem 3D (apenas wireframe) e um demo com degradês. Além, é claro, de várias imagens demonstrativas.</p>
<p>Tão (ou mais) interessante que os displays do Nokia 3310, que são monocromáticos e de menor resolução.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/06/10/utilizando-displays-de-nokia-6100-com-microcontroladores/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AVRUSB: implementação USB via software</title>
		<link>http://gambiarra.tia.mat.br/2007/06/09/avrusb-implementacao-usb-via-software/</link>
		<comments>http://gambiarra.tia.mat.br/2007/06/09/avrusb-implementacao-usb-via-software/#comments</comments>
		<pubDate>Sat, 09 Jun 2007 18:15:15 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[avr]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/2007/06/09/avrusb-implementacao-usb-via-software/</guid>
		<description><![CDATA[Com a grande disponibilidade de portas USB nos computadores pessoais de hoje em dia, é comum que o interesse para usá-las nos mais variados projetos exista. Infelizmente o protocolo é um pouco trabalhoso para implementar do zero e, mesmo que existam soluções prontas em silício, são geralmente de difícil obtenção (principalmente aqui no Brasil) e [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><img src="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/avrusb.thumbnail.gif" alt="avrusb.gif" align="right" />Com  a grande disponibilidade de portas USB nos computadores pessoais de hoje em dia, é comum que  o interesse para usá-las nos mais variados projetos exista. Infelizmente o protocolo é um  pouco trabalhoso para implementar do zero e, mesmo que existam soluções prontas em silício, são geralmente  de difícil obtenção (principalmente aqui no Brasil) e de difícil soldagem (a maioria requer soldagem em superfície).</p>
<p align="left">Pensando nisso,  uma <a href="http://www.obdev.at/">empresa austríaca</a> desenvolveu uma implementação do protocolo USB inteiramente em software, e a disponibilizou gratuitamente na Internet (embora exista opção para uso comercial). Os requisitos são até altos em se tratando de microcontroladores (2kB de flash, 128bytes de RAM e clock de no mínimo 12MHz), mas um preço absolutamente baixo para se pagar pelos benefícios.</p>
<p align="left">Suportando USB 1.1 e escrita em C, <a href="http://www.obdev.at/products/avrusb/index.html">a biblioteca pode ser obtida neste site</a>. <a href="http://www.obdev.at/products/avrusb/projects.html">Vários exemplos são mostrados na página também</a>, como conversores de joysticks de Super Nintendo, controlador de servomotor e controle remoto infra-vermelho.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/06/09/avrusb-implementacao-usb-via-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gravadores de AVR feitos em casa</title>
		<link>http://gambiarra.tia.mat.br/2007/06/09/gravadores-de-avr-feitos-em-casa/</link>
		<comments>http://gambiarra.tia.mat.br/2007/06/09/gravadores-de-avr-feitos-em-casa/#comments</comments>
		<pubDate>Sat, 09 Jun 2007 18:01:32 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[avr]]></category>
		<category><![CDATA[bancada]]></category>
		<category><![CDATA[instructable]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/2007/06/09/gravadores-de-avr-feitos-em-casa/</guid>
		<description><![CDATA[&#160; Este artigo no Instructables mostra como montar um gravador de AVR do modo mais barato possível. Apesar de funcionar, aconselho fazer a montagem dele em uma protoboard e usá-lo para montar um USBasp. Afinal, hoje em dia é muito mais fácil encontrar um computador com porta USB que um com porta paralela. Ambos gravadores [...]]]></description>
			<content:encoded><![CDATA[<p align="left">&nbsp;</p>
<p align="left"><a href="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/fjitnecc8meukikv6ymedium.jpg" title="fjitnecc8meukikv6ymedium.jpg"><img src="http://gambiarra.tia.mat.br/wp-content/uploads/2007/06/fjitnecc8meukikv6ymedium.thumbnail.jpg" alt="fjitnecc8meukikv6ymedium.jpg" align="left" /></a><a href="http://www.instructables.com/id/E5H5UDWB5UEUKIKV8V/?ALLSTEPS">Este artigo no Instructables</a> mostra como montar um gravador de AVR do modo mais barato possível. Apesar de funcionar, aconselho fazer a montagem dele em uma protoboard e usá-lo para montar um <a href="http://www.fischl.de/usbasp/">USBasp</a>. Afinal, hoje em dia é muito mais fácil encontrar um computador com porta USB que um com porta paralela.</p>
<p align="left">Ambos gravadores são multi-plataforma (funcionam pelo menos em Linux e em Windows) e requerem um número mínimo de peças.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/06/09/gravadores-de-avr-feitos-em-casa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Procyon &#8220;AVRlib&#8221;: Libere o potencial dos AVRs!</title>
		<link>http://gambiarra.tia.mat.br/2007/06/08/procyon-avrlib-libere-o-potencial-dos-avrs/</link>
		<comments>http://gambiarra.tia.mat.br/2007/06/08/procyon-avrlib-libere-o-potencial-dos-avrs/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 21:04:45 +0000</pubDate>
		<dc:creator>acidx</dc:creator>
				<category><![CDATA[avr]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://gambiarra.tia.mat.br/?p=4</guid>
		<description><![CDATA[Embora a capacidade dos microcontroladores esteja crescendo assustadoramente, ainda há a necessidade de interfaceamento com dispositivos externos. Controladores de rede, memórias, decodificadores MP3, receptores GPS. Obviamente, escrever drivers para todos estes dispositivos é um tanto demorado e de certa forma inútil, pois isso já foi feito e disponibilizado de graça na Internet. A Procyon &#8220;AVRLib&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Embora a capacidade dos microcontroladores esteja crescendo assustadoramente, ainda há a necessidade de interfaceamento com dispositivos externos. Controladores de rede, memórias, decodificadores MP3, receptores GPS. Obviamente, escrever drivers para todos estes dispositivos é um tanto demorado e de certa forma inútil, pois isso já foi feito e disponibilizado de graça na Internet.</p>
<p>A Procyon &#8220;AVRLib&#8221; engloba códigos em várias categorias:</p>
<ul>
<li>Geral (funções auxiliares diversas)</li>
<li>Periféricos Embutidos nos AVR (timers, UART, conversor analógico-digital, interfaces SPI e I²C, interrupções)</li>
<li>Periféricos Externos (displays LCD alfanuméricos, memórias diversas, interface IDE/ATA, servo-motores, decodificadores de MP3, receptor GPS, etc)</li>
<li>Suporte à Rede (dispositivos de rede, protocolos)</li>
<li>Emulação de Hardware em Software (I²C master, UART, barramento de memória, etc)</li>
</ul>
<p><a href="http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/index.html">Tudo documentado</a> e fácil de usar, <a href="http://hubbard.engr.scu.edu/embedded/avr/avrlib/avrlib.zip">o código é bem escrito e enxuto</a>, e é distribuído sob a <a href="http://www.gnu.org/licenses/gpl.txt">licença GNU GPL</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gambiarra.tia.mat.br/2007/06/08/procyon-avrlib-libere-o-potencial-dos-avrs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.298 seconds -->
