Conteúdo sugerido


O projeto iniciou-se na cidade de Ivrea, Itália, em 2005, com o intuito de interagir em projetos escolares de forma a ter um orçamento menor que outros sistemas de prototipagem disponíveis naquela época.

A plataforma Arduino foi desenvolvida na Itália e, por ser uma plataforma aberta, várias versões surgiram e qualquer pessoa pode facilmente construir a sua, com base nos protótipos disponíveis na internet.

Arduíno é uma plataforma de prototipagem eletrônica de hardware livre, projetada com um microcontrolador ATMEL AVR com uma linguagem de programação padrão, na qual tem origem em Wiring, e é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por artistas e amadores. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas.

O Desenvolvimento de Sistemas com Microcontroladores exigia uma grande capacitação dos envolvidos enquanto se era necessário conhecer profundamente a arquitetura do microcontrolador, lidar com linguagens de programação de baixo nível e fazer operações diretamente em registradores. 

Plataformas como o arduino aumentaram muito o acesso à esses dispositivos uma vez que abstraiu várias camadas do desenvolvimento, ou seja, foi feita uma padronização do hardware e software básico para os microcontroladores e o programador pode atuar com funções que já foram escritas. As funções que exigiam um nível maior de conhecimento já estão implementadas nas bibliotecas e iniciantes não precisam sequer tomar conhecimento de sua existência.


Um programa básico para arduino tem duas funções:

Setup() - É executada uma única vez quando a máquina é ligada

Loop() - Fica sendo executada de forma contínua até que a máquina seja desligada ou o botão de reset for pressionado. 


O Software abaixo é o básico Blink, faz com que um Led que foi ligada à um pino da placa (normalmente todas as placas já vêm com um led ligado ao pino 13)fique piscando eternamente.

Note que em Setup(), a função pinmode(13, OUTPUT) é executada apenas para configurar o dito pino como uma saída.

Se fosse um botão, por exemplo, nós a configuraríamos como uma entrada.

Dentro do Loop nós ligamos ou desligamos o Led com a função digitalWrite(), e para dar tempo a nossos olhos verem o que está acontecendo se coloca um comando delay(1000) no meio. Isso quer dizer que o sistema vai ficar parado(isso mesmo, morto, perdido, cego) durante 1 segundo.

digitalWrite(13,HIGH); ascende o led e digitalWrite(13,LOW)  apaga o led.

Note que foi de propósito que eu usei o número 13 ao invés da variável Led aqui. As duas coisas funcionariam exatamente da mesma forma, pois int Led = 13 criou uma variável chamada Led que vale 13, depois se você quiser entender melhor esse negócio, ou se deveria usar uma constante ao invés de variável para fazer a mesma coisa ... acesse o conteúdo programação. 


