Função: pinMode()
Descrição
Configura a porta especificada para se comportar tanto como entrada ou saída. Veja o post sobre portas digitais para maiores detalhes.
Sintaxe
pinMode(pin, mode)
Parâmetros
pin: o número da porta que você deseja configurar
mode: INPUT para entrada e OUTPUT para saída
Retorna
Nada
Nota
As portas analógicas podem ser usadas como portas digitais, referindo-as como A0, A1 etc.
Função: digitalWrite()
Descrição
Altera o estado da porta para alto (HIGH) ou baixo (LOW) de uma porta digital.
Se a porta foi configurada como saída (OUTPUT) pela função pinMode(), sua voltagem será correspondente aos valores de 5V (ou 3.3V nas placas de 3.3V) para alto (HIGH), e 0V (GND) para baixo (LOW).
Se a porta é configurada como entrada (INPUT), escrever um valor alto (HIGH) com o digitalWrite() habilitará o resistor de elevação (pullup) interno de 20K (veja a postagem sobre portas digitais). Escrever um valor baixo (LOW) desabilitará o resistor de elevação. Este resistor de elevação é suficiente para acionar muito fracamente um LED, portanto se o LED funcionar, mas dessa forma fraca, esta é a causa mais provável. A solução é configurar a porta para saída (OUTPUT) através da função pinMode().
NOTA: A porta digital 13 é mais difícil de se utilizar como uma porta de entrada dentre as outras portas digitais, pois existe um LED ligado a ela, com um resistor em série, soldado na placa, na maioria das placas. Se você habilitar seu resistor de elevação, ela travará em uma tensão aproximada de 1,7V, ao invés dos esperados 5V, por causa do LED embutido na placa, e o resistor em série sempre puxará o nível de tensão para baixo, resultando sempre em um estado baixo (LOW). Se você quiser usar a porta 13 como entrada digital, ligue um resistor de referência (pulldown) externo.
Sintaxe
digitalWrite(pin, value)
Parâmetros
pin: o número da porta
value: HIGH para o estado alto ou LOW para o estado baixo
Retorna
nada
Configura a porta 13 para o estado alto (HIGH), pausa por um segundo e depois configura a porta de volta para o estado baixo (LOW).
Nota
As portas analógicas podem ser usadas como portas digitais, referindo-as como A0, A1 etc.
Função: delay()
Descrição
Pausa o programa por um período de tempo (em milissegundos) especificado pelo parâmetro. (Existem 1000 milissegundos em um segundo.)
Sintaxe
delay(ms)
Parâmetros
ms: quantidade de milissegundos a parar o programa (unsigned long)
Retorna
nada
Advertência
Assim como é fácil criar o efeito de piscar um LED com a função delay(), e muitos programas (sketches) utilizam pausas curtas para tarefas como garantir o pressionamento de um botão, o uso da função delay() tem significativos obstáculos. Nenhuma outra ação, como leitura de sensores, cálculos matemáticos, ou manipulação de portas funciona durante a pausa pela função delay(). Dessa forma, esta pausa tem como efeito causar a inoperabilidade de todas as outras atividades. Para abordagens alternativas no controle de tempo, considere o uso da função millis(). Programadores mais experientes evitam utilizar a função delay() para cálculos de tempo maiores que 10 milissegundos, a não ser que o programa seja realmente muito simples. Certas coisas, entretanto, continuam funcionando enquanto a função delay() está controlando o chip do ATMega, porque essa função não desabilita as interrupções. Comunicação serial que chega no pino RX é gravada, valores PWM (analogwrite) e o estado das portas são mantidos, assim como as interrupções funcionam como esperado.
Exemplo
int ledPin = 13; // LED conectado na porta 13
void setup()
{
pinMode(ledPin, OUTPUT); // configura a porta como saida (OUTPUT)
}
void loop()
{
digitalWrite(ledPin, HIGH); // liga (HIGH) o LED
delay(1000); // espera um segundo
digitalWrite(ledPin, LOW); // desliga (LOW) o LED
delay(1000); // espera um segundo
}
quinta-feira, 20 de outubro de 2011
quarta-feira, 19 de outubro de 2011
Referência Arduino - Portas Digitais
As portas digitais podem ser configuradas tanto como entrada e saída. Este artigo explica a funcionalidade das portas nesses modos. Enquanto o título deste artigo se refere a portas digitais, é importante lembrar que uma vasta maioria das portas analógicas do Arduino (ATMega) podem ser configuradas, e usadas, da mesma maneira que as portas digitais.
Propriedades das Portas Configuradas como Entrada (INPUT)
Portas do Arduino (ATMega) são por padrão consideradas como entradas, então estas não precisam explicitamente ser declaradas como entrada através da função pinMode(). Portas configuradas como entrada se encontram em um estado conhecido por alta impedância. Uma forma de explicar isso é que portas de entrada demandam muito pouco, ou quase nada, do circuito que estão amostrando, equivalente a um resistor de 100 mega ohms em série com a porta. Isto significa que não é necessária muita corrente para alternar as portas de entrada de um estado para outro, e que estas podem se tornar muito úteis para tarefas como: implementar um sensor capacitivo, sensível ao toque; efetuar a leitura de um LED como se fosse um foto-diodo; ou ainda fazer a leitura de um sensor analógico com um esquema RCTime.
Isto significa também, entretanto, que as portas de entrada apresentarão sensibilidade aleatória entre estados pelo simples fato de não ter nada conectado a elas, ou mesmo por estarem conectadas a um fio solto, detectando ruído elétrico a partir do ambiente, ou acoplamento capacitivo do estado das portas adjacentes.
Resistor de Elevação (Pullup)
Dessa forma se faz necessário, muitas vezes, nortear uma porta de entrada para um estado conhecido, quando nenhum sinal se faz presente. Isto pode ser feito adicionando na entrada, um resistor de elevação (ligando no 5V), ou um resistor de referência (pulldown - ligado no terra). 10k ohms é um valor comumente utilizado.
Existem também resistores de elevação convenientemente construídos internamente no chip do ATMega, que podem ser acessados via programação. Estes resistores de elevação embutidos podem ser acessados da seguinte maneira:
pinMode(pin, INPUT); // configura a porta como entrada
digitalWrite(pin, HIGH); // liga o resistor de elevação (pullup)
Note que estes resistores de elevação provêm corrente suficiente para acender de forma bem suave um LED conectado a porta configurada como entrada. Se os LED's de um projeto estiverem acendendo dessa forma bem suave, provavelmente é exatamente isso que está acontecendo e o programador esqueceu de usar a função pinMode() para configurar as portas como saída (OUTPUT).
Repare também que os resistores de elevação são controlados pelos mesmos registradores (endereços internos da memória do chip) que controlam se uma porta está em um estado alto (HIGH) ou baixo (LOW). Consequentemente um pino que é configurado para ter um resistor de elevação ligado quando a porta é uma entrada, manterá o estado alto mesmo quando a porta for alterada para saída, através da função pinMode(). Isso funciona de forma inversa também, e uma porta de saída deixada em estado alto, terá os resistores de elevação automaticamente ligados se for alterada para o modo de entrada pelo pinMode().
NOTA: A porta digital 13 é mais difícil de se utilizar como uma porta de entrada dentre as outras portas digitais, pois existe um LED ligado a ela, com um resistor em série, soldado na placa, na maioria das placas. Se você habilitar seu resistor de elevação, ela travará em uma tensão aproximada de 1,7V, ao invés dos esperados 5V, por causa do LED embutido na placa, e o resistor em série sempre puxará o nível de tensão para baixo, resultando sempre em um estado baixo (LOW). Se você quiser usar a porta 13 como entrada digital, ligue um resistor de referência (pulldown) externo.
Propriedades das Portas Configuradas como Saída (OUTPUT)
Portas configuradas como saída através do pinMode() encontram-se em um estado de baixa impedância. Isso significa que elas podem fornecer uma quantidade considerável de corrente para outros circuitos. As portas do ATMega podem alimentar (fornecer corrente positiva) ou ancorar (fornecer corrente negativa) até 40mA (miliampéres) de corrente para outros dispositivos/circuitos. Isso é corrente suficiente para acender bem forte um LED (não se esqueça do resistor em série), ou acomodar vários sensores, por exemplo; mas não fornece corrente suficiente para ativar diretamente a maioria dos relês, solenóides, ou motores.
Curto-circuitos nas portas do Arduino, ou tentativas de ativar dispositivos que consomem altas correntes, podem danificar ou até destruir o transistor de saída da porta; ou ainda danificar completamente o chip ATMega. Muitas vezes isso resulta em um pino "morto" no microcontrolador, mas o resto do chip ainda funciona adequadamente. Por essa razão, é uma boa ideia conectar portas de saída aos dispositivos, através de um resistor de 470 ou 1k ohms, a não ser que a máxima corrente consumida das portas seja necessária para alguma aplicação em particular.
Tradução literal do Inglês para Português do original, extraído do site arduino.cc, conforme link que segue:
http://arduino.cc/en/Tutorial/DigitalPins
by
Renato Aloi
Propriedades das Portas Configuradas como Entrada (INPUT)
Portas do Arduino (ATMega) são por padrão consideradas como entradas, então estas não precisam explicitamente ser declaradas como entrada através da função pinMode(). Portas configuradas como entrada se encontram em um estado conhecido por alta impedância. Uma forma de explicar isso é que portas de entrada demandam muito pouco, ou quase nada, do circuito que estão amostrando, equivalente a um resistor de 100 mega ohms em série com a porta. Isto significa que não é necessária muita corrente para alternar as portas de entrada de um estado para outro, e que estas podem se tornar muito úteis para tarefas como: implementar um sensor capacitivo, sensível ao toque; efetuar a leitura de um LED como se fosse um foto-diodo; ou ainda fazer a leitura de um sensor analógico com um esquema RCTime.
Isto significa também, entretanto, que as portas de entrada apresentarão sensibilidade aleatória entre estados pelo simples fato de não ter nada conectado a elas, ou mesmo por estarem conectadas a um fio solto, detectando ruído elétrico a partir do ambiente, ou acoplamento capacitivo do estado das portas adjacentes.
Resistor de Elevação (Pullup)
Dessa forma se faz necessário, muitas vezes, nortear uma porta de entrada para um estado conhecido, quando nenhum sinal se faz presente. Isto pode ser feito adicionando na entrada, um resistor de elevação (ligando no 5V), ou um resistor de referência (pulldown - ligado no terra). 10k ohms é um valor comumente utilizado.
Existem também resistores de elevação convenientemente construídos internamente no chip do ATMega, que podem ser acessados via programação. Estes resistores de elevação embutidos podem ser acessados da seguinte maneira:
pinMode(pin, INPUT); // configura a porta como entrada
digitalWrite(pin, HIGH); // liga o resistor de elevação (pullup)
Note que estes resistores de elevação provêm corrente suficiente para acender de forma bem suave um LED conectado a porta configurada como entrada. Se os LED's de um projeto estiverem acendendo dessa forma bem suave, provavelmente é exatamente isso que está acontecendo e o programador esqueceu de usar a função pinMode() para configurar as portas como saída (OUTPUT).
Repare também que os resistores de elevação são controlados pelos mesmos registradores (endereços internos da memória do chip) que controlam se uma porta está em um estado alto (HIGH) ou baixo (LOW). Consequentemente um pino que é configurado para ter um resistor de elevação ligado quando a porta é uma entrada, manterá o estado alto mesmo quando a porta for alterada para saída, através da função pinMode(). Isso funciona de forma inversa também, e uma porta de saída deixada em estado alto, terá os resistores de elevação automaticamente ligados se for alterada para o modo de entrada pelo pinMode().
NOTA: A porta digital 13 é mais difícil de se utilizar como uma porta de entrada dentre as outras portas digitais, pois existe um LED ligado a ela, com um resistor em série, soldado na placa, na maioria das placas. Se você habilitar seu resistor de elevação, ela travará em uma tensão aproximada de 1,7V, ao invés dos esperados 5V, por causa do LED embutido na placa, e o resistor em série sempre puxará o nível de tensão para baixo, resultando sempre em um estado baixo (LOW). Se você quiser usar a porta 13 como entrada digital, ligue um resistor de referência (pulldown) externo.
Propriedades das Portas Configuradas como Saída (OUTPUT)
Portas configuradas como saída através do pinMode() encontram-se em um estado de baixa impedância. Isso significa que elas podem fornecer uma quantidade considerável de corrente para outros circuitos. As portas do ATMega podem alimentar (fornecer corrente positiva) ou ancorar (fornecer corrente negativa) até 40mA (miliampéres) de corrente para outros dispositivos/circuitos. Isso é corrente suficiente para acender bem forte um LED (não se esqueça do resistor em série), ou acomodar vários sensores, por exemplo; mas não fornece corrente suficiente para ativar diretamente a maioria dos relês, solenóides, ou motores.
Curto-circuitos nas portas do Arduino, ou tentativas de ativar dispositivos que consomem altas correntes, podem danificar ou até destruir o transistor de saída da porta; ou ainda danificar completamente o chip ATMega. Muitas vezes isso resulta em um pino "morto" no microcontrolador, mas o resto do chip ainda funciona adequadamente. Por essa razão, é uma boa ideia conectar portas de saída aos dispositivos, através de um resistor de 470 ou 1k ohms, a não ser que a máxima corrente consumida das portas seja necessária para alguma aplicação em particular.
Tradução literal do Inglês para Português do original, extraído do site arduino.cc, conforme link que segue:
http://arduino.cc/en/Tutorial/DigitalPins
by
Renato Aloi
sábado, 15 de outubro de 2011
Instalando Arduino - Guia Completo
Tenho ministrado cursos sobre Arduino e a principal dificuldade de quem começa a desenvolver com essa tecnologia é justamente a instalação do ambiente no computador. Resolvi então escrever esse artigo para ajudar quem está começando nessa nova e maravilhosa plataforma.
Vamos ao fatos: o grande problema da instalação do Arduino é a quantidade de Sistemas Operacionais existentes. Temos Windows XP, Vista e 7; Mac OS; e finalmente uma enorme quantidade de distribuições Linux. Além de tudo isso, temos versões 32 e 64 bits. Isso sem falar que existem várias distribuições do Arduino, como UNO, Duemilanove, Decimila, Mega etc. Não se preocupe, vou tentar cobrir todas as possibildades.
Para quem não conhece o Arduino, é uma plataforma de desenvolvimento baseada em microcontroladores da Atmel. Com o Arduino somos capazes de criar dispositivos que "sentem" e controlam dispositivos. Por exemplo, podemos utilizar um sensor de luminosidade para "sentir" o cair da noite e acionar o acendimento de uma lâmpada. Mas este é apenas um exemplo. Podemos também acionar motores, relês, além de detectar calor, movimento etc. Tudo depende dos dispositivos ligados ao Arduino.
Vamos então partir para a instalação do Arduino no computador. Precisamos de duas coisas:
http://arduino.cc/en/Main/Software
Na página do link acima, escolha entre as versões Windows, Mac ou Linux, ou então clicque diretamente nos links da lista abaixo:
Vamos começar pelo Windows. Não importa se é XP, Vista ou 7. Basta baixar a versão denominada apenas "Windows". Não existe instalador, o que você vai baixar é um arquivo compactado, do tipo ZIP. Para abrir este arquivo e descompactar a IDE do Arduino, você precisará de um programa chamado WinRar. Algumas versões de Windows lidam com arquivos ZIP de forma transparente, mas para todos os efeitos, segue o link do programa gratuito WinRar:
http://www.baixaki.com.br/download/winrar.htm
Descompacte esse arquivo chamado "arduino-0022.zip" (é a versão atual enquanto eu escrevo esse artigo) em uma pasta com o mesmo nome, de preferência no drive "C:", para que o caminho fique assim: "C:\arduino-0022". Vou considerar que você seguiu essas orientações para facilitar o entendimento desse artigo. Dentro dessa pasta, você verá que existe um arquivo executável chamado "arduino.exe". Este é o ponto de entrada do programa principal do Arduino, ou seja, a IDE ("C:\arduino-0022\arduino.exe").
Outra coisa importante dentro do diretório "arduino-0022" é a pasta "drivers" ("C:\arduino-0022\drivers"). Nesta pasta é onde gastaremos a maior parte do nosso esforço. Isso porque já terminamos a instalação da IDE e vamos partir para a instalação do Driver USB.
Agora precisamos verificar algumas coisas, entre elas qual a versão do seu Arduino. Vamos começar conectando o Arduino no computador através do cabo USB. Faça isso agora, mas se você já tentou e não conseguiu, não se preocupe. Vamos aos passos:
Para o Arduino UNO ou Mega 2560 no Windows XP, Vista ou 7
http://arduino.cc/en/Guide/UnoDriversWindowsXP
Para Arduino Duemilanove, Mega, Nano ou Diecimila no Windows XP, Vista ou 7
Quando você conectar o Arduino via cabo USB, o instalador do Windows deve aparecer automaticamente.
No Windows Vista, selecione a opção "Instalar automaticamente" (Realmente funciona!)
No Windows 7 64 bits, baixe e utilize o driver do seguinte link:
http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip
No Windows XP, o assistente de instalação de novo hardware aparecerá, siga os passos abaixo:
Instalando Arduino no Mac OS X
Após fazer o download, conforme indicado no início deste tutorial, a imagem de disco (.dmg) deve abrir automaticamente. Caso isso não aconteça, clique duas vezes sobre o arquivo "arduino-0022.dmg".
Para o Arduino UNO e Mega 2560, apenas copie a pasta do Arduino para sua pasta de Aplicações. Não é necessário instalar nenhum driver.
Se você estiver usando uma versão anterior (Duemilanove, Mega, Nano ou Diecimila) não esqueça de instalar o driver do FTDI, clicando duas vezes no arquivo "FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg" e siga as instruções do instalador. Você precisará reiniciar o computador após a instalação do driver.
Instalando Arduino no Linux
Acredito que a instalação mais complicada de ser explicada é a do Linux, pois existem muitas distribuições diferentes e muitos detalhes a serem verificados. Vou fazer uma explicação geral aqui, pois entendo que o usuário do Linux é experiente. O próprio site do Arduino tem uma seção exclusivamente para detalhes sobre a instalação nas mais diversas distribuições do Linux, que podem ser encontradas no link abaixo:
http://www.arduino.cc/playground/Learning/Linux
De uma forma geral, a instalação no Linux depende da instalação dos seguintes programas (o jeito de instalar as opções abaixo depende da sua distribuição):
Abrindo a IDE do Arduino
Lembra do "arduino.exe" que está na pasta "C:\arduino-0022", mostrado no começo do tutorial? Pois é hora de clicar duas vezes nesse arquivo. Isso fará com que o ambiente de desenvolvimento do Arduino inicie.
Configurando a IDE do Arduino
Com o ambiente iniciado, selecione o menu Tools > Boards e escolha a sua versão do Arduino. Se você está usando um Arduino UNO, a IDE já deve estar configurada por padrão. Mas não deixe de verificar essa opção.
No Windows, uma última coisa a ser verificada é no menu Tools > Serial Port. Selecione a porta COM do seu Arduino. Se você não sabe qual é a porta certa (caso tenha mais de uma), verifique no Gerenciador de Dispositivos (na aba Hardware do item Sistema, no Painel de Controle).
Caso seu Arduino seja o UNO, procure na seção "Portas (COM & LPT)" pela entrada "Arduino UNO (COMxx)", onde "xx" será o número da porta do Arduino.
Caso seu Arduino seja o Duemilanove, Nano ou Diecimila, procure na seção "Portas (COM & LPT)" pela entrada "USB Serial Port (COMxx)", onde "xx" será o número da porta do Arduino.
No Mac OS X, caso seu Arduino seja o UNO ou Mega 2560, a porta serial a ser escolhida deve ser a que começa com "/dev/tty.usbmodem", caso seja uma versão anterior do Arduino (Duemilanove, Mega, Nano ou Diecimila), a porta serial deve ter um nome que começa com "/dev/tty.usbserial".
Conclusão
Bom, espero ter conseguido cobrir as principais maneiras de se instalar o Arduino nos principais sistemas operacionais. Lógico que sempre existe uma situação em particular que não deve estar nesse artigo, mas para quem ainda está experimentando problemas ou tem dúvidas, utilize o campo de comentários para se expressar. Críticas, sugestões e informações adicionais são bem-vindas.
Obrigado!
Renato Aloi
- Instalar o programa de desenvolvimento (conhecido por IDE)
- Instalar o driver USB
Vamos começar pelo Windows. Não importa se é XP, Vista ou 7. Basta baixar a versão denominada apenas "Windows". Não existe instalador, o que você vai baixar é um arquivo compactado, do tipo ZIP. Para abrir este arquivo e descompactar a IDE do Arduino, você precisará de um programa chamado WinRar. Algumas versões de Windows lidam com arquivos ZIP de forma transparente, mas para todos os efeitos, segue o link do programa gratuito WinRar:
- Conecte a placa via cabo USB no computador. O assistente de instalação deve aparecer. Clique em "Avançar" até que o Windows diga que não conseguiu instalar o driver (não se preocupe, é assim mesmo). Clique em "Concluir" para dispensar o assistente.
- Clique então no menu "Iniciar" e selecione a opção "Painel de Controle".
- No painel de controle, clique no ícone "Sistema" (dependendo do Windows, pode estar dentro da categoria "Sistema e Segurança"). Na tela que aparecer, selecione "Hardware" e depois "Gerenciador de Dispositivos" (mais uma vez essa opção pode variar um pouco dependendo da versão do Windows).
- Procure pela opção "Portas (COM & LPT)". Clique no sinal de adição (+) correspondente a essa opção e uma entrada chamada "Arduino UNO (COMxx)" deve aparecer. Pode ser que você não encontre essa entrada na opção "Portas", se for esse o caso, procure por um "Dispositivo Desconhecido" na opção "Outros Dispositivos". Se você tiver mais de um dispositivo desconhecido, ou tiver dúvidas nesse ponto, desligue e religue o cabo do Arduino e preste atenção qual a entrada que some quando você desliga o Arduino e que reaparece quando você o reconecta.
- Clique então na entrada descrita no passo 4 com o botão direito do mouse para aparecer o menu de contexto. Selecione a opção "Atualizar driver...".
- Na tela que aparecer, selecione a opção "Instalar de uma lista ou local específico (Avançado)" e clique em "Avançar".
- Na próxima tela, verifique que a opção selecionada é a "Procurar melhor driver nestes locais". E nas caixas de seleção logo abaixo essa opção, desmarque a primeira, denominada "Pesquisar mídia removível (disquete, CD-ROM...)" e marque a segunda "Incluir este local na pesquisa:". Quando você fizer isso, o campo de pesquisa e o botão "Pesquisar" ficarão disponíveis.
- Clique então no botão "Pesquisar" e localize a pasta "Drivers" que se encontra no local "C:\arduino-0022\drivers\" (se você seguiu os passos de instalação desse tutorial). Atenção: NÃO escolha a sub-pasta "FTDI USB Drivers". Clique em "OK" para concluir a escolha da pasta.
- Agora clique em "Avançar" até concluir a instalação do driver. Pode ser que o Windows apresente uma tela dizendo que o driver pode não ser confiável. Clique na opção que diz para instalar assim mesmo!
- Clique em "Concluir" para finalizar a instalação.
http://arduino.cc/en/Guide/UnoDriversWindowsXP
Quando você conectar o Arduino via cabo USB, o instalador do Windows deve aparecer automaticamente.
No Windows Vista, selecione a opção "Instalar automaticamente" (Realmente funciona!)
No Windows 7 64 bits, baixe e utilize o driver do seguinte link:
http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip
No Windows XP, o assistente de instalação de novo hardware aparecerá, siga os passos abaixo:
- Quando aparecer a tela perguntando "Deseja que o Windows procure automaticamente o driver na internet?", selecione a opção "Não dessa vez" e clique em "Avançar".
- Na tela que aparecer, selecione a opção "Instalar de uma lista ou local específico (Avançado)" e clique em "Avançar".
- Na próxima tela, verifique que a opção selecionada é a "Procurar melhor driver nestes locais". E nas caixas de seleção logo abaixo essa opção, desmarque a primeira, denominada "Pesquisar mídia removível (disquete, CD-ROM...)" e marque a segunda "Incluir este local na pesquisa:". Quando você fizer isso, o campo de pesquisa e o botão "Pesquisar" ficarão disponíveis.
- Clique então no botão "Pesquisar" e localize a pasta "FTDI USB Drivers" que se encontra no local "C:\arduino-0022\drivers\FTDI USB Drivers\" (se você seguiu os passos de instalação desse tutorial). Clique em "OK" para concluir a escolha da pasta.
- Agora clique em "Avançar" até concluir a instalação do driver. Pode ser que o Windows apresente uma tela dizendo que o driver pode não ser confiável. Clique na opção que diz para instalar assim mesmo!
- Quando a instalação terminar, o Windows dirá que o "USB Serial Converter" foi instalado. Clique em "Concluir" para finalizar a instalação.
- Nesse momento, outro assistente de instalação de hardware deve aparecer. Siga novamente os passos acima, mas desta vez, ao terminar o Windows dirá que o "USB Serial Port" foi instalado. Clique em "Concluir" para finalizar essa segunda instalação.
Instalando Arduino no Mac OS X
Após fazer o download, conforme indicado no início deste tutorial, a imagem de disco (.dmg) deve abrir automaticamente. Caso isso não aconteça, clique duas vezes sobre o arquivo "arduino-0022.dmg".
Para o Arduino UNO e Mega 2560, apenas copie a pasta do Arduino para sua pasta de Aplicações. Não é necessário instalar nenhum driver.
Se você estiver usando uma versão anterior (Duemilanove, Mega, Nano ou Diecimila) não esqueça de instalar o driver do FTDI, clicando duas vezes no arquivo "FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg" e siga as instruções do instalador. Você precisará reiniciar o computador após a instalação do driver.
Instalando Arduino no Linux
Acredito que a instalação mais complicada de ser explicada é a do Linux, pois existem muitas distribuições diferentes e muitos detalhes a serem verificados. Vou fazer uma explicação geral aqui, pois entendo que o usuário do Linux é experiente. O próprio site do Arduino tem uma seção exclusivamente para detalhes sobre a instalação nas mais diversas distribuições do Linux, que podem ser encontradas no link abaixo:
http://www.arduino.cc/playground/Learning/Linux
De uma forma geral, a instalação no Linux depende da instalação dos seguintes programas (o jeito de instalar as opções abaixo depende da sua distribuição):
- openjdk-6-jre (emmbora o java runtime da Sun deve funcionar também: sun-java6-jre)
- avr-gcc (conhecido por "gcc-avr"), versão 4.3.2 ou versões 4.3.x (Versões 4.4.x e 4.5.x apresentam vários problemas)
- Versão 4.3.0 tem um problema que afeta multiplicação de inteiros longos. Esta é a versão padrão do Ubuntu Intrepid (8.10). Verifique usando o comando "avr-gcc --version" e atualize-a se necessário.
- Versões ateriores a 4.3.0 não suportam o ATmega328 (que vem com o Arduino Duemilanove).
- Quem roda versões das distribuições como Hardy Heron (Ubuntu) ou Etch (Debian) e anteriores precisarão atualizar suas versões do avr-gcc.
- avr-gcc-c++ (Senão você experimentará o erro: Cannot run program "avr-g++": java.io.IOException:Error=2: No such file or directory)
- avr-libc
Abrindo a IDE do Arduino
Lembra do "arduino.exe" que está na pasta "C:\arduino-0022", mostrado no começo do tutorial? Pois é hora de clicar duas vezes nesse arquivo. Isso fará com que o ambiente de desenvolvimento do Arduino inicie.
Configurando a IDE do Arduino
Com o ambiente iniciado, selecione o menu Tools > Boards e escolha a sua versão do Arduino. Se você está usando um Arduino UNO, a IDE já deve estar configurada por padrão. Mas não deixe de verificar essa opção.
No Windows, uma última coisa a ser verificada é no menu Tools > Serial Port. Selecione a porta COM do seu Arduino. Se você não sabe qual é a porta certa (caso tenha mais de uma), verifique no Gerenciador de Dispositivos (na aba Hardware do item Sistema, no Painel de Controle).
Caso seu Arduino seja o UNO, procure na seção "Portas (COM & LPT)" pela entrada "Arduino UNO (COMxx)", onde "xx" será o número da porta do Arduino.
Caso seu Arduino seja o Duemilanove, Nano ou Diecimila, procure na seção "Portas (COM & LPT)" pela entrada "USB Serial Port (COMxx)", onde "xx" será o número da porta do Arduino.
No Mac OS X, caso seu Arduino seja o UNO ou Mega 2560, a porta serial a ser escolhida deve ser a que começa com "/dev/tty.usbmodem", caso seja uma versão anterior do Arduino (Duemilanove, Mega, Nano ou Diecimila), a porta serial deve ter um nome que começa com "/dev/tty.usbserial".
Conclusão
Bom, espero ter conseguido cobrir as principais maneiras de se instalar o Arduino nos principais sistemas operacionais. Lógico que sempre existe uma situação em particular que não deve estar nesse artigo, mas para quem ainda está experimentando problemas ou tem dúvidas, utilize o campo de comentários para se expressar. Críticas, sugestões e informações adicionais são bem-vindas.
Obrigado!
Renato Aloi
quarta-feira, 24 de novembro de 2010
Universo Paralelo
Internet de graça, fornecida pelo Governo, pelo ar, pela terra, pelo mar, via conexão discada, via banda larga, internet paga.
De graça ou paga? Fornecida por empresas ou pelo Governo? Porque a Internet é tão necessária, tão vital?
A melhor definição sobre o assunto que vi esses dias foi que ninguém quer ficar sem Internet, pois quem está sem Internet, está vivendo em um “Universo Paralelo”.
Outro depoimento que vi foi o de um capixaba de uma cidade do interior, com no máximo duzentos e cinquenta mil habitantes, sobre a conclusão das pequenas empresas da cidade em se unir e montar um sistema de provimento de Internet via Wireless para a cidade toda! Duvido que ANATEL tenha sequer conhecimento deste fato!
O capixaba ainda falou que cansaram de esperar pelas grandes empresas...
Isso me chamou muito a atenção! Como assim cansaram de esperar as grandes empresas? A impressão que tenho que o Brasil ainda não chegou nesses lugares. E que a TV noticia como se fosse um milagre da tecnologia!
Mas não é! Apenas uma deficiência que vem se arrastando por anos nas políticas públicas sobre fornecimento de serviços básicos garantidos pela Constituição.
O milagre da tecnologia é outro! Ele finalmente rompe o lacre que sempre garantiu às empresas estrangeiras exclusividade no domínio da técnica, da tecnologia. O Brasil está absorvendo muito bem esses aprendizados e consegue se destacar nas áreas de configuração e programação.
A área de Hardware sempre foi e “sempre” será dominada pelos países que tem a indústria muito bem desenvolvida, mas o Brasil é um grande produtor de commodities e pode compensar a falta da indústria bem montada por uma rede de serviços de primeira qualidade!
Se órgãos como a ANATEL dessem abertura para empresas menores de serviços, assim como Submarino e Americanas fizeram com seus serviços de entregas (para não falir, diga-se de passagem!), as empresas de serviço telefônico poderiam cadastrar para prestar manutenção nos postes; em contrapartida, empresas de tecnologias como a minha poderiam criar canais de comunicações privados entre empresas e baixar o custo de comunicação, por exemplo.
Sinto inveja dos capixabas que construíram sua própria Internet! Como diz o Obama: Yes! We Can! As empresas brasileiras de TI estão mais do que preparadas para lidar com essas tecnologias e prontas para se especializar no que o Governo exigir.
Ou seja, na minha opinião existe uma alternativa entre o controle total do Governo e a venda da concessão para uma empresa estrangeira por muito dinheiro! Tá legal, eu sei que as vezes o Erário precisa ser recomposto, mas será não está na hora de virar o foco para as empresas e profissionais brasileiros?
Renato Aloi
De graça ou paga? Fornecida por empresas ou pelo Governo? Porque a Internet é tão necessária, tão vital?
A melhor definição sobre o assunto que vi esses dias foi que ninguém quer ficar sem Internet, pois quem está sem Internet, está vivendo em um “Universo Paralelo”.
Outro depoimento que vi foi o de um capixaba de uma cidade do interior, com no máximo duzentos e cinquenta mil habitantes, sobre a conclusão das pequenas empresas da cidade em se unir e montar um sistema de provimento de Internet via Wireless para a cidade toda! Duvido que ANATEL tenha sequer conhecimento deste fato!
O capixaba ainda falou que cansaram de esperar pelas grandes empresas...
Isso me chamou muito a atenção! Como assim cansaram de esperar as grandes empresas? A impressão que tenho que o Brasil ainda não chegou nesses lugares. E que a TV noticia como se fosse um milagre da tecnologia!
Mas não é! Apenas uma deficiência que vem se arrastando por anos nas políticas públicas sobre fornecimento de serviços básicos garantidos pela Constituição.
O milagre da tecnologia é outro! Ele finalmente rompe o lacre que sempre garantiu às empresas estrangeiras exclusividade no domínio da técnica, da tecnologia. O Brasil está absorvendo muito bem esses aprendizados e consegue se destacar nas áreas de configuração e programação.
A área de Hardware sempre foi e “sempre” será dominada pelos países que tem a indústria muito bem desenvolvida, mas o Brasil é um grande produtor de commodities e pode compensar a falta da indústria bem montada por uma rede de serviços de primeira qualidade!
Se órgãos como a ANATEL dessem abertura para empresas menores de serviços, assim como Submarino e Americanas fizeram com seus serviços de entregas (para não falir, diga-se de passagem!), as empresas de serviço telefônico poderiam cadastrar para prestar manutenção nos postes; em contrapartida, empresas de tecnologias como a minha poderiam criar canais de comunicações privados entre empresas e baixar o custo de comunicação, por exemplo.
Sinto inveja dos capixabas que construíram sua própria Internet! Como diz o Obama: Yes! We Can! As empresas brasileiras de TI estão mais do que preparadas para lidar com essas tecnologias e prontas para se especializar no que o Governo exigir.
Ou seja, na minha opinião existe uma alternativa entre o controle total do Governo e a venda da concessão para uma empresa estrangeira por muito dinheiro! Tá legal, eu sei que as vezes o Erário precisa ser recomposto, mas será não está na hora de virar o foco para as empresas e profissionais brasileiros?
Renato Aloi
quinta-feira, 11 de março de 2010
Sobre hackers e crackers
Ontem tive uma discussão acalorada com o Sr. Coriolano sobre hackers e tecnologia.
Peço desculpas ao amigo Coriolano se o ofendi de alguma forma com meu jeito esquisito de expressar minhas opiniões.
Mas gostaria de deixar aqui algumas linhas sobre o assunto.
Realmente o termo "hacker" caiu na boca do povo, principalmente depois do lançamento de um filme que tinha por nome exatamente o assunto em questão, e que mostrava um bando de adolescentes com computadores coloridos, invadindo sistemas e literalmente "tocando o puteiro"!
Desde então o termo se tornou pejorativo e passa imagem de um sujeito sem nada na cabeça e que quer apenas se divertir assustando e prejudicando os outros.
Atualmente o hacker foi reconhecido pela sociedade como Analista de Segurança em TI. Perfeito. O grande problema é que o antônimo de analista de segurança foi absorvido como Hacker!
Mas existe uma grande diferença entre o analista de segurança e o hacker, pois o primeiro estuda para tal, o segundo, nasceu para tal. E este último grupo não fez faculdade, não se mestrou em nada, mas manipula computadores como ninguém.
Muitos acabam caindo no crime simplesmente, pois não se interessaram por mais nada. Esqueceram de estudar um pouco de administração e negócios. Ou seja, esqueceram que estão com a faca e o queijo nas mãos... Resultado: saem esfaqueando instituições e sonham em "tomar o poder", dada tamanha dependência atual da sociedade nos tais computadores.
Só que a dependência da sociedade nos computadores não é o único problema, também existe o excesso de informações e a velocidade com que as coisas mudam, nesta área. Precisamos estar prontamente preparados para aceitar mudanças a todo tempo. É a velocidade da internet.
As distâncias se encurtaram, os concorrentes agora batem na porta da internet! Estão por todos os lados! O mundo globalizou! Agora não existe mais espaço para ofertas de serviços de baixa qualidade! Quem dirá para corrupção e morosidade!
Antes se a preocupação geral era se o leite iria aumentar, hoje isso é banalidade. Estamos preocupados com os traficantes sexuais do outro lado do mundo! Estamos preocupados com a velocidade com que nossos filhos tem acesso as informações! Temos medo daqueles emails de banco que nem temos conta dizendo que estamos devendo mundos e fundos e nos pedem para clicar em um link!
Meu Deus! Há dez anos eu nem saberia o que é um link! Muitos devem pensar.
É natural do ser humano ter medo, mas medo de tudo é paranóia. E o ser humano já atravessou essa fronteira há muito tempo. Precisamos nos adaptar e rápido. Os filhos dos traficantes que estão nos perturbando pelas ruas à noite são os Crackers de amanhã.
Porque o termo Hacker já ficou velho, perdido lá pelos anos 80.
Pensem nisso!
Abraços,
Renato
Peço desculpas ao amigo Coriolano se o ofendi de alguma forma com meu jeito esquisito de expressar minhas opiniões.
Mas gostaria de deixar aqui algumas linhas sobre o assunto.
Realmente o termo "hacker" caiu na boca do povo, principalmente depois do lançamento de um filme que tinha por nome exatamente o assunto em questão, e que mostrava um bando de adolescentes com computadores coloridos, invadindo sistemas e literalmente "tocando o puteiro"!
Desde então o termo se tornou pejorativo e passa imagem de um sujeito sem nada na cabeça e que quer apenas se divertir assustando e prejudicando os outros.
Atualmente o hacker foi reconhecido pela sociedade como Analista de Segurança em TI. Perfeito. O grande problema é que o antônimo de analista de segurança foi absorvido como Hacker!
Mas existe uma grande diferença entre o analista de segurança e o hacker, pois o primeiro estuda para tal, o segundo, nasceu para tal. E este último grupo não fez faculdade, não se mestrou em nada, mas manipula computadores como ninguém.
Muitos acabam caindo no crime simplesmente, pois não se interessaram por mais nada. Esqueceram de estudar um pouco de administração e negócios. Ou seja, esqueceram que estão com a faca e o queijo nas mãos... Resultado: saem esfaqueando instituições e sonham em "tomar o poder", dada tamanha dependência atual da sociedade nos tais computadores.
Só que a dependência da sociedade nos computadores não é o único problema, também existe o excesso de informações e a velocidade com que as coisas mudam, nesta área. Precisamos estar prontamente preparados para aceitar mudanças a todo tempo. É a velocidade da internet.
As distâncias se encurtaram, os concorrentes agora batem na porta da internet! Estão por todos os lados! O mundo globalizou! Agora não existe mais espaço para ofertas de serviços de baixa qualidade! Quem dirá para corrupção e morosidade!
Antes se a preocupação geral era se o leite iria aumentar, hoje isso é banalidade. Estamos preocupados com os traficantes sexuais do outro lado do mundo! Estamos preocupados com a velocidade com que nossos filhos tem acesso as informações! Temos medo daqueles emails de banco que nem temos conta dizendo que estamos devendo mundos e fundos e nos pedem para clicar em um link!
Meu Deus! Há dez anos eu nem saberia o que é um link! Muitos devem pensar.
É natural do ser humano ter medo, mas medo de tudo é paranóia. E o ser humano já atravessou essa fronteira há muito tempo. Precisamos nos adaptar e rápido. Os filhos dos traficantes que estão nos perturbando pelas ruas à noite são os Crackers de amanhã.
Porque o termo Hacker já ficou velho, perdido lá pelos anos 80.
Pensem nisso!
Abraços,
Renato
Assinar:
Postagens (Atom)