Social Icons

6.1) Servo Seguindo a LUZ





Esta é uma forma simples de você fazer um servo motor seguir a luz, usando alguns simples componentes!
O vídeo original é feito com um ArduinoMEGA, o qual tem mais I/O (entradas e saídas). Todavia pode ser construído com qualquer base “Arduinana”.

Componentes:
1 x Servo motor (Parabólica serve também)
2 x Fotoresistores
2 x Resistor 470ohms
LightTracker

Faça as ligações como descrito no esquema do FRITIZING acima.

Lembre-se que a gambiarra aqui é colocar de alguma forma uma pequena protoboard em cima do servo! Ou fica a vontade para usar a imaginação! (veja vídeo topo pagina)
SKETCH:
#include <Servo.h>
Servo myservo;
int pos = 0;  // Variavel para guardar posicao servo.
int inputPhotoLeft = 1; // Facil de ler, instante 1 ou 0.
int inputPhotoRight = 0;

int Left = 0; // Guarda valor fotoresistor.
int Right = 0; // Guarda valor fotoresistor.

void setup()
{
myservo.attach(9); // Conecta servo ao pino digital 9.
}

void loop()
{
// Le os valores dos fotoresistores e guarda nas variaveis 
Left = analogRead(inputPhotoLeft);
Right = analogRead(inputPhotoRight);

// Checa se a esquerda é maior que direita, se sim move p/ direita.
if (Left > (Right +20))
// +20 é uma zona morta, sem isso causa interferencia.
{
if (pos < 179)
pos++;
myservo.write(pos);
}

// Checa se a esquerda é menor que a direita, se sim move esquerda.
if (Right > (Left +20))
// +20 é uma zona morta, sem isso causa interferencia.
{
if (pos > 1)
pos -= 1;
myservo.write(pos);
}

// Adicionando delay ou não o servo corre mais devagar
delay(10);
}
Qualquer dúvida por favor comente, seu feedback é muito importante!
Créditos, http://stigern.net/blog/?cat=35

6.2) Diodo emissor de LUZ ( LED )

Como pode um diodo produzir luz?

Luz é uma forma de energia que pode ser liberada por um átomo. Ela é feita de uma grande quantidade de pequenos pacotes tipo partículas que têm energia e momento, mas nenhuma massa. Estas partículas, chamadas fótons, são as unidades básicas da luz. Os fótons são liberados como um resultado do movimento de elétrons. Em um átomo, os elétrons se movem em orbitais ao redor do núcleo. Elétrons em orbitais diferentes têm quantidades diferentes de energia. De maneira geral, os elétrons com mais energia se movem em orbitais mais distantes do núcleo.
Para um elétron pular de um orbital mais baixo para um mais alto, algo deve aumentar seu nível de energia. Inversamente, um elétron libera energia quando "cai" de um orbital mais alto para um mais baixo. Essa energia é liberada na forma de um fóton. Uma grande queda de energia libera um fóton de alta energia, que é caracterizado por uma alta freqüência.
Como vimos na última seção, elétrons livres se movendo através de um diodo podem cair em buracos de uma camada tipo-P. Isto envolve uma "queda" a partir da banda de condução para um orbital mais baixo, quando então os elétrons liberam energia na forma de fótons. Isso acontece em qualquer diodo, mas você pode apenas ver os fótons quando o diodo é composto por um material específico. Por exemplo, os átomos em um diodo de silício padrão são arrumados de forma que os elétrons "saltem" uma distância relativamente curta. Como resultado, a freqüência do fóton é tão baixa que é invisível ao olho humano - está na porção infravermelha do espectro de luz. Certamente,  isto não é necessariamente algo ruim: LEDs infravermelhos são ideais para controles remotos, entre outras coisas.



