quarta-feira, 23 de julho de 2014

Postagem retirada do Blog do Diolinux... postado aqui para compartilhar conhecimento... Créditos no final do post...

Editar vídeos no Linux, pelo menos para mim, tem se tornando uma tarefa mais fácil a cada dia por conta do Kdenlive.



Gostaria demonstrar a vocês a complexidade de se fazer um vídeo como este "Especial Dia do Rock" que eu fiz.

Foram aproximadamente 2 horas para a gravação das cenas e posteriormente 6 horas de edição mais ou menos, o Kdenlive possui muito recursos, mais do que você possa imaginar, várias pessoas já me pediram tutoriais sobre o Kdenlive e eu pretendo fazer alguns, ou pelo menos um para mostrar o básico dele, ensinar a editar vídeo é uma coisa complicada pois envolve a criatividade e isso parte de cada pessoa. Abaixo você consegue ver uma progressão da edição do vídeo que comentei.




Como o Kdenlive não permite a sobreposição de determinados efeitos a maneira mais eficaz foi sobrepor trilhas, no caso foram usadas 11 trilhas de vídeo e mais umas 4 de audio, o resultado final você vê logo abaixo:


Mais informações »

LibreOffice mais Colorido - Paleta de Cores


Se você acha que a paleta de cores do LibreOffice poderia ter mais cores, ou então se você está sempre querendo usar cores diferentes para obter um trabalho mais personalizado e sofisticado... Há uma solução colorida e elegante...

No site www.openlogic.com encontrei uma paleta de cores para o LibreOffice, com mais opções. E o que mais chama a atenção é que ensinam como foi feita, os cuidados que tiveram, etc e o resultado ficou muito bom:

São muitas opções

Instalação:

Faça o download do arquivo .zip na página github.com/fkereki/LibreOffice-Colors/

depois descompacte o arquivo
Será extraída a pasta "LibreOffice-Colors-master". Entre nela, copie o arquivo "colors.soc"
Na sua pasta pessoal, dê "CTRL + H" para exibir pastas ocultas


A seguir, no linux, vá em /HOME/.config/libreoffice/4/user/config/ (para usuários de Windows e Mac OSX vejam aqui onde encontrar a pasta que precisamos)
Cole o arquivo colors.soc
Renomeie o arquivo standard.soc para standard.soc.backup (é só adicionar .backup ao final do nome do arquivo)

Renomeie aquele arquivo colors.soc para standard.soc, 


Pronto
Basta abrir qualquer aplicativo do LibreOffice para usar sua nova paleta


Desfazendo:

Se não gostar da paleta... na pasta HOME/.config/libreoffice/4/user/config/ apague o arquivo standard.soc (que renomeamos) e mude o nome do standard.soc.backup para standard.soc e você retornará às cores da paleta anterior.

Fonte e Créditos: aqui
Mais informações »

terça-feira, 15 de julho de 2014

Fazendo estas 20 lições, você poderá programar seu Angry Bird e outros bichos para andar em um labirinto, utilizar comandos simples de caminhamento, tomar devisões usando testes e repetição, tudo empregando o mouse (ou os dedos em um tablet) e vendo o resultado em uma animação super-legal!


Comece, na primeira lição, ajudando o Angry Bird a apanhar o porco malvado: Empilhe blocos “Avançar” e “Virar” e pressione “Executar programa” para ajudá-lo a chegar lá.

Para abrir a lição, clique na figura acima ou vá para http://learn.code.org/hoc/1 .
Como eu faço para a lição aparecer em Português?

O tutorial vai abrir na língua que estiver selecionada como a língua preferencial de seu navegador de Internet. Provavelmente já abrirá em Português. Se isto não acontecer, você pode manualmente escolher a língua da lição indo para a parte de baixo da página e selecionando “Português” no menu que aparece lá, como mostra a figura abaixo.

Posso fazer as lições no meu Tablet ou Celular?

Sim! Testamos com um tablet Android e funcionou muito bem.


Cortesia de code.org, uma fundação sem fins lucrativos, dedicada ao ensino de computação.

Se quiser se juntar a nós em nossa sala de aula virtual (LIBERDADE), acesse code.org/join e digite o seguinte código: HLUZJG