/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Atividades recentes

  • FERNANDO GOMES reagiu a Arduino: Seguindo ÚtilSábado, 16.01.2016 12:11
  • Kako Guirado reagiu a Arduino: SeguindoSegunda, 21.12.2015 14:39
  • João Gabriel Benedito Duarte reagiu a Arduino: SeguindoSábado, 12.12.2015 18:23
  • Matheus da Silva Borges reagiu a Arduino: SeguindoSábado, 28.11.2015 23:08
  • Marcos Camargo reagiu a Arduino: SeguindoQuinta, 19.11.2015 15:14
  • Henrique Braga Foresti

    Videos muito didáti­cos para Apren­der pro­gra­mação de arduino , mon­ta­gens eletrôni­cas , etc .. Do básico ao avançado.

    • Terça, 10.03.2015 15:20
    • Henri Coelho Terça, 10.03.2015 17:20:

      São muito inter­es­santes e bem apre­sen­ta­dos… Mesmo com as lim­i­tações ini­ci­ais do Renato Aloi, como a câmera sem foco rssss, são muito bons para ini­ciar a programação.

  • Jardel Martins

    Aqui! To ten­tando desen­volver um pro­jeto, onde eu escolho a mar­cha (1,2,3,4,5 e R) e o car­rinho desen­volve­ria den­tro de uma certa veloci­dade, porém não quero usar o poten­ciômetro. Já que eu quero controla-​lo via Blue­tooth e inter­net. Eu já con­sigo ligar os motores, e con­sigo colo­car a Ré, porém, não con­seguir dividir a veloci­dade dos motores. Alguém pode me dar uma LUZ?

    • Sábado, 24.01.2015 14:00
    • Ariovaldo

      Ariovaldo Capuano Neto Terça, 27.01.2015 17:34:

      Você pode­ria usar alguns tran­si­s­tores MOS­FET para con­tro­lar a cor­rente que chega na ponte H.

    • José

      José Luiz Britto dos Santos Segunda, 12.10.2015 10:40:

      Você esta usando sinal PWM para con­tro­lar veloci­dade motor?

  • Claudio Fernandes

    Eai pes­soal sou novo aqui no site e gostaria de per­gun­tar a vocês o seguinte:

    Estou querendo pas­sar as leituras do giroscó­pio e acelerometro para um pro­grama em arduino, como faço essa trans­mis­são alguém tem uma dica ?

  • Vítor Godoy Souza

    delay(TEMPO): faz o arduino “parar”, ou “esperar” esse TEMPO digitado
    pinMode(PINO,OUTPUT); DIZ QUE O PINO É DE SAÍDA
    pinMode(PINO,INPUT); DIZ QUE O PINO É DE ENTRADA
    digitalWrite(PINO,HIGH); == LIGA
    digitalWrite(PINO,LOW); == DESLIGA
    digitalRead(PINO) == RECEBE O VALOR DO PINO (DIG­I­TAL)
    analogWrite(PINO PWM, NUMERO DE 0 A 255); == ENVIA PARA O PINO UMA VOLT­AGEM PRO­POR­CIONAL AO NUMERO DIG­I­TADO
    analogRead(PINO); == RECEBE O VALOR DO PINO (ANA­LOGICO)
    if(CONDICAO) {} == EXE­CUTA O QUE TA DEN­TRO DOS COCHETES SE A CONDIÇÃO FOR VER­DADEIRA
    else{} == SE A CONDIÇÃO DO “if {}” NÃO FOR SAT­IS­FEITA, EXE­CU­TARÁ O QUE ESTÁ DEN­TRO DOS COCHETES DO ELSE
    while(CONDICAO) {} == ENQUANTO A CONDIÇÃO FOR VER­DADEIRA, REPE­TIRÁ O QUE ESTÁ DEN­TRO DOS COCHETES
    E SEM­PRE TEM:
    void setup()
    {
    }
    E
    void loop()
    {
    }

    • Gabriel

      Gabriel hasmann Terça, 12.11.2013 22:25:

      Cara, mas muito obri­gado, mas sou ini­ciante e vc expli­cou tudo com muita clareza, obri­gado obri­gadode verdade

  • Vítor Godoy Souza

    pinMode(PINO,OUTPUT); DIZ QUE O PINO É DE SAÍDA
    pinMode(PINO,INPUT); DIZ QUE O PINO É DE ENTRADA
    digitalWrite(PINO,HIGH); == LIGA
    digitalWrite(PINO,LOW); == DESLIGA
    digitalRead(PINO) == RECEBE O VALOR DO PINO (DIG­I­TAL)
    analogWrite(PINO PWM, NUMERO DE 0 A 255); == ENVIA PARA O PINO UMA VOLT­AGEM PRO­POR­CIONAL AO NUMERO DIG­I­TADO
    analogRead(PINO); == RECEBE O VALOR DO PINO (ANA­LOGICO)
    if(CONDICAO) {} == EXE­CUTA O QUE TA DEN­TRO DOS COCHETES SE A CONDIÇÃO FOR VER­DADEIRA
    else{} == SE A CONDIÇÃO DO “if {}” NÃO FOR SAT­IS­FEITA, EXE­CU­TARÁ O QUE ESTÁ DEN­TRO DOS COCHETES DO ELSE
    while(CONDICAO) {} == ENQUANTO A CONDIÇÃO FOR VER­DADEIRA, REPE­TIRÁ O QUE ESTÁ DEN­TRO DOS COCHETES
    E SEM­PRE TEM:
    void setup()
    {
    }
    E
    void loop()
    {
    }