Diodos emissores de luz visível (VLEDs), como os que iluminam um relógio digital, são feitos com materiais que possuem uma grande distância entre a banda de condução e as orbitais mais baixos. A distância determina a freqüência do fóton - em outras palavras, ela determina a cor da luz.
Enquanto todos os diodos liberam luz, a maioria não o faz muito eficientemente. Em um diodo comum, o próprio material semicondutor termina absorvendo parte da energia da luz. Os LEDs são fabricados especialmente para liberar um grande número de fótons para fora. Além disso, eles são montados em bulbos de plásticos que concentram a luz em uma direção específica. Como você pode ver no diagrama, a maior parte da luz do diodo ricocheteia pelas laterais do bulbo, viajando na direção da ponta redonda.

Os LEDs têm muitas vantagens sobre lâmpadas incandescentes convencionais. Uma delas é que eles não têm um filamento que se queime e então durarão muito mais tempo. Além disso, seus pequenos bulbos de plástico os tornam muito mais duráveis. Eles também cabem mais facilmente nos modernos circuitos eletrônicos.
Mas a principal vantagem é a eficiência. Em uma lâmpada incandescente convencional, o processo de produção de luz envolve a geração de muito calor (o filamento deve ser aquecido). Isso é energia totalmente desperdiçada. A menos que você use lâmpadas como aquecedor, porque uma enorme porção de eletricidade disponível não está indo para a produção de luz visível. LEDs geram pouco calor. Uma porcentagem muito mais alta de energia elétrica está indo diretamente para a geração de luz, o que diminui a demanda de eletricidade consideravelmente.
Até recentemente, os LEDs eram muito caros para serem usados na maioria das aplicações de iluminação, porque eles são feitos com material semicondutor avançado. Entretanto, o preço de dispositivos semicondutores tem caído na última década, tornando os LEDs uma opção de iluminação mais viável para uma grande variedade de situações. Embora inicialmente eles possam ser mais caros que as luzes incandescentes, seu custo mais baixo ao longo do tempo de uso faz deles uma melhor aquisição. No futuro, os diodos terão um papel ainda mais importante no mundo da tecnologia.
Para obter mais informações sobre LEDs e outros dispositivos semicondutores, confira os links na próxima seção.

O led é um componente de extrema importância pois é usado em infinitas atividades, ele é polarizado, ou seja, tem lado + e - , pode ser reconhecido dessa forma: 




Em cada Led depende da sua cor para definir-se sua tensão, assim também defini-se a corrente e resistor aplicado em cada caso...



Uma boa Fórmula para calcular resistor do LED seria:


Rled = Vi - Vled
               Iled


Rled : Resistor para o LED
Vi = Tensão de entrada
Vled= Tensão do LED
Iled = Corrente do LED ( normalmente de 20 á 30 mA)


Alguns exemplos:


6.1) Diodo

O que é um diodo?

Um diodo é o tipo mais simples de semicondutor. De modo geral, um semicondutor é um material com capacidade variável de conduzir corrente elétrica. A maioria dos semicondutores é feita de um condutor pobre que teve impurezas (átomos de outro material) adicionadas a ele. O processo de adição de impurezas é chamado de dopagem. No caso dos LEDs, o material condutor é normalmente arseneto de alumínio e gálio (AlGaAs). No arseneto de alumínio e gálio puro, todos os átomos se ligam perfeitamente a seus vizinhos, sem deixar elétrons (partículas com carga negativa) livres para conduzir corrente elétrica. No material dopado, átomos adicionais alteram o equilíbrio, adicionando elétrons livres ou criando buracos onde os elétrons podem ir. Qualquer destas adições pode tornar o material um melhor condutor.

Um semicondutor com elétrons extras é chamado material tipo-N, já que tem partículas extras carregadas negativamente. No material tipo-N, elétrons livres se movem da área carregada negativamente para uma área carregada positivamente.

Um semicondutor com buracos extras é chamado material tipo-P, já que ele efetivamente tem partículas extras carregadas positivamente. Os elétrons podem pular de buraco em buraco, movendo-se de uma área carregada negativamente para uma área carregada positivamente. Como resultado, os próprios buracos parecem se mover de uma área carregada positivamente para uma área carregada negativamente.
Um diodo é composto por uma seção de material tipo-N ligado a uma seção de material tipo-P, com eletrodos em cada extremidade. Essa combinação conduz eletricidade apenas em um sentido. Quando nenhuma voltagem é aplicada ao diodo, os elétrons do material tipo-N preenchem os buracos do material tipo-P ao longo da junção entre as camadas, formando uma zona vazia. Em uma zona vazia, o material semicondutor volta ao seu estado isolante original - todos os buracos estão preenchidos, de modo que não haja elétrons livres ou espaços vazios para elétrons, e assim a carga não pode fluir.