Fonte e Créditos: aqui

Mais informações »

O final de 2013 e o início de 2014 foram agitados por dois grandes lançamentos: as duas maiores plataformas de jogos, PlayStation e Xbox, lançaram novas versões de seus consoles, o PlayStation 4 e o Xbox One, da Sony e da Microsoft, respectivamente. Conforme costuma acontecer nessas ocasiões, ambos os lançamentos receberam plena atenção da mídia e dos meios de comunicação.

Por mais interessante que essas plataformas possam parecer, lançamentos desse tipo sempre trazem mais do mesmo: hardware que incorpora os avanços dos últimos anos, gráficos mais realistas, maior poder de processamento e a continuidade de muitas das franquias que fizeram sucesso anteriormente, sendo esta uma das formas mais antigas de trazer os jogadores mais fanáticos para as novas versões dos consoles. Dessa forma, eles esperam poder reviver as velhas aventuras de seus personagens e jogos favoritos em versões melhoradas.

Contudo, desenvolver jogos para essas plataformas é algo para poucos. Para começar, o custo de aquisição do kit de desenvolvimento (que é cotado em algo próximo a US$ 2.500 para o PS4) já afasta muitos desenvolvedores independentes. Em seguida, o grau de complexidade que essas plataformas exigem demanda um número elevado de profissionais trabalhando em equipe e, consequentemente, os custos dos jogos giram hoje em torno das centenas de milhões de dólares. Tome como exemplo o jogo Grand Theft Auto V, considerado o mais caro da história. Lançado em 2013, ele custou US$ 266 milhões, cifra que supera o orçamento de muitos blockbusters hollywoodianos.

Mas se depois de tudo isso você ainda assim tiver conseguido criar seu jogo, estará inevitavelmente “amarrado” aos donos da plataforma (nesse caso, as gigantes Sony e Microsoft), tendo que optar pela necessidade da custosa distribuição de mídias físicas (as caixinhas com os discos que tendem a desaparecer) ou a distribuição digital através do modelo de “app store”. Em ambas as situações, você terá que se submeter aos termos e às condições que essas empresas impõem para a venda de conteúdo através de suas redes de distribuição online.

Situações como essas tendem a afastar a inovação, pois, quando há somas tão grandes em jogo, é compreensível que haja uma maior aversão ao risco e uma grande pressão por lucro. Isso justifica todo o marketing envolvido e a continuidade das franquias.

Não seria bom se o desenvolvimento de jogos fosse mais acessível a uma quantidade maior de desenvolvedores independentes que pudessem colocar em prática ideias e jogabilidades inovadoras? Pois é isso que está acontecendo agora, a partir das plataformas móveis e dos sistemas abertos.

OUYA – o pioneiro

A pioneira delas foi o OUYA (ouya.tv). Surgido de um dos projetos de maior sucesso no Kickstarter, a campanha conseguiu arrecadar mais de US$ 8,5 milhões através da plataforma de financiamento colaborativo, valor nove vezes superior ao objetivo inicial de US$ 950 mil.

A ideia do OUYA é simples: levar os jogos da plataforma Android para a TV e possibilitar o uso de joysticks, da mesma forma como fazem os consoles tradicionais. As vantagens dessa abordagem vão além do conforto de uma tela maior e de um joystick nas mãos: os jogos possuem preços compatíveis com as plataformas móveis (girando em torno de US$ 5) e qualquer desenvolvedor pode disponibilizar seus jogos para o console. Assim como acontece com o Android, não há custo para a aquisição do SDK, e a loja fica apenas com uma porcentagem dos jogos vendidos. Isso é um estímulo à criatividade: quanto mais gente no ecossistema, melhor – ganha a plataforma e ganham os jogadores. Há espaço inclusive para jogos de nicho, como aqueles com visual retrô, coisa impraticável nas plataformas mais “modernas”.

Apesar de custar apenas US$ 99 (um quarto do valor do PS4 e um quinto do XBox One no mercado americano), o hardware do OUYA se assemelha ao de um tablet topo de linha: processador NVidia Tegra 3 quad-core, 1 GB RAM, 8 GB de armazenamento em flash, conexão HDMI com saída 1080p, WiFi 802.11bgn e bluetooth 4.0. É possível até mesmo montar seu próprio hardware e imprimir o case em um impressora 3D.

