Ir ao conteúdo
  • Cadastre-se

Arduino Pin0 22 Arduino UNO


Ir à solução Resolvido por aphawk,

Posts recomendados

Olá, tudo bem?

Estou utilizando um biblioteca para programar um arduino uno, e um dos pinos que ele utiliza é o 22

Gostaria de saber qual é esse pino no arduino uno, pois procurei em diversos sites e não encontrei. Em anexo estão a melhor imagem que consegui sobre e a parte do codigo que utiliza esse pino.

 

<#define POWER_PIN 22       // The sensor power pin (or -1 if not switching power)

if(POWER_PIN > 0){
    Serial.println("Powering up sensors...");
    pinMode(POWER_PIN, OUTPUT);
    digitalWrite(POWER_PIN, HIGH);
    delay(200);>

 

file:///C:/Users/augus/Downloads/tabela-de-pinos-arduino-uno-r3-em-couche-liso-com-alta-resolucao.jpg 

tabela-de-pinos-arduino-uno-r3-em-couche-liso-com-alta-resolucao.jpg

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

2º o d.s., o pino 22 é gnd

 

microcontrolador-atmega328-p-pu-ci-chip-

 

 

Acho que vou ter um de ja vu triplo ou + a qualquer momento pois duplo já to tendo agora...

Em 20/01/2020 às 11:28, Isadora Ferraz disse:

Por gentileza, queira avaliar o datasheet do seu "mc" atmega e não do "arduíno" mega.

Em 20/01/2020 às 12:21, Isadora Ferraz disse:

permito-me manter a observação do post anterior ok?... Continuo achando interessante e importante avaliar as características internas do mc...

  • Haha 1
Link para o comentário
Compartilhar em outros sites

Em 22/01/2020 às 17:45, Augusto Almeida de Jesus disse:

Estou utilizando um biblioteca para programar um arduino uno, e um dos pinos que ele utiliza é o 22

O arduíno é uma base, não realiza nada por si próprio. Em qualquer utilização é necessário um circuito externo para se conseguir algo de útil. Publique o circuito onde se tem o arduíno com o circuito externo que ficará fácil de determinar o pino correto (está claro para mim que houve um erro de digitação por parte do autor desse projeto).

Link para o comentário
Compartilhar em outros sites

@Sérgio Lembo o circuito será utilizado para sensores via protocolo SDI-12. O sensor deve ser alimentado por 12 V e a tem-se m cabo para comunicação. Estou alimentado o arduino com a mesma fonte que alimento o sensor, e, mesmo assim, não está funcionando.

Link para o comentário
Compartilhar em outros sites

@aphawk não tem nenhum esquema pronto. Isso é um exemplo de uma lib. Por isso eu quero identificar o que é o pino 22

adicionado 0 minutos depois

Aqui todo o exemplo.

 

/*
########################
#        OVERVIEW      #
########################

 Example A: Using the wildcard.

 This is a simple demonstration of the SDI-12 library for Arduino.
 
 It requests information about the attached sensor, including its address and manufacturer info.

#########################
#      THE CIRCUIT      #
#########################

 You should not have more than one SDI-12 device attached for this example.

 See:
https://raw.github.com/Kevin-M-Smith/SDI-12-Circuit-Diagrams/master/basic_setup_no_usb.png
 or
https://raw.github.com/Kevin-M-Smith/SDI-12-Circuit-Diagrams/master/compat_setup_usb.png

###########################
#      COMPATIBILITY      #
###########################

 This library requires the use of pin change interrupts (PCINT).
 Not all Arduino boards have the same pin capabilities.
 The known compatibile pins for common variants are shown below.

 Arduino Uno:     All pins.

 Arduino Mega or Mega 2560:
 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62),
 A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).

 Arduino Leonardo:
 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI)

#########################
#      RESOURCES        #
#########################

 Written by Kevin M. Smith in 2013.
 Contact: [email protected]

 The SDI-12 specification is available at: http://www.sdi-12.org/
 The library is available at: https://github.com/EnviroDIY/Arduino-SDI-12
*/


#include <SDI12.h>

#define SERIAL_BAUD 115200  // The baud rate for the output serial port
#define DATA_PIN 7         // The pin of the SDI-12 data bus
#define POWER_PIN 22       // The sensor power pin (or -1 if not switching power)

// Define the SDI-12 bus
SDI12 mySDI12(DATA_PIN);

/*
  '?' is a wildcard character which asks any and all sensors to respond
  'I' indicates that the command wants information about the sensor
  '!' finishes the command
*/
String myCommand = "?I!";

void setup(){
  Serial.begin(SERIAL_BAUD);
  while(!Serial);

  Serial.println("Opening SDI-12 bus...");
  mySDI12.begin();
  delay(500); // allow things to settle

  // Power the sensors;
  if(POWER_PIN > 0){
    Serial.println("Powering up sensors...");
    pinMode(POWER_PIN, OUTPUT);
    digitalWrite(POWER_PIN, HIGH);
    delay(200);
  }
}

void loop(){
  mySDI12.sendCommand(myCommand);
  delay(300);                     // wait a while for a response
  while(mySDI12.available()){    // write the response to the screen
    Serial.write(mySDI12.read());
  }
  delay(3000); // print again in three seconds
}

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, Augusto Almeida de Jesus disse:

o circuito será utilizado para sensores via protocolo SDI-12. O sensor deve ser alimentado por 12 V e a tem-se m cabo para comunicação.

Então publique o sensor que vai ser utilizado, seus terminais e as características dele. Alguns sensores remetem as leituras com sinal já digitalizado, I2C (o mais comum) ou SPI. Outros mandam valores analógicos. Se a base do trabalho são os valores capturados por um sensor conhecer este é o início de tudo.

Link para o comentário
Compartilhar em outros sites

@Sérgio Lembo ,

 

Sim, é simples comunicação serial, com um tipo de Jam em caso de ruídos ( saudades da rede Novel ???? ) ,estive lendo a documentação do protocolo, é bem legal isso. Só que tem um rolo de habilitar / desabilitar interrupção dos pinos a todo instante ....

 

@Augusto Almeida de Jesus ,

 

Tá vendo como informação ajuda ?

 

Achei o seu pino 20 ....

É que esse exemplo foi feito para o Arduino Mega, a documentação deixa bem claro que você tem de adaptar para outros casos, como o uso de um Uno. No Mega, esse pino é a INT1. Sugiro usar a mesma INT1 no Uno , que é o pino marcado 3 na placa do Uno.

 

Paulo

 

 

 

 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

@aphawk Obrigado pela sugestão. Peço desculpas se demorei para entregar as informações pedidas, estava um pouco perdido.

Testei com o pino 3, como pino de alimentação e o pino 7 com o data bus e, novamente, não funcionou. Percebi que a tensão no pino 3 ficou por volta de 4.3 volts. O sensor funciona com 12 V de alimentação. Vocês tem alguma sugestão de como fazer essa lib funcionar?

  • Confuso 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Caramba... nem sei se estou entendendo... você quer alimentar seu sensor com um pino de dado do mc?

52 minutos atrás, Augusto Almeida de Jesus disse:

o pino 3, como pino de alimentação

 

53 minutos atrás, Augusto Almeida de Jesus disse:

tensão no pino 3 ficou por volta de 4.3 volts

 

1 hora atrás, aphawk disse:

INT1 no Uno , que é o pino marcado 3 na placa do Uno

Tá certo isso arnaldo? Não sai 12V dele né...😜

 

55 minutos atrás, Augusto Almeida de Jesus disse:

O sensor funciona com 12 V de alimentação. Vocês tem alguma sugestão de como fazer essa lib funcionar?

Não há lib que resolva isso 😁

  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Augusto Almeida de Jesus ,

 

O problema é fazer a interface correta .... veja aqui :

 

https://daycounter.com/Circuits/SDI-12/SDI-12-Interface.phtml

 

Não é só ligar direto nos pinos do Arduino... esse circuito é uma implementação que segue totalmente o Bus.

 

Mas se você vai ligar apenas 1 dispositivo, pode tentar esta ligação, do mesmo site da lib .... :

 

 

image.png.8e1366cc9e5924443f7ce9a835ea4e87.png

 

 

Nesse caso o circuito está sendo permanentemente energizado pelo + 12V e GND, e o sinal de dados está ligado diretamente no pino escolhido no Arduino.

 

Infelizmente nunca montei nada que usasse isso, então não sei se isso aí funciona....

 

 

adicionado 7 minutos depois
4 horas atrás, Augusto Almeida de Jesus disse:

#define POWER_PIN 22       // The sensor power pin (or -1 if not switching power)

 

No circuito simples que te postei, tem de ficar assim :

 

#DEFINE POWER_PIN -1

 

Porque você não estará comutando a energia do sensor, e seu problema estará resolvido.

 

Paulo

 

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@aphawk muito obrigado, era exatamente isso que eu estava precisando. Realmente não olhei essas fotos, fiquei só no github lendo descrição da lib. O projeto continua não funcionando, acredito agora que seja alguma coisa sobre a sonda. Vou entrar em contato com a fabricante dela.

Caso tenham interesse, virei aqui atualizar do funcionamento ou não do projeto.

 

Agradeço imensamente a todos pela disposição e paciência ao tirar minha dúvida.

 

Att, 

Augusto Almeida

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Augusto Almeida de Jesus ,

 

Opa meu amigo, disponha !

 

Quanto ao fato de não funcionar, essa biblioteca tem várias coisas que precisam ser comentadas / descomentadas conforme o hardware utilizado e a necessidade de seu software, ou seja, recomendo você ler com calma a documentação dela e ver no código do Arduino as opções que devem ser revistas, ok ?

 

Boa sorte !

 

Paulo

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...