Na junção, elétrons livres do material tipo-N preenchem buracos do material tipo-P. Isto cria uma camada isolante no meio do diodo, chamada de zona vazia.


Para se livrar da zona vazia, você precisa que elétrons se movam da área tipo-N para a área tipo-P e que buracos se movam no sentido inverso. Para fazer isto, você conecta o lado tipo-N do diodo ao terminal negativo do circuito e o lado tipo-P ao terminal positivo. Os elétrons livres no material tipo-N são repelidos pelo eletrodo negativo e atraídos para o eletrodo positivo. Os buracos no material tipo-P se movem no sentido contrário. Quando a diferença de potencial entre os eletrodos é alta o suficiente, os elétrons na zona vazia são retirados de seus buracos e começam a se mover livremente de novo. A zona vazia desaparece e a carga se move através do diodo.



Quando o terminal negativo do circuito é preso à camada tipo-N e o terminal positivo é preso à camada tipo-P, elétrons e buracos começam a se mover e a zona vazia desaparece


Se você tentar mover a corrente no sentido oposto, com o lado tipo-P conectado ao terminal negativo do circuito e o lado tipo-N conectado ao pólo positivo, a corrente não fluirá. Os elétrons negativos no material tipo-N são atraídos para o eletrodo positivo. Os buracos positivos no material tipo-P são atraídos para o eletrodo negativo. Nenhuma corrente flui através da junção porque os buracos e os elétrons estão cada um se movendo no sentido errado. A zona vazia então aumenta.


Quando o terminal positivo do circuito está ligado à camada tipo-N e o terminal negativo está ligado à camada tipo-P, elétrons livres são coletados em um terminal do diodo e os buracos são coletados em outro. A zona vazia se torna maior.

A interação entre elétrons e buracos nesta configuração tem um interessante efeito colateral - ela gera luz. Na próxima seção, descobriremos exatamente o porquê disso.

Aplicações específicas principais:

- Retificação ( Transformar de Corrente alternada pra Contínua )
- De um Lado Bloqueia, do outro conduz fazendo uma certa lógica para "programação" de circuitos, digamos assim...
- Com Exemplo acima pode-se bloquear corrente, tensão não desejada em certa parte, tanto como liberar corrente/tensão em um sentido só em caso de componentes paralelos.

Versões do Photoshop




Nome : ADOBE(R) PHOTOSHOP(TM)
Criador : Adobe System
Detalhes : Software editor de imagens

Suas Versoes:

 - Versão 1.0.7

Primeira aparição do Photo Shop entre 1989 e
1990.
imagem


 - Versão 2.5


2ª Versão lançada depois de 3 anos (1990-1993)


imagem

 - Versão 3.0

2 anos depois da 2ª versão. (1993-1995)

imagem

 - Versão 4.0

(1995 - 1996)
imagem



 - Versão 5.0

  Época que o photoshop ficou conhecida mudialmente.(1996 - 1998)

imagem

- Versão 6.0

Versão sem muitas mudanças.
imagem

 - Versão 7.0

Com mehoras nos efeitos.
imagem

 - Versão CS

Agora o Photoshop muda de nome começa a se chamar CS 1 ( Versão 8.0)

imagem

- Versão CS 2

Versão que surpreendeu muita gente. (Versão 9.0)


imagem

 - Versão CS 3

Vem com uma novidade , não muito aperfeiçoada: Edição de Video.

imagem

- Versão CS 4

A ediçao de video foi aprimorada, mas ainda não é atrativo principal. (Versão 11.0)


http://www.pcsaudavel.com/wp-content/uploads/2010/05/photoshop-cs4-falha.gif


- Versão CS5

Ultima versão para mercado com muitas novidades... (Versão 12.0)