SHIELD – a aposta da Nvidia

Com abordagem semelhante ao OUYA, a Nvidia lançou seu console próprio, o SHIELD, com o mesmo intuito de dar vida nova aos jogos criados para a plataforma Android. Nesse caso, o apelo principal continua sendo a aposta na mobilidade, mas com a jogabilidade de um dispositivo dedicado: um joystick semelhante aos videogames comuns, LCD de alta definição, alto falantes de excelente qualidade. Além disso, o SHIELD aposta no processador de última geração da fabricante (o Tegra 4) e traz a interessante possibilidade de fazer streaming de alguns jogos do PC para o console ou de eventualmente jogar os jogos na TV através de conexão Wi-Fi.

Tanto o OUYA quanto o SHIELD se beneficiam do ecossistema Android, permitindo a instalação de aplicativos que podem expandir as possibilidade de entretenimento dos aparelhos, ao possibilitar o uso de aplicativos Android, como YouTube, XBMC, Netflix, Plex, Pandora, Google Play Books etc.

SteamOS – foco na distribuição de jogos

O último jogador a entrar nesse campo parece ter sido a Valve, conhecida pela sua plataforma pioneira na venda de jogos online, o Steam. Em 2012, o cofundador da Valve, Gave Newell ganhou as manchetes ao declarar que o Windows 8 era “um desastre”, fazendo com que a empresa apostasse fortemente no Linux ao criar uma distribuição voltada para jogos e para a execução de sua plataforma Steam, o SteamOS. Por sua vez, as Steam Machine nada mais são do que um hardware dedicado com a plataforma SteamOS pré-embarcada. Contudo, o download do sistema operacional foi disponibilizado online para aqueles que desejam montar ou reaproveitar seu próprio hardware.

Do ponto de vista técnico, a aposta faz muito sentido: o Linux é, de fato, uma plataforma muito mais estável e flexível do que o Windows para o desenvolvimento de jogos e já atingiu um amadurecimento que permite seu uso para esse fim. Ao contrário de outros sistemas proprietários, ele não está suscetível a mudanças bruscas de rumo por parte de uma única empresa, gerando incompatibilidades e rupturas com versões anteriores. Como o desenvolvimento do GNU/Linux é aberto e colaborativo, sempre existe ainda a possibilidade de influenciar nos rumos do desenvolvimento e adaptá-lo a necessidades particulares.

Do ponto de vista estratégico, a posição também parece inteligente, pois a empresa cria uma plataforma de jogos que é “hardware agnostic”, ou seja, independente de hardware, focando o negócio na distribuição dos games – que já é a vocação da empresa – e na experiência do usuário.

Ponto sem volta

Resta ainda saber se todas essas iniciativas terão sucesso comercial. Apesar de tudo, não faltam críticos a cada um dos projetos citados: uma busca rápida na Internet e não é difícil encontrar reviews negativos. Entretanto, a minha aposta vai na direção diametralmente oposta: independentemente de sucesso comercial, já é possível pensar em modelos de negócio e distribuição que não eram possíveis há poucos anos. Modelos mais acessíveis tanto ao consumidor final quanto aos desenvolvedores e que contemplam nichos que não eram viáveis até pouco tempo.

A caixa de Pandora foi aberta, e creio que tenhamos chegado a um ponto sem volta: no caso de algum projeto fracassar, outros se sucederão corrigindo eventuais falhas e com a vantagem de ter as experiências anteriores como bússola para se guiar. As oportunidades são grandes, e quem se sair bem sucedido na criação de um mercado de games alternativo ganhará uma boa dianteira em relação aos concorrentes que vierem depois. É ver para crer.

***

11 de julho de 2014 por Kemel Zaidan

Artigo publicado originalmente na Revista iMasters de maio.

Fonte e Créditos: aqui

Mais informações »

segunda-feira, 14 de julho de 2014

Codebender: Programe seu Arduino usando o Navegador Web


