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 feedbacks do alunos.
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 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.
Resumindo temos agora dois treinamentos de 8 horas:
- Eletrônica básica
- Arduino
Agora poderemos dedicar mais tempos para laboratórios práticos em ambos os treinamentos e temos certeza da efetividade de ambos.
Novidades eletrizantes para 2010!
sexta-feira, 18 de dezembro de 2009
terça-feira, 15 de dezembro de 2009
Genius-ME é programado em DOJO na Globalcode


O vídeo a seguir mostra o Genius original em ação:
Veja também o Simon Trickster em ação aqui!
Ao final de uma hora e meia a platéia conseguiu desenvolver o programa a seguir:
int leds[] = {11, 9, 3, 5};
int botoes[] = {12, 10, 4, 6};
int bip = 13;
char state = 'S'; // S = Start, P = Play, B = Read button, ...
int sequencia[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int currentRound = 0;
int currentPosition = 0;
int tamanho = 8;
boolean fimJogo = true;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(leds[i], OUTPUT);
pinMode(botoes[i], INPUT);
}
pinMode(bip, OUTPUT);
Serial.begin(9600);
}
void acendeluzesdarodada() {
for (int i = 0; i <= currentRound;i++){
digitalWrite(leds[sequencia[i]],HIGH);
delay(1000);
digitalWrite(leds[sequencia[i]], LOW);
delay(500);
}
}
int leBotao() {
int timeout = 0;
Serial.println("teste");
int botao = -1;
while (botao == -1 && timeout <= 30) {
for(int i = 0; i < 4; i++) {
if(digitalRead(botoes[i]) == HIGH) {
Serial.println(botoes[i]);
botao = i;break;
}
delay(100);
timeout++;
}
}
digitalWrite(leds[botao], HIGH);
while (digitalRead(botoes[botao]) == HIGH);
digitalWrite(leds[botao], LOW);
return botao;
}
void beep() {
digitalWrite(bip, HIGH);
delay(1000);
digitalWrite(bip, LOW);
}
void inicio() {
randomSeed(analogRead(0));
for (int i = 0; i < tamanho; i++) {
sequencia[i] = (int) random(0, 4);
Serial.print("Posicao.: " + sequencia[i]);
}
}
void loop() {
if (state == 'S') {
inicio();
fimJogo = false;
currentRound = 0;
state = 'P';
}
if (state == 'P') {
acendeluzesdarodada();
state = 'B';
}
if (state == 'B') {
for (int i = 0; i <= currentRound; i++){
int botao = leBotao();
Serial.println(botao);
if (sequencia[i] != botao || botao==-1) {
state = 'S';
fimJogo = true;
beep();
break;
}
}
if (!fimJogo) {
currentRound++;
state = 'P';
}
}
delay(3000);
}
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:

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.
quarta-feira, 9 de dezembro de 2009
DOJO com Program-ME e Arduino no LinguÁgil 2009



Versão para o Arduino implementado em "C"
int leds[] = {2,3,4,5}; int botoes[] = {8,9,10,11}; int bip = 13; char state = 'S'; // S = Start, P = Play, B = Read button, ... int sequencia[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int currentRound = 0; int currentPosition = 0; void setup() { for(int i = 0; i < 3; i++) { pinMode(leds[i], OUTPUT); pinMode(botoes[i], INPUT); } pinMode(bip, OUTPUT); } void loop() { if (state == 'S') { // start sort(); state = 'P'; } if (state = 'P') { // play LEDS playLeds(); state = 'B'; } // implementar leitura de botoes e comparacao if (state == 'B') { botao = botaoPressionado(); for (int i = 0; i < 20; i++) { if (sequencia[botao] != sequencia[i]) { // errou! } } } delay(5000); if (++currentRound > 20) { currentRound == 0; state = 'S'; } } void apita() { digitalWrite(bip, HIGH); delay(1000); digitalWrite(bip, LOW); } void sort() { for(int j = 0; j < currentRound; j++) { sequencia[j] = (int) random(0,4); } } void playLeds() { for(int j = 0; j < currentRound; j++) { digitalWrite(leds[sequencia[j]], HIGH); delay(1000); digitalWrite(leds[sequencia[j]], LOW); delay(1000); } } int botaoPressionado() { for(int j=0; i<4; i++) { int estado = digitalRead(botoes[j]); if (estado == HIGH) { return j; } } return -1; }Versão para o Program-ME implementado em "Ruby"
require 'arduino' @cores = Array.new @cores << green_led @cores << blue_led @cores << yellow_led @cores << red_led def gera_sequencia(quantidade) @sequencia = [] quantidade.times do @sequencia << @cores[rand * @cores.size] end @sequencia end def imprime_sequencia(sequencia) sequencia.each do |cor| turn_led_on(cor) turn_led_off(cor) end end qtd = 4 sequencia_inicial = gera_sequencia(qtd) open_writing() imprime_sequencia(sequencia_inicial) done() start_reading() btn = [] qtd.times do while b == nil do b << read_button() end btn << b puts "Botao '#{b}' pressionado" end done() if btn == sequencia_inicial puts "CERTO!" end #turn_led_on(green_led) #turn_led_off(green_led) #turn_led_on(blue_led) #turn_led_off(blue_led) #urn_led_on(yellow_led) #turn_led_off(yellow_led) #turn_led_on(red_led) #turn_led_off(red_led) done() close_arduino()O código fonte completo destas duas versões pode ser baixado do arquivo: dojo-linguagil.zip

sexta-feira, 4 de dezembro de 2009
Arduino no Valor Econômico e Wall Street Journal
Excelente artigo publicado no Wall Street Journal, e traduzido pelo Valor Econômico, retrata a plataforma Arduino de forma precisa, começando pelo título do artigo: "Taking an Open-Source Approach to Hardware".
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.
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".
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.
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:
"I don't really care if someone can copy this thing, because a month from now I'm going to be making something different"
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?
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 swell tecnológico.
-Vinicius
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.
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".
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.
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:
"I don't really care if someone can copy this thing, because a month from now I'm going to be making something different"
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?
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 swell tecnológico.
-Vinicius
terça-feira, 1 de dezembro de 2009
Mais um robô com Program-ME
O forum do Program-ME está pegando fogo. São muitas dicas sobre compras, reuso e outras discussões. Alguns participantes extremamente ativos como Lex Blagus que além das dicas tem compartilhado excelentes fotos e o José Luiz, que além dos posts no Eletron Livre tem colaborado com informações técnicas extremamente consistentes, como a discussão sobre Dissipação de potência.
No meio de tudo isto, achei um robô criado com program-ME desenvolvido pelo Danilo Altheman
Parabéns Danilo e todos os que colaboraram!
No meio de tudo isto, achei um robô criado com program-ME desenvolvido pelo Danilo Altheman
Parabéns Danilo e todos os que colaboraram!
Novo lote de Program-ME
Pessoal,
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.
Reserve sua unidade pelo email: contato@globalcode.com.br. As 30 primeiras unidades se esgotaram em 2 semanas portanto não perca tempo!
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.
A comunidade Program-ME não para de crescer, dúvidas, sugestões, comentários: http://program-me.ning.com.
Abraços,
Vinicius Senger
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.
Reserve sua unidade pelo email: contato@globalcode.com.br. As 30 primeiras unidades se esgotaram em 2 semanas portanto não perca tempo!
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.
A comunidade Program-ME não para de crescer, dúvidas, sugestões, comentários: http://program-me.ning.com.
Abraços,
Vinicius Senger
Assinar:
Postagens (Atom)