4.9) Sintetizador de Som (Piezo + Arduino)

Este exemplo usa um atuador Piezo elétrico para tocar uma melodia. Ele envia uma onda quadrada para a frequência apropriada do piezo, gerando o tom correspondente.
O cálculo dos tons é feito a partir de uma operação matemática:
timeHigh = período / 2 = 1 / (2 * Frequência do tom)

Os diferentes tons estão descritos na tabela abaixo:
nota  frequência  período    timeHigh
c       261 Hz       3830       1915 
d       294 Hz       3400       1700 
e       329 Hz       3038       151  
f       349 Hz       2864       1432 
g       392 Hz       2550       1275 
a       440 Hz       2272       1136 
b       493 Hz       2028       1014 
C       523 Hz       1912        956   

Circuito:

Os Piezos têm polaridade. Peças comerciais normalmente têm um lado vermelho (positivo) e outro preto (negativo). Conecte o cabo vermelho no pino digital 9 e o cabo preto ao terra. Às vezes é possível adquirir elementos Piezo sem a capa plástica, e se parecem a um disco metálico.

Um Piezo conectado ao pino 9, e depois ao GND.

Código:

_______________________________________________________________________________________

int speakerPin = 9;

int length = 15; // the number of notes
char notes[] = "ccggaagffeeddc "; // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;

void playTone(int tone, int duration) {
  for (long i = 0; i < duration * 1000L; i += tone * 2) {
    digitalWrite(speakerPin, HIGH);
    delayMicroseconds(tone);
    digitalWrite(speakerPin, LOW);
    delayMicroseconds(tone);
  }
}

void playNote(char note, int duration) {
  char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
  int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

  // play the tone corresponding to the note name
  for (int i = 0; i < 8; i++) {
    if (names[i] == note) {
      playTone(tones[i], duration);
    }
  }
}

void setup() {
  pinMode(speakerPin, OUTPUT);
}

void loop() {
  for (int i = 0; i < length; i++) {
    if (notes[i] == ' ') {
      delay(beats[i] * tempo); // rest
    } else {
      playNote(notes[i], beats[i] * tempo);
    }

    // pause between notes
    delay(tempo / 2); 
  }
}







Desperte Sua Imaginação:




4.8) Barra de LED's + POTENCIÔMETRO

Esse tutorial é de uma Barra Gráfica de LED's, que é usada em rádio para medição de volume, e ou frequência/Intensidade do Som...
 Você pode usar para o que imaginar..
Exemplo de Barra Gráfica de LED's (Mas Você Pode usar aprenas LED's Normais para faze-la)
A bar graph displayHardware Necessário:
  • Placa Arduino
  • 1  -  Barra de LED's ou 10 LED's de qualquer cor (Fica legal 7VD 2AM 1VM)
  • 10 - Resistores de 220 Ohm
  • Fios
  • Protoboard
  • Potenciômetro 10k+(Obs:Valores e Códigos preparados pra 10k pode haver mudança)
Um Pouco de atenção aqui:


Esse tutorial é de uma Barra Gráfica de LED's, que é usada em rádio para medição de volume, e ou frequência/Intensidade do Som...
Você pode usar para o que imaginar...

Se você não sabe ainda o que um potenciômetro, não se desespere, nem vá para o google ;-) , somente clique aqui e descubra, ou relembre.

Circuito:



Video de Demonstação:


Código:


____________________________________________________________________
/*
  LED bar graph
 
  Turns on a series of LEDs based on the value of an analog sensor.
  This is a simple way to make a bar graph display. Though this graph
  uses 10 LEDs, you can use any number by changing the LED count
  and the pins in the array.
 
  This method can be used to control any series of digital outputs that
  depends on an analog input.
 
  The circuit:
   * LEDs from pins 2 through 11 to ground
 
 created 4 Sep 2010
 by Tom Igoe

 This example code is in the public domain.
 
 http://www.arduino.cc/en/Tutorial/BarGraph
 */


// these constants won't change:
const int analogPin = A0;   // the pin that the potentiometer is attached to
const int ledCount = 10;    // the number of LEDs in the bar graph