Para desenvolver códigos com Arduino, normalmente nós precisamos instalar uma IDE, que possui um conjunto softwares, drivers, definir permissões, etc... 
Com Codebender, você pode programar o Arduino diretamente do navegador. Não há necessidade de encontrar, instalar, atualizar e gerenciar bibliotecas e drivers, pois o Codebender faz isso para você. Basta instalar o plugin do navegador, seguir o guia de introdução.

Passos para usar a primeira vez

Abra o navegador web "Firefox" e acesse o endereço http://codebender.cc/
Crie uma conta, usando o botão "Sign Up" ou faça login usando uma conta "Google", clicando no botão "Log In" e procedendo como já você já faz em outras situações em que usa a conta.

Depois que estiver logado, caso o navegador não peça automaticamente para instalar o "plugin", procure e clique em "Add to Firefox" e siga as instruções de instalação


Clique no botão "Permitir" e aguarde o download ser concluído. 


Download em andamento...


Clique no botão "Instalar agora" e ao final reinicie o firefox para concluir a instalação. 


Agora com "plugin" instalado, já podemos escrever nosso primeiro código e nada mais justo que fazermos o "Blink":

Encaixe o cabo USB em sua Plaquinha Arduino;
Clique em "+Create sketch" para abrir a tela de programação.


Na tela que se abrirá:

Selecione o modelo da sua placa Arduino, no meu exemplo estou usando uma "Arduino Duemilenove w/ ATmega328", escolha a sua de acordo com a necessidade;
 Teoricamente o sistema vai encontrar automaticamente a porta USB em que a placa foi conectada, em meu exemplo "/dev/ttyUSB0", caso seja necessário faça as devidas modificações de portas;
Como estou usando GNU/Linux, precisamos permitir que o navegador escreva diretamente na portal em que o Arduino foi conectado, no meu caso o comando em um terminal é "sudo chmod 777 /dev/ttyUSB0 + enter";
 As demais configurações eu deixei como padrão, porém de acordo com as suas necessidades e conhecimento, fique a vontade para modificar.


Configurações terminadas, basta escrever o seu código da mesma forma que escreveria se estivesse usando a IDE do Arduino.
Use o botão "Verify Code" para fazer a checagem de erros no Código;
Use o botão "Run on Arduino" para fazer o Upload do Código para a placa Arduino, se tudo deu certo o LED de testes (pino 13) do Arduino, vai começar a piscar.


Assista abaixo um vídeo (em Inglês) sobre o Sistema


Se quiser ver mais alguns exemplos de código, acesse o nosso Curso de Arduino, alertamos que o mesmo esta em processo de construção.
Mais informações »

sexta-feira, 23 de maio de 2014


Robótica Educacional com Software e Hardware Livres no Sábado na Escola

A Robótica Educacional corresponde a uma aplicação da tecnologia na educação em que o ambiente de aprendizagem valoriza o planejamento, pesquisa, interesse, motivação e cooperação entre os alunos, através de uma rica experiência interdisciplinar, uma vez que envolve diferentes áreas de conhecimento e pessoas na resolução de problemas. A Robótica Educacional Livre, parte para soluções livres em substituição aos produtos comerciais, o que propomos e o uso de Hardware e Softwares Livres como base para a programação. Utilizaremos motores, componentes eletrônicos de baixo custo e algumas sucatas de equipamentos, para construção de KITS de robótica de acordo com a realidade de cada escola.

Cidade: Volta Redonda
Estado: Rio de Janeiro
Local: Escola Municipal Marizinha Félix;
Horário: 08:00 às 11:30;



Em nossa 8ª aula trataremos de:

Nessa aula usaremos uma Plataforma Robótica ou Carrinho que montamos, na vídeo aula anterior, para testar o funcionamento do de 2 acessórios:


Controle Remoto GC-7180, nesse caso temos um que foi aproveitado de uma TV que estava parada, mas que pode ser qualquer um que se tenha perdido em casa.



Controle Remoto RC-505, no caso abaixo, temos controle que foi comprado junto com um KIT de arduino.




Receptor IR  separados

Receptor IR em KIT

Abaixo podemos ver o esquema de ligação que foi usado na montagem da nossa Plataforma Robótica ou Carrinho, claro que veremos a montagem na protoboard, somente para exemplificar as ligações que são as mesmas que foram soldadas e escondidas dentro de nossa montagem.
Exemplo do esquema de ligação de 2 Motores com Receptor IR

