roboforum.ru

Технический форум по робототехнике.

Мелкие кусочки на arduino

Re: Мелкие кусочки на arduino

zaman » 26 ноя 2009, 17:42

Непонятен момент
Код: Выделить всёРазвернуть
  pinMode(pinB, INPUT);
  digitalWrite(pinB,LOW);

Это как? Конфижим пин как вход и пишем в вход значение лог.0?


Я так понял что АЦП не задействовано и вообще нафик надо, а val увеличиваем пока напряжение не достигнет уровня лог.0, так как ток со светодиода идет только в том случае когда светодиод освещен. верно?

Re: Мелкие кусочки на arduino

hudbrog » 26 ноя 2009, 19:45

Читаем доки по ардуине, я ж специально написал - надо отключать пуллап резисторы, оно и делается:
If the pin is configured as an INPUT, writing a HIGH value with digitalWrite will enable an internal 20K pullup resistor (see the tutorial on digital pins). Writing LOW will disable the pullup.

А в остальном да, так.

Re: Мелкие кусочки на arduino

avr123.nm.ru » 26 ноя 2009, 20:26

20 кОм это врядли, боле реально 40 кОм

Re: Мелкие кусочки на arduino

shadowjack » 29 ноя 2009, 18:57

По умолчанию pullup-ы вроде отключены.

Re: Мелкие кусочки на arduino

Angel71 » 29 ноя 2009, 20:28

1) код на второй странице внимательней смотрим
2) вникаем в "If the pin is configured as an INPUT, writing a HIGH value with digitalWrite will enable an internal 20K pullup resistor (see the tutorial on digital pins). Writing LOW will disable the pullup."
3) если непонятно, то читаем заново пункт 1 и 2

Re: Мелкие кусочки на arduino

SkyStorm » 30 ноя 2009, 12:38

Алексей, а у тебя какая версия среды стоит 17я???
Я просто хотел спросить про подключение библиотек. Мне не очень понятно куда их складывать.
В 17ой вроде как все пути поменялись.

Re: Мелкие кусочки на arduino

blindman » 30 ноя 2009, 12:41

=DeaD= писал(а):А то что там AVR внутри - так это я знаю, может быть наш шлюз-контроллер когда-нибудь будет популярен на ардуино :roll:

Надо наверно заняться этим вопросом :) Добавить ещё одну платформу в ORFA :)

Re: Мелкие кусочки на arduino

hudbrog » 30 ноя 2009, 13:25

SkyStorm писал(а):Алексей, а у тебя какая версия среды стоит 17я???
Я просто хотел спросить про подключение библиотек. Мне не очень понятно куда их складывать.
В 17ой вроде как все пути поменялись.

На тот момент 16ая стояла, 17ую не трогал пока. А какие библиотеки ты хочешь добавить?

Re: Мелкие кусочки на arduino

SkyStorm » 30 ноя 2009, 13:34

Хочу к Ардуино подключить [[OR-BWSENS]] используя библиотеки Pololu.

Re: Мелкие кусочки на arduino

SkyStorm » 11 янв 2010, 15:34

Уважаемый hudbrog (Май 17th, 2009, 10:10 pm) Уже подключал Датчик линии к аналоговому входу.

Подключение аналога Pololu QTR-1RC от OR [[OR-BWSENS]] используя ту же библиотеку Pololu.
QTR-1RC-Sch.png
схема
QTR-1RC-Sch.png (6.6 КиБ) Просмотров: 5954

Использует Цифровой Pin Arduino, библиотека возвращает результат измерений от 0(самый белый) до 1000(самый черный).

Код: Выделить всёРазвернуть
#include <PololuQTRSensors.h>

#define LED 13   // LED на pin 13


// создаем объект, датчик подключен на pin 10
PololuQTRSensorsRC qtr((unsigned char[]) {10}, 1);


void setup() 

  pinMode(LED, OUTPUT); //установка LED pin как выход
  digitalWrite(LED, HIGH);     // LED on
  // калибровка датчика 
  int i; 
  for (i = 0; i < 250; i++) 
  { 
    qtr.calibrate(); 
    delay(20); 
  } 
  digitalWrite(LED, LOW);     // LED off
  Serial.begin(9600);


void loop()
{
  digitalWrite(LED, LOW);     // LED Off
  unsigned int sensors[1];    // результаты измерений сенсора
  int position = qtr.readLine(sensors);
  Serial.println(sensors[0], DEC);  //результат измерений 0(самый белый) .. 1000(самый черный)
  if (sensors[0] > 500) // скорее черный чем белый
  {
    digitalWrite(LED, HIGH);     // turns the LED on
  }
  delay(10);                 // waits for a 10 uSec
}

Re: Мелкие кусочки на arduino

SkyStorm » 12 янв 2010, 15:24

Подключение TSOP к Arduino. Про TSOPы очень хорошо написал Yak-40 в теме "Поиск базы на ИК-светодиодах+TSOP(теория и практика)".
Берем от туда схему:
cx_pri.jpg
схема
cx_pri.jpg (28.63 КиБ) Просмотров: 5902

Не забываем, что импульсы с ТСОП-ов идут в инверсном виде, то есть, активный сигнал - 0!
Код: Выделить всёРазвернуть
#define LED 13   // LED подключаем к pin 13
#define RC 12   // Выход с TSOP на pin 12

int RC_State = 0;
void setup() 

  pinMode(LED, OUTPUT);     // sets the digital pin as output
  pinMode(RC, INPUT);     // sets the digital pin as output


void loop()
{
  digitalWrite(LED, LOW);     // LED Off
  RC_State = digitalRead(RC); // читаем состояние
  if (RC_State == LOW)        // если лог. ноль то зажигаем LED
  {
    digitalWrite(LED, HIGH);  // LED on
    delay(100);                // waits for a 100 uSec
  }
}


Теперь берем пульт ДУ и проверяем, при нажатии кнопки на пульте загорается LED.

PS: если у нас 3х вольтовый Arduino есть 2 варианта
1. Применить не 5ти а 3х вольтовый TSOP TSOP18SS3V
2. Сделать согласование уровней Англоязычная статья
3-5V.jpg
самый простой вариант из статьи.


cron
Rambler\'s Top100 Mail.ru counter