• Nenhum resultado encontrado

Arduino. Introdução aos Componentes Básicos. Leonardo Mauro P. Moraes. Universidade Federal de Mato Grosso do Sul - UFMS.

N/A
N/A
Protected

Academic year: 2021

Share "Arduino. Introdução aos Componentes Básicos. Leonardo Mauro P. Moraes. Universidade Federal de Mato Grosso do Sul - UFMS."

Copied!
61
0
0

Texto

(1)

Leonardo Mauro P. Moraes - UFMS/CPPP

Arduino

Introdução aos Componentes Básicos

Leonardo Mauro P. Moraes

Universidade Federal de Mato Grosso do Sul - UFMS Ponta Porã - MS

(2)

Leonardo Mauro P. Moraes - UFMS/CPPP

1 Introdução

2 Arduino

3 Componentes

(3)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução Arduino 1 Introdução Arduino Versões Segurança 2 Arduino 3 Componentes 4 Encerramento

(4)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução

Arduino

O que é o Arduino?

Arduino é uma plataforma de prototipagem eletrônica de hardware livre, com suporte de entrada/saída embutido e uma linguagem de programação padrão, a qual tem origem em Wiring (essencialmente C/C++).

Arduino é uma ferramenta para criar computadores que podem sentir e controlar mais o mundo que seu PC. Ele é uma plataforma física de computação de código aberto baseado numa simples placa microcontroladora, e um ambiente de desenvolvimento para escrever o código da placa.

(5)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução

Arduino

Exemplos

(6)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução Versões

Versões Famosas

(a)Mega (b)Uno (c) Nano

(7)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução Versões

Versões Famosas

(a)Due (b)Intel Galileo

(8)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução

Versões

Versões Famosas

(a)Flora (b)Lilypad

(9)

Leonardo Mauro P. Moraes - UFMS/CPPP Introdução

Segurança

Segurança: Importante!

Não utilize "fios"totalmente desencapados;

Observe a utilização de resistores em alguns componentes; Não conecte em fontes de alta voltagem;

Desconecte do computador ao mexer no circuito; Evite conectar algo sem saber o que está fazendo.

(10)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino Placa 1 Introdução 2 Arduino Placa Programação 3 Componentes 4 Encerramento

(11)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino Placa

Principais Portas

GND - Pino Tera; 5V e 3.3V - Pino Energia; 0 a 13 - Portas Digitais; A0 e A5 - Portas Analogicas.

(12)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino

Programação

"Hello World"

1. Instalar a IDE;

2. Plugar e instalar o driver do Arduino;

(Caso não dê para instalar: Atualizar o driver em Gerenciador de Dispositivos);

3. Ferramentas Õ Placa Õ Arduino UNO;

4. Ferramentas Õ Porta Õ (Selecionar Porta);

(13)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino

Programação

"Hello World"

Setup():

Executado uma única vez, é a inicialização do programa;

Loop():

Função principal, realiza repetições enquanto o Arduino estiver ligado.

(14)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino Programação

"Hello World"