Código de programação para rodar os 2 Motores  com Receptor IR e o controle remoto GC-7180, usando a Biblioteca para Infra Vermelho (NECIRrcv)

Código fonte em formato de texto para copiar e colar na IDE do Arduino

/*
infra vermelho do controle remoto TOSHIBA CT7180 e um receptor.
*/

#include <WProgram.h> //Bibliotecas para Infra Vermelho 
#include <NECIRrcv.h>
#define IRPIN 7 // Pino de entrada de dado IR

int motorD = 9;   // Pino controlador do motor direito
int motorE = 11;   // Pino controlador do motor direito

int valor1 = 1; // Variaveis Auxiliares
int valor2 = 1;
int valor3 = 1;
int valor4 = 1;

NECIRrcv ir(IRPIN);

void setup(){
pinMode(motorD, OUTPUT); // Setando pino para saida
pinMode(motorE, OUTPUT); // Setando pino para saida
digitalWrite(motorD, LOW); // Inicia com o chip desligado
digitalWrite(motorE, LOW); // Inicia com o chip desligado
Serial.begin(9600); // Ativando porta serial

ir.begin() ; //Inicia função IR
}

void loop()
{

unsigned long ircode=0; //Declaração de variaveis
unsigned long aux=0;

while (ir.available()) {
ircode = ir.read() ; // Leitura dos dados pino de entrada “7″
aux=(ircode);

if (aux == 3827023680) { //Comparaçao de códigos do botão CH+ do controle remoto
if (valor1 == 1){
liga_1(); //Chamada da função liga_1
valor1=0;
}
else {
desl_1(); //Chamada da função desl_1
valor1=1;
}
}

if (aux == 3760176960) { //Comparaçao de códigos do botão CH- do controle remoto
if (valor2 == 1){
liga_2(); //Chamada da função liga_2
valor2=0;
}
else {
desl_2(); //Chamada da função desl_2
valor2=1;
}
}
if (aux == 3843735360) { //Comparaçao de códigos do botão VOL+ do controle remoto
if (valor3 == 1){
liga_3(); //Chamada da função liga_3
valor3=0;
}
else {
desl_3(); //Chamada da função desl_3
valor3=1;
}
}
if (aux == 3776888640) { //Comparaçao de códigos do botão VOL- do controle remoto
if (valor4 == 1){
liga_4(); //Chamada da função liga_4
valor4=0;
}
else {
desl_4(); //Chamada da função desl_4
valor4=1;
}
}

}
}

void liga_1(){ //Apertar primeira vez, anda para frente
digitalWrite(motorD, 50); // Ativa o chip
digitalWrite(motorE, 50); // Desliga a energia do pino 11
delay(500);
digitalWrite(motorD, LOW); // Desativa o chip
digitalWrite(motorE, LOW); // Desliga a energia do pino 11
Serial.println("Andando para frente");
}
void desl_1(){ //Apertar segunda vez, parar
digitalWrite(motorD, 50); // Ativa o chip
digitalWrite(motorE, 50); // Desliga a energia do pino 11
delay(500);
digitalWrite(motorD, LOW); // Desativa o chip
digitalWrite(motorE, LOW); // Desliga a energia do pino 11
Serial.println("Andando para frente");
}

void liga_2(){ //Apertar primeira vez, anda para tras
digitalWrite(motorD, LOW); // Ativa o chip
digitalWrite(motorE, LOW); // Liga a energia do pino 10
Serial.println("Parando tudo");
}
void desl_2(){ //Apertar segunda vez, parar
digitalWrite(motorD, LOW); // Desativa o chip
digitalWrite(motorE, LOW); // Desliga a energia do pino 10
Serial.println("Parando tudo");
}

