соединение для датчика холла 4-штырьковый и arduino nano

Я не из электроники, поэтому не знаю, какие должны быть связи. Датчик My Hall имеет 4 контакта (AO, GND, +, DO)

Итак, я подключил штыри сенсора к разъемам Arduino nano в этом порядке (соединение)

AO(Sensor) <-> A4(Arduino)   [Changed from A0 to A4]
DO(Sensor) <-> D4(Arduino)   [Changed from D0 to D4]
+(Sensor) <-> 5V(Arduino)
GND(Sensor) <-> GND (Arduino)

Какой должен быть псевдокод? Таким образом, если магнит проходит близко к датчику. Arduino должен получить выход & Я буду моргать светодиод на Arduino

Ниже приведен мой код, который я написал до сих пор

int sensorPin = 4; // this is for sensor in analog pin 4
int buttonPin = 4; // we are looking for digital 4
int val;

bool flag = false;

void setup() {
  // put your setup code here, to run once:
  pinMode(buttonPin, INPUT); // defines digital pin 4 as input for LED
  Serial.begin(9600);  
}

void loop() {
   int reading = analogRead(sensorPin);

   float voltage = reading * 5.0;
   voltage /= 1024.0;

  if(voltage > 3.0) {
   Serial.print(voltage); Serial.println("volts");
  }
   val = digitalRead(buttonPin);  // read data from digital Pin

   if(val == HIGH) // when the sensor detects a magnetic field
   {
      flag = !flag;
      if(flag){
         digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      } else {                 // wait for a second
          digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      }
      //delay(1000);                       // wait for a second
   }
   delay(100); 
}

Ожидаемый результат: Он должен включать /выключать светодиод, когда напряжение идет HIGH

Известные проблемы: Работает некогда. Иногда это не работает. Также он работает только тогда, когда магнит хранится в клоне. Не обнаруживает, когда я размахиваю магнитом рядом с датчиком.

2 голоса | спросил FiftyShadesGreyAbhi 21 PM00000010000000631 2017, 13:01:06

2 ответа


2

У платы, имеющей два выхода - AO и DO (обратите внимание, что это буква O, а не ноль - для вывода).

Вы можете подключить AO к любому из аналоговых входов на вашей плате, если вы хотите прочитать дискретное аналоговое значение от датчика.

Вы можете подключить DO к любому из цифровых входов (или аналоговых, поскольку они также являются цифровыми входами), если вы просто хотите получить простой сигнал «Что-то там».

Чувствительность «чего-то есть» контролируется триммером на доске.

Самый простой способ сделать то, что вы хотите, - использовать DO и отрегулировать триммер. Затем датчик выглядит, по сути, как переключатель или кнопка (но вам не нужен резистор для подтягивания /вытягивания). Таким образом, вы можете отключить AO.

Обратите внимание, что использование D0 (ноль) и D1 (один) на Arduino не рекомендуется, поскольку они подключены к интерфейсу USB, и использование их может повлиять на вашу способность загружать эскизы. Это также означает, что вы не можете использовать последовательную связь в своей программе.

ответил Majenko 21 PM00000010000004031 2017, 13:54:40
0

Кто-то, вероятно, опубликует комментарий, говорящий, что это не служба написания кода, но у меня создается впечатление, что вам просто нужны указатели, так что вот они.

В IDE у вас есть пример того, как мигать светодиод, называемый мигать , если вы еще не знакомы с этим.

Я думаю, что есть пример того, как читать с аналогового вывода, если не его int value = analogRead(A0);

Теперь напечатайте это значение для монитора Серийный и посмотрите, что произойдет, когда вы начнете размахивать магнитом. Значение изменится, скажем, для 400 нечетных до 800 нечетных.

Теперь напишите оператор if , который включает светодиод, когда значение, которое вы читаете, больше (> ) определенное значение.

Если вам нужна помощь по коду, который вам нужно написать, посмотрите в разделе справки> ссылки в среде IDE, вы можете найти слова Жирные , которые особенно важны:)

Если вы застряли, напишите код, как далеко вы получили, и люди помогут.

ответил Code Gorilla 21 PM00000010000005831 2017, 13:19:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132