int ledPins[] = {
  2, 3, 4, 5, 6, 7,8,9,10,11 };   // an array of pin numbers to which LEDs are attached


void setup() {
  // loop over the pin array and set them all to output:
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT);
  }
}

void loop() {
  // read the potentiometer:
  int sensorReading = analogRead(analogPin);
  // map the result to a range from 0 to the number of LEDs:
  int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);

  // loop over the LED array:
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    // if the array element's index is less than ledLevel,
    // turn the pin for this element on:
    if (thisLed < ledLevel) {
      digitalWrite(ledPins[thisLed], HIGH);
    }
    // turn off all pins higher than the ledLevel:
    else {
      digitalWrite(ledPins[thisLed], LOW);
    }
  }
}

4.7) Fading LED

Demonstra o uso de uma saída analógica (PWM) para apagar um LED em fade.

Circuito

Um LED conectado ao pino 9 através de um resistor apropriado (aqui um de 270 Ω)

Código

int value = 0;                            // variavel para armazenar o valor atualizado 
int ledpin = 9;                           // LED conectado ao pino digital 9

void setup() 
{ 
  // nao ha necessidade de setup
} 

void loop() 
{ 
  for(value = 0 ; value <= 255; value+=5) // fade in (do minimo para o maximo) 
  { 
    analogWrite(ledpin, value);           // ajuta o valor(escopo de 0 a 255) 
    delay(30);                            // espera 30 milisegundos para que o efeito seja visível
  } 
  for(value = 255; value >=0; value-=5)   // fade out (do maximo para o minimo) 
  { 
    analogWrite(ledpin, value); 
    delay(30); 
  }  
}


Esse Mesmo Código pode ser modificado pra colocar na supermáquina na transição 
de um LED para o outro,como eu havia citado no tutorial da supermáquina!

___________________________________________________________________________________
O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.
 
Esta obra está licenciada sob uma Licença Creative Commons.

4.6) Sequencial LED's ( SuperMáquina )

Podemos chamar este exemplo de "Super Máquina" a famosa série de televisão dos anos 80 em que o famoso ator David Hasselhoff dirigia seu Pontiac com inteligência artificial. O carro foi turbinado com vários LEDs de vários tamanhos possíveis para reproduzir efeitos brilhantes.

Decidimos que seria interessante usar esta metáfora da "Super Máquina" com o objetivo de aprender mais sobre programação sequencial e boas técnicas de programação para as informações de E/S da placa.


Este exemplo usa 6 LEDs conectados entre os pinos 2 e 7 da placa usando resistores de 220 Ohm. O primeiro código do exemplo faz os LEDs piscarem em sequência, um a um usando somente digitalWrite(pinNum,HIGH/LOW) e delay (tempo). O segundo exemplo mostra como usar uma construção for(;;) para reproduzir a mesma coisa, mas em menos linhas de programação. O terceiro e último exemplo se concentra no efeito visual de ligar e desligar os LEDs de uma maneira mais suave.

Circuíto

Veja a aplicação implementada FINAL com 21 LED's;



Obs:Esse Video o cara usa 21 Led's e uma programação diferente do abaixo mas o resultado final não muda muito.

Mão a Obra: 

Exemplo 1:


SImples e Objetivo, ...
________________________________________

 
/*Super maquina 1
 * --------------
 *
 *
 * Basicamente uma extensão do Piscar um LED
 *
 * (cleft) 2005 K3, Malmo University
 * @author: David Cuartielles
 * @hardware: David Cuartielles, Aaron Hallborg
 */

int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int timer = 100;

void setup(){
  pinMode(pin2, OUTPUT);
  pinMode(pin3, OUTPUT);
  pinMode(pin4, OUTPUT);
  pinMode(pin5, OUTPUT);
  pinMode(pin6, OUTPUT);
  pinMode(pin7, OUTPUT);
}