void liga_3(){ //Apertar primeira vez, gira para esquerda
digitalWrite(motorE, 50); // Ativa o chip
delay(500);
digitalWrite(motorE, LOW); // Desativa o chip
Serial.println("Virando para esquerda");
}
void desl_3(){ //Apertar segunda vez, parar
digitalWrite(motorE, 50); // Ativa o chip
delay(500);
digitalWrite(motorE, LOW); // Desativa o chip
}
void liga_4(){ //Apertar primeira vez, gira para direita
digitalWrite(motorD, 50); // Ativa o chip
delay(500);
digitalWrite(motorD, LOW); // Desliga a energia do pino 10
Serial.println("Virando para direita");
}
void desl_4(){ //Apertar segunda vez, parar
digitalWrite(motorD, 50); // Ativa o chip
delay(500);
digitalWrite(motorD, LOW); // Desliga a energia do pino 10
}

// | TECLAS | Código HEX |  Var  long  |
// —————————————————————————————————————
//  Power   |  ED12BF40  | 3977428800  |
//  Menu    |  F10EBF40  | 4044275520  |
//  Time    |  E31CBF40  | 3810312000  |
//  CH+     |  E41BBF40  | 3827023680  |
//  CH-     |  E01FBF40  | 3760176960  |
//  VOL+    |  E51ABF40  | 3843735360  |
//  VOL-    |  E11EBF40  | 3776888640  |
//  OFF/SOM |  EF10BF40  | 4010852160  |
//  S       |  EC13BF40  | 3960717120  |
//  1       |  FE01BF40  | 4261527360  |
//  2       |  FD02BF40  | 4244815680  |
//  3       |  FC03BF40  | 4228104000  |
//  4       |  FB04BF40  | 4211392320  |
//  5       |  FA05BF40  | 4194680640  |
//  6       |  F906BF40  | 4177968960  |
//  7       |  F807BF40  | 4161257280  |
//  8       |  F708BF40  | 4144545600  |
//  9       |  F609BF40  | 4127833920  |
//  0       |  FF00BF40  | 4278239040  |
//  100     |  F50ABF40  | 4111122240  |
//  A/V     |  EB14BF40  | 3944005440  |


Código de programação para rodar os 2 Motores  com Receptor IR e o controle remoto RC-505, usando a Biblioteca para Infra Vermelho (IRremote)

Código fonte em formato de texto para copiar e colar na IDE do Arduino

/*
infra vermelho do controle remoto SMART RC-505 e um receptor.
*/

#include <IRremote.h>

int RECV_PIN = 7; // Pino ligado ao receptor IR
int motorD = 9;   // Pino controlador do motor direito
int motorE = 11;   // Pino controlador do motor direito

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600); // Inicializando a porta serial
irrecv.enableIRIn(); // Iniciar recebimento de sinal
pinMode(motorD, OUTPUT); // Setando pino para saida
pinMode(motorE, OUTPUT); // Setando pino para saida
}

void loop() {
if (irrecv.decode(&results)) {
    
long int decCode = results.value;
Serial.println(decCode);
switch (results.value) {
  
case 2640455895: // seta para frente
Serial.println("Andar para frente");
digitalWrite(motorD, 50); // Ligando motor da direita
digitalWrite(motorE, 50); // Ligando motor da esquerda
delay(500);
digitalWrite(motorD, LOW); // Desligando motor da direita
digitalWrite(motorE, LOW); // Desligando motor da esquerda
break;

case 2640466095: // setas para esquerda
Serial.println("Girar para a esquerda");
digitalWrite(motorE, 50); // Ligando motor da esquerda
delay(500);
digitalWrite(motorE, LOW); // Desligando motor da esquerda
break;  

case 2640498735: // setas para direita
Serial.println("Girar para a direita");
digitalWrite(motorD, 50); // Ligando motor da direita
delay(500);
digitalWrite(motorD, LOW); // Desligando motor da direita
break;  

default: 
Serial.println("Aguardando comando...");
}
irrecv.resume(); // Receber o proximo valor
}
}

// -----------------------------
//  CONTROLE REMOTO SMART RC515 
//       POR SERGIO GRAÇAS
// -----------------------------
//     TECLAS    >     CODIGOS
// -----------------------------
//  *                     =   2640500775
//  DNPP                =   2640476805
//  DIRECT             =   2640506895
//  SRC                 =   2640496695
//  CIMA               =   2640455895
//  BAIXO             =   2640488535
//  ATT                 =   2640472215
//  RETROCEDER    =   2640466095
//  AVANCAR      =   2640498735
//  PAUSE        =   2640474255
//  AM           =   2640457935
//  FM           =   2640490575
//  1            =   2640478335
//  2            =   2640462015
//  3            =   2640494655
//  4            =   2640453855
//  5            =   2640486495
//  6            =   2640470175
//  7            =   2640502815
//  8            =   2640449775
//  9            =   2640482415
//  0            =   2640445695
// -----------------------------