Setup() v o i d s e t u p( ) { // S e t a p o r t a d i g i t a l 13 como s a i d a pinMode( 1 3 , OUTPUT) ; } Loop() v o i d l o o p( ) { // Exemplo p a r a p i s c a r o LED d i g i t a l W r i t e( 1 3 , HIGH) ; d e l a y( 1 0 0 0 ) ; d i g i t a l W r i t e( 1 3 , LOW) ; d e l a y( 1 0 0 0 ) ; }

(15)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino Programação

Conceitos

Declaração: int Led = 13; Case-sensitive. Setup: pinMode(Led, OUTPUT); OUTPUT ou INPUT ;

Define o modo de operação do pino.

Declaração

// D e c l a r a c a o de v a r i a v e l

i n t Led = 1 3 ;

v o i d s e t u p( ) {

pinMode(Led, OUTPUT) ; }

(16)

Leonardo Mauro P. Moraes - UFMS/CPPP Arduino Programação

Conceitos

Loop: digitalWrite(Led, HIGH); HIGH = Ligar (1); LOW = Desligar (0); delay(200);

Esta função faz com que o processo fique parado por 200 ms; Declaração v o i d l o o p( ) { // Exemplo p a r a p i s c a r o LED, // com v a r i a v e l d i g i t a l W r i t e(Led, HIGH) ; d e l a y( 2 0 0 ) ; d i g i t a l W r i t e(Led, LOW) ; d e l a y( 2 0 0 ) ; }

(17)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Base 1 Introdução 2 Arduino 3 Componentes Base Buzzer

Pulse Width Modulation Potenciômetro Mensagem Serial Sensor de Luminosidade Push Button Sensor de Temperatura 4 Encerramento

(18)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Introdução

Componentes Base:

Componentes, normalmente, necessários para a realização de projetos;

Protoboard; Jumper; Led; Resistores;

(19)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Protoboard

(20)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Jumper

(21)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Protoboard + Jumper

(22)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Led

Figura:Led: Lampadas coloridas de baixa voltagem.

Importante: A "perna"maior do Led sempre será

conectada ao resistor;

(23)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Resistores

(24)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Resistores

Finalidade: diminuir a tensão

entre os terminais; Medido em OHMs;

Fórmula: V = R * I;

V: voltagem/tensão (Volts - V);

R: resistência (OHMs -Ω);

I: Intensidade (Amperes - A).

Problema

Um aluno precisa ligar um led ao Arduino. Sabendo que o Arduino Trabalha em 5 Volts e o Led usa apenas 2 Volts numa corrente de 10 mA. Calcule a resistência que é necessária para o led acender sem queimar.

(25)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Base

Resistores

(26)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Base

Projeto 1

Lembre-se: "Perna"menor do Led no GND; "Perna"maior do Led no resistor no pino 7. Problema

Usando a porta 7 do Arduino, acenda um led durante 2 segundos e apague por 1/3 segundo.

(27)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Base

Projeto 1

Figura:Circuito. Código /∗ P r o j e t o 1 ∗/ i n t Led = 7 ; v o i d s e t u p( ) {

pinMode(Led, OUTPUT) ; } v o i d l o o p( ) { d i g i t a l W r i t e(Led, HIGH) ; d e l a y( 2 0 0 0 ) ; d i g i t a l W r i t e(Led, LOW) ; d e l a y( 3 0 0 ) ; }

(28)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Base

Projeto 2

Problema Faça um semáforo:

Tem 3 estados de luzes: apenas vermelho; apenas verde; ou a amarelo piscando.

O semáforo fica verde por 2 segundos;

O semáforo fica vermelhor por 4 segundos;

A luz amarela pisca 5 vezes antes de mudar para o verde, isso demora 2 segundos.

(29)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Base

Projeto 2

Código /∗ P r o j e t o 2 ∗/ i n t Vermelho = 3 ; i n t Amarelo = 4 ; i n t Verde = 5 ; v o i d s e t u p( ) {

pinMode(Vermelho, OUTPUT) ; pinMode(Amarelo, OUTPUT) ; pinMode(Verde, OUTPUT) ; } v o i d l o o p( ) { i n t i; // Vermelho d i g i t a l W r i t e(Vermelho, HIGH) ; d i g i t a l W r i t e(Amarelo, LOW) ; d i g i t a l W r i t e(Verde, LOW) ; d e l a y( 4 0 0 0 ) ; // Amarelo d i g i t a l W r i t e(Vermelho, LOW) ; f o r(i=0; i<5; i++){ d i g i t a l W r i t e(Amarelo, HIGH) ; d e l a y( 2 0 0 ) ; d i g i t a l W r i t e(Amarelo, LOW) ; d e l a y( 2 0 0 ) ; } // Verde d i g i t a l W r i t e(Verde, HIGH) ; d e l a y( 2 0 0 0 ) ; }

(30)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Buzzer

Buzzer

(31)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Buzzer

Projeto 3

Figura:Circuito. Problema Faça o Buzzer apitar durante 0.5 segundo de 1 em 1 segundo.

(32)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Buzzer

Projeto 3

Figura:Circuito. Código /∗ P r o j e t o 3 ∗/ i n t B u z z e r = 3 ; v o i d s e t u p( ) {

pinMode(Buzzer, OUTPUT) ; } v o i d l o o p( ) { d i g i t a l W r i t e(Buzzer, HIGH) ; d e l a y( 5 0 0 ) ; d i g i t a l W r i t e(Buzzer, LOW) ; d e l a y( 1 0 0 0 ) ; }

(33)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Pulse Width Modulation

Pulse Width Modulation - PWM

Significa Modulação por largura de pulso;

Liga e desliga a porta tão rapidamente que nossos olhos não conseguem enxergar;

Utilizado para controlar intensidade;

Há 6 saídas PWM no Arduino UNO; São as

portas que tem o antes do

número. Como fazer? PWM v o i d l o o p( ) { // p o r t a d i g i t a l 11 − 0% a n a l o g W r i t e( 1 1 , 0 ) ; // p o r t a d i g i t a l 11 − 25% a n a l o g W r i t e( 1 1 , 6 4 ) ; // p o r t a d i g i t a l 11 − 50% a n a l o g W r i t e( 1 1 , 1 2 7 ) ; // p o r t a d i g i t a l 11 − 75% a n a l o g W r i t e( 1 1 , 1 9 1 ) ; // p o r t a d i g i t a l 11 − 100% a n a l o g W r i t e( 1 1 , 2 5 5 ) ; }

(34)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Pulse Width Modulation

Projeto 4

Problema:

Utilize uma das saídas PWM do Arduino para acender um led de forma dimerizada (de 0 a 100%), ida e volta. Como fazer? PWM v o i d l o o p( ) { // p o r t a d i g i t a l 11 − 0% a n a l o g W r i t e( 1 1 , 0 ) ; // p o r t a d i g i t a l 11 − 25% a n a l o g W r i t e( 1 1 , 6 4 ) ; // p o r t a d i g i t a l 11 − 50% a n a l o g W r i t e( 1 1 , 1 2 7 ) ; // p o r t a d i g i t a l 11 − 75% a n a l o g W r i t e( 1 1 , 1 9 1 ) ; // p o r t a d i g i t a l 11 − 100% a n a l o g W r i t e( 1 1 , 2 5 5 ) ; }

(35)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Pulse Width Modulation

Projeto 4

Código

/∗ P r o j e t o 4 ∗/

i n t Led = 1 1 ;

v o i d s e t u p( ) {

pinMode(Led, OUTPUT) ; } v o i d l o o p( ) { i n t i; f o r(i=0; i<256; i++){ a n a l o g W r i t e(Led, i) ; } f o r(i=255; i>=0; i−−){ a n a l o g W r i t e(Led, i) ; } }

(36)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Potenciômetro

Potenciômetro

Figura:Potenciômetro: componente eletrônico que possui resistência

(37)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Potenciômetro

Potenciômetro

Declaração: pinMode(pino, INPUT): Declara que o pino do potenciômetro é de entrada de dados;

var = analogWrite(pino):

Faz a leitura analógica do potenciômetro e salva em armazenamento.

Como fazer? Potenciômetro /∗ P o t e n c i o m e t r o ∗/

i n t Pot = A0;

v o i d s e t u p( ) {

pinMode(Pot, INPUT) ; }

v o i d l o o p( ) {

i n t l e i t u r a;

l e i t u r a = a n a l o g R e a d(Pot) ; }

(38)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Potenciômetro

Projeto 5

Figura:Circuito. Problema

Faça o led piscar mais rápido ou mais

devagar conforme o giro do

(39)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Potenciômetro

Projeto 5

Figura:Circuito. Código /∗ P r o j e t o 5 ∗/ i n t Pot = A0; i n t Led = 7 ; v o i d s e t u p( ) {

pinMode(Pot, INPUT) ; pinMode(Led, OUTPUT) ; } v o i d l o o p( ) { i n t l e i t u r a = 3 ∗ a n a l o g R e a d(Pot) ; d i g i t a l W r i t e(Led, HIGH) ; d e l a y(l e i t u r a) ; d i g i t a l W r i t e(Led, LOW) ; d e l a y(l e i t u r a) ; }

(40)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Mensagem Serial

Mensagem Serial

Declaração: Serial.begin(9600): Configuração da taxa de transferência; Serial.println(msg): Transmite por serial a mensagem com quebra de linha;

Serial.print(msg): Transmite por serial a mensagem sem quebra de linha.

Aplicação:

Basicamente um meio para transmitir mensagens

console, para o

computador;

Possui diversos canais para o uso de mais de um Arduino, simultaneamente;

(41)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Mensagem Serial

Projeto 6

Como fazer? Mensagem Serial // S e t a s a i d a d a s mensagens v o i d s e t u p( ) { S e r i a l.b e g i n( 9 6 0 0 ) ; } v o i d l o o p( ) { i n t v a r = 5 ; S e r i a l.p r i n t(" Mensagem : ") ; S e r i a l.p r i n t l n(v a r) ; } Problema Leia o valor do potenciômetro e imprima no console (9600).

(42)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Mensagem Serial

Projeto 6

Código /∗ P r o j e t o 6 ∗/ i n t Pot = A0; v o i d s e t u p( ) { S e r i a l.b e g i n( 9 6 0 0 ) ; pinMode(Pot, INPUT) ; } v o i d l o o p( ) { i n t l e i t u r a = a n a l o g R e a d(Pot) ; S e r i a l.p r i n t(" P o t e n c i o m e t r o : ") ; S e r i a l.p r i n t l n(l e i t u r a) ; }

(43)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Sensor de Luminosidade

Sensor de Luminosidade - LDR

Figura:Sensor de Luminosidade: componente eletrônico que realiza

(44)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Sensor de Luminosidade

Projeto 7

Figura:Circuito. Problema Leia o sensor de luminosidade e acenda um led, caso esteja baixo o valor.

(45)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Sensor de Luminosidade

Projeto 7

Figura:Circuito. Código // Lendo S e n s o r i n t Pot = A0; v o i d s e t u p( ) {

pinMode(Pot, INPUT) ; }

v o i d l o o p( ) {

i n t l e i t u r a = a n a l o g R e a d(Pot) ;

(46)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Sensor de Luminosidade

Projeto 7

Código /∗ P r o j e t o 7 ∗/ i n t Pot = A0; i n t Led = 7 ; v o i d s e t u p( ) {

pinMode(Pot, INPUT) ; pinMode(Led, OUTPUT) ; } v o i d l o o p( ) { i n t l e i t u r a = a n a l o g R e a d(Pot) ; i f(l e i t u r a < xxx) { d i g i t a l W r i t e(Led, HIGH) ; } e l s e{ d i g i t a l W r i t e(Led, LOW) ; } }

(47)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Push Button

Push Button

Figura:Push Button: componente de toque, ao ser pressionado é

(48)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Push Button

Push Button

(49)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Push Button

Push Button

Figura:Circuito. Código // L e i t u r a de Botao i n t Button = 2 ; v o i d s e t u p( ) { S e r i a l.b e g i n( 9 6 0 0 ) ; pinMode(Button, INPUT) ; }

v o i d l o o p( ) {

i n t l e i t u r a = d i g i t a l R e a d(Button) ;

S e r i a l.p r i n t l n(" C l i c k : "+l e i t u r a) ; }

(50)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Push Button

Projeto 8

Figura:Circuito. Problema

Implementar um mecanismo de senha, no qual deve-se saber se os botões foram clicados na ordem correta, so então o led será acesso.

Lembre-se: utilizar 3 botões para gerar a senha; a senha pode ter a ordem que você preferir.

(51)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Push Button

Projeto 8

(52)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Push Button

Projeto 8

Código /∗ P r o j e t o 8 ∗/ i n t But1 = 4 ; i n t But2 = 3 ; i n t But3 = 2 ; i n t Led = 7 ; i n t s e n h a = 0 ; v o i d s e t u p( ) { S e r i a l.b e g i n( 9 6 0 0 ) ; pinMode(But1, INPUT) ; pinMode(But2, INPUT) ; pinMode(But3, INPUT) ; pinMode(Led, OUTPUT) ; s e n h a = 0 ; } v o i d l o o p( ) { i n t l e i t u r a 1 = d i g i t a l R e a d(But1) ; i n t l e i t u r a 2 = d i g i t a l R e a d(But2) ; i n t l e i t u r a 3 = d i g i t a l R e a d(But3) ; S e r i a l.p r i n t l n("−−−−−−−−−−−−−−−−−−") ; S e r i a l.p r i n t l n(" Senha : "+s e n h a) ; S e r i a l.p r i n t l n(" C l i c k 1 : "+l e i t u r a 1) ; S e r i a l.p r i n t l n(" C l i c k 2 : "+l e i t u r a 2) ; S e r i a l.p r i n t l n(" C l i c k 3 : "+l e i t u r a 3) ; // Botao 1 i f(s e n h a == 0 && l e i t u r a 1 == 1 ) { s e n h a = 1 ; d e l a y( 1 0 0 0 ) ; } e l s e i f(s e n h a != 0 && l e i t u r a 1 == 1 ) { s e n h a = 0 ; d i g i t a l W r i t e(Led, LOW) ; }

(53)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Push Button

Projeto 8

Código // Botao 2 i f(s e n h a == 1 && l e i t u r a 3 == 1 ) { s e n h a = 2 ; d e l a y( 1 0 0 0 ) ; } e l s e i f(s e n h a != 1 && l e i t u r a 3 == 1 ) { s e n h a = 0 ; d i g i t a l W r i t e(Led, LOW) ; } // Botao 3 i f(s e n h a == 2 && l e i t u r a 3 == 1 ) { s e n h a = 0 ; d i g i t a l W r i t e(Led, HIGH) ; d e l a y( 1 0 0 0 ) ; } e l s e i f(s e n h a != 2 && l e i t u r a 3 == 1 ) { s e n h a = 0 ; d i g i t a l W r i t e(Led, LOW) ; } }

(54)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Sensor de Temperatura

Sensor de Temperatura - LM35

Figura:Sensor de Temperatura: componente eletrônico que realiza

(55)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Sensor de Temperatura

Projeto 9

Figura:Circuito. Problema Faça a leitura do LM35 e acenda um led quando a

temperatura for maior que 30 graus

(multiplique o valor por 0,48875855)

(56)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Sensor de Temperatura

Projeto 9

Figura:Circuito. Código // Lendo S e n s o r i n t Pot = A0; v o i d s e t u p( ) {

pinMode(Pot, INPUT) ; }

v o i d l o o p( ) {

i n t l e i t u r a = a n a l o g R e a d(Pot) ;

(57)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes

Sensor de Temperatura

Projeto 9

(58)

Leonardo Mauro P. Moraes - UFMS/CPPP Componentes Sensor de Temperatura

Projeto 9

Código /∗ P r o j e t o 9 ∗/ i n t Pot = A0; i n t Led = 7 ; v o i d s e t u p( ) {

pinMode(Pot, INPUT) ; pinMode(Led, OUTPUT) ; } v o i d l o o p( ) { i n t l e i t u r a = 0 . 4 8 8 7 5 8 5 5 ∗ a n a l o g R e a d(Pot) ; i f(l e i t u r a > xxx) { d i g i t a l W r i t e(Led, HIGH) ; } e l s e{ d i g i t a l W r i t e(Led, LOW) ; } }

(59)

Leonardo Mauro P. Moraes - UFMS/CPPP Encerramento Projeto 10 1 Introdução 2 Arduino 3 Componentes 4 Encerramento Projeto 10 Referências

(60)

Leonardo Mauro P. Moraes - UFMS/CPPP Encerramento

Projeto 10

Projeto 10 - Final Plus Ultra

Problema

Idéia: Competição de Projetos;

Faça o projeto de sua preferência com os componentes disponíveis;

Utilize pelo menos 5 (cinco) componentes estudados; Lembre-se: Vocês vão apresentar o projeto, no minimo 10 (dez) minutos e no máximo 15 (quinze);

Dupla, de dois.

(61)

Leonardo Mauro P. Moraes - UFMS/CPPP Encerramento Referências

Referências

http://arduino.cc/en/Main/FAQ http://www.arduino.cc/en/Guide/Introduction https://circuits.io

Referências

Documentos relacionados

É importante ressaltar ainda, para a questão do caráter injuntivo que o gênero receita exerce na interação médico e paciente, que, por exemplo, quando o paciente relata que o

Civil, que requerida a habilitação do aquirente do direito em litígio, para com ele prosseguir a causa, e junta prova da aquisição, será notificada a parte contrária para

de 2008, para Cooperativa de Economia e Crédito Mútuo dos Servidores dos Ministérios do Planejamento, Orçamento e Gestão, da Educação, do Desenvolvimento, Indústria e

Estiver divulgando entre os demais cooperados e perante a comunidade a prática de irregularidades na Cooperativa e, quando notificado pelo Conselho Administrativo,

Portanto, a fim de responder a essa demanda, a Plataforma Cidades Sustentáveis, dentro de uma agenda para a sustentabilidade, oferta um conjunto integrado de ferramentas de gestão e

The purpose of this study was to test the hypothesis that high- intensity resistance training with insufficient recovery time between bouts, which could potentially lead to

O proposito do presente estudo foi de analisar eficiência de pausas ativas e passivas na remoção do lactato e no tempo de exaustão em um treinamento de Jump... Nossos

A passagem de uma forma a outra não depende de uma interpretação espacia- lizante (local do meio-termo em relação aos extremos) ou naturalizante (subordinar as espécies a uma