void loop() {
   digitalWrite(pin2, HIGH);
   delay(timer);
   digitalWrite(pin2, LOW);
   delay(timer);

   digitalWrite(pin3, HIGH);
   delay(timer);
   digitalWrite(pin3, LOW);
   delay(timer);

   digitalWrite(pin4, HIGH);
   delay(timer);
   digitalWrite(pin4, LOW);
   delay(timer);

   digitalWrite(pin5, HIGH);
   delay(timer);
   digitalWrite(pin5, LOW);
   delay(timer);

   digitalWrite(pin6, HIGH);
   delay(timer);
   digitalWrite(pin6, LOW);
   delay(timer);

   digitalWrite(pin7, HIGH);
   delay(timer);
   digitalWrite(pin7, LOW);
   delay(timer);

   digitalWrite(pin6, HIGH);
   delay(timer);
   digitalWrite(pin6, LOW);
   delay(timer);

   digitalWrite(pin5, HIGH);
   delay(timer);
   digitalWrite(pin5, LOW);
   delay(timer);

   digitalWrite(pin4, HIGH);
   delay(timer);
   digitalWrite(pin4, LOW);
   delay(timer);

   digitalWrite(pin3, HIGH);
   delay(timer);
   digitalWrite(pin3, LOW);
   delay(timer);
}_________________________________________

Exemplo 2:

Usando Laço de Repetição FOR para

reduzir o código...:

_________________________________________


/* Super Maquina 2

 * --------------
 *
 * Reduzindo a quantidade de código usando o for(;;)
 *
 * (cleft) 2005 K3, Malmo University
 * @author: David Cuartielles
 * @hardware: David Cuartielles, Aaron Hallborg
 */

int pinArray[] = {2, 3, 4, 5, 6, 7};
int count = 0;
int timer = 100;

void setup(){
  // fazendo todas as declarações de uma vez
  for (count=0;count<6;count++) {
    pinMode(pinArray[count], OUTPUT);
  }
}

void loop() {
  for (count=0;count<6;count++) {
   digitalWrite(pinArray[count], HIGH);
   delay(timer);
   digitalWrite(pinArray[count], LOW);
   delay(timer);
  }
  for (count=5;count>=0;count--) {
   digitalWrite(pinArray[count], HIGH);
   delay(timer);
   digitalWrite(pinArray[count], LOW);
   delay(timer);
  }
}

Exemplo 3:

Esse com um Efeito de transição...
_________________________________________
/* Super Maquina 3
 * --------------
 *
 * Este exemplo é focado em fazer o efeito visual mais fluido
 *
 *
 * (cleft) 2005 K3, Malmo University
 * @author: David Cuartielles
 * @hardware: David Cuartielles, Aaron Hallborg
 */

int pinArray[] = {2, 3, 4, 5, 6, 7};
int count = 0;
int timer = 30;

void setup(){
  for (count=0;count<6;count++) {
    pinMode(pinArray[count], OUTPUT);
  }
}

void loop() {
  for (count=0;count<5;count++) {
   digitalWrite(pinArray[count], HIGH);
   delay(timer);
   digitalWrite(pinArray[count + 1], HIGH);
   delay(timer);
   digitalWrite(pinArray[count], LOW);
   delay(timer*2);
  }
  for (count=5;count>0;count--) {
   digitalWrite(pinArray[count], HIGH);
   delay(timer);
   digitalWrite(pinArray[count - 1], HIGH);
   delay(timer);
   digitalWrite(pinArray[count], LOW);
   delay(timer*2);
  }
}________________________________________

Esse foi um SIMPLES tutorial para demonstrar a importância de laços de repetição...ai vem carinhas me falar "por que eu vou comprar um arduino pra fazer um sequencial de led's se da pra fazer com CI's 555 e o 4017 você não sabe?" R: Sim eu sei e estará em breve na parte de ELETRÔNICA do blog, mas isso são tutoriais de arduino para aprendizado, denovo APRENDIZADO, você não vai sair vendendo sequencial de led's de 120,00 reais. São apenas para aprendizado, posteriormente os tutoriais vão começar a complicar e dai quero ver esses mesmos FODÕES aparecer ai pra falar!
________________________________________
 


Aqui um outro exemplo, esse com FADE, que irei explicar num próximo tutorial...






O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.
Esta obra está licenciada sob uma Licença Creative Commons.
Creative Commons License