Vale ressaltar que os exemplos acima tem como base um raciocínio simples, usando códigos mais simples ainda tendo em vista o nível iniciante de nossos alunos, futuramente estaremos aprofundando e melhorando a codificação e funcionamento do mesmo.


O desafios da semana é:

Os alunos devem, caso tenham desejem doar, carrinhos e outros brinquedos a pilha quebrados ou danificados e que os mesmos devem ser trazidos para a nossa aula (SÁBADO), onde vamos juntar essas doações ao nosso cantinho das peças recicláveis.
Mais informações »

Robótica Educacional com Software e Hardware Livres no Sábado na Escola

A Robótica Educacional corresponde a uma aplicação da tecnologia na educação em que o ambiente de aprendizagem valoriza o planejamento, pesquisa, interesse, motivação e cooperação entre os alunos, através de uma rica experiência interdisciplinar, uma vez que envolve diferentes áreas de conhecimento e pessoas na resolução de problemas. A Robótica Educacional Livre, parte para soluções livres em substituição aos produtos comerciais, o que propomos e o uso de Hardware e Softwares Livres como base para a programação. Utilizaremos motores, componentes eletrônicos de baixo custo e algumas sucatas de equipamentos, para construção de KITS de robótica de acordo com a realidade de cada escola.

Cidade: Volta Redonda
Estado: Rio de Janeiro
Local: Escola Municipal Marizinha Félix;
Horário: 08:00 às 11:30;



Em nossa 7ª aula trataremos de:

Nessa aula usaremos uma Plataforma Robótica ou Carrinho que montamos através da junção de 2 carrinhos comprados no camelô ou que podem ser aproveitados de brinquedos que talvez você tenha em casa, o mais importante é que os 2 modelos usados nessa montagem tenham as mesmas características ou melhor dizendo, que sejam iguais e preencham os requisitos do projeto.


Material usado:


2 Carrinhos pequenos (imagem meramente ilustrativa);

2 TIPs 120 ou 122;

2 Resistores de 1Kohm ou outro que achar por bem;

4 Pilhas para os carrinhos (recarregáveis ou não);

1 Carregador (no caso de pilhas recarregáveis);
imagem meramente ilustrativa

4 Pilhas ou 1 bateria de 9V para o Arduino;

1 Case para pilhas;

1 Plug P4 macho;

1 Adaptador P4 macho para bateria;


Abaixo temos uma vídeo aula ensinando a montagem da plataforma, com diversas dicas e explicações em tempo real

Obs.: Nada impede de você comprar sua Plataforma pronta, na internet, existem diversos sites que vendem esse material já pronto, para quem tem a disposição uma certa verbinha para pagar.

Abaixo podemos ver o esquema de ligação que foi usado na montagem da nossa Plataforma Robótica ou Carrinho, claro que veremos a montagem na protoboard, somente para exemplificar as ligações que são as mesmas que foram soldadas e escondidas dentro de nossa montagem.

Exemplo do esquema de ligação de 2 Motores 







Código de programação para rodar os 2 Motores com o Arduino


Código fonte em formato de texto para copiar e colar na IDE do Arduino

// Projeto carro 2 motores
int Motor1 = 9; // Seleciona o pino para o motor 1 (direita)
int Motor2 = 11; // Seleciona o pino para o motor 2 (esquerda)
int valor1 = 0; // Variável para guardar o valor de rotação para o motor 1
int valor2 = 0; // Variável para guardar o valor de rotação para o motor 2

void setup() {
pinMode(Motor1, OUTPUT); // Declara MotorPin como OUTPUT (saída)
pinMode(Motor2, OUTPUT); // Declara MotorPin como OUTPUT (saída)
}

void loop() {

valor1 = 200; // Aciona o motor com alta velocidade
valor2 = 200; // Aciona o motor com alta velocidade
analogWrite(Motor1, valor1); // Aciona o Motor direito
analogWrite(Motor2, valor2); // Aciona o Motor esquerdo
delay(5000);

valor1 = 0; // Desliga motor direito
valor2 = 0; // Desliga motor esquerdo
analogWrite(Motor1, valor1); // Desliga o Motor direito
analogWrite(Motor2, valor2); // Desliga o Motor esquerdo
delay(5000);

valor1 = 0; // Aciona o motor com alta velocidade
valor2 = 200; // Aciona o motor com alta velocidade
analogWrite(Motor1, valor1); // Aciona o Motor direito
analogWrite(Motor2, valor2); // Aciona o Motor esquerdo
delay(5000);

valor1 = 0; // Desliga motor direito
valor2 = 0; // Desliga motor esquerdo
analogWrite(Motor1, valor1); // Desliga o Motor direito
analogWrite(Motor2, valor2); // Desliga o Motor esquerdo
delay(5000);

valor1 = 200; // Aciona o motor com alta velocidade
valor2 = 0; // Aciona o motor com alta velocidade
analogWrite(Motor1, valor1); // Aciona o Motor direito
analogWrite(Motor2, valor2); // Aciona o Motor esquerdo
delay(5000);

 }

Para os alunos, tendo como base o exemplo de código acima, tinham como objetivo dessa semana era que os mesmos conseguissem criar um código para o Arduino e nossa Plataforma Robótica ou Carrinho, onde com esse código o carrinho pudesse seguir um traçado (abaixo), sendo que o mais importante para esse momento era que eles conseguissem fazer e entender como era feito o movimento para frente, para esquerda e para a direita, não cobramos dos mesmos o tamanho do traçado e muito menos a exatidão do mesmo, mas sim a execução dos movimentos em sequência, como pode ser visto no desenho abaixo:
Legenda:
F = Frente
E = Esquerda
D = Direita



O desafios da semana é:

Os alunos devem, caso tenham desejem doar, carrinhos e outros brinquedos a pilha quebrados ou danificados e que os mesmos devem ser trazidos para a nossa aula (SÁBADO), onde vamos juntar essas doações ao nosso cantinho das peças recicláveis.
Mais informações »

quinta-feira, 15 de maio de 2014

Curso HTML Progressivo - Como Criar Sites



É um site totalmente voltado para o ensino da criação de sites através do HTML e CSS, onde não é necessário se cadastrar ou baixar nada, apenas acessar e iniciar seus estudos.

Se você for iniciante no assunto, baste seguir o roteiro indicado no Índice, que indica os tutoriais numa sequência lógica, como se fosse um livro ou curso presencial. Caso já saiba HTML, CSS ou HTML5, você pode ir diretamente nas seções específicas do site e estudar, pois o material é dividido em assuntos específicos.

O curso inicia ensinando o antigo HTML 4.01, sem se preocupar (inicialmente) com o que caiu ou não em desuso, e ensina como criar um site em HTML "na mão", no código, usando ferramentas como Tabelas e Frames.

Em seguida o estudante é apresentado ao indispensável CSS, onde é mostrado como formatar um site e estilizá-lo, mostrando o que é usado pelos webmasters na criação de layouts profissionais e agradáveis, além de informar aos usuários as tags que caíram em desuso e o que é recomendável usar atualmente.


Há também tutoriais sobre o novo HTML5, ferramenta poderosa e flexível, que nos permite criar sites de uma maneira bem mais simples e de maneira que só era conseguida, antes, através de programação web.

O curso se completa com aulas sobre SEO (otimização de sites para motores de busca, como o Google) e monetização de sites.

Há também a indicação das melhores vídeo-aulas disponibilizadas no Youtube, review de livros sobre o assunto, dicas de apostilas gratuitas, códigos comentados, exercícios e indicação de como obter certificados online para os que desejarem trabalhar profissionalmente na criação de sites.

O HTML Progressivo faz parte do projeto Programação Progressiva, que visa ensinar diversas linguagens de programação e computação de um modo geral, como o Curso Java Progressivo e o Curso C Progressivo.

Fonte e Créditos: aqui
Mais informações »