Touchscreen от Nintendo DS и Arduino

    Внезапно заказал себе маленький тачскринчик от Nintendo DS и захотелось его подключить к Arduino, о том что же получилось…
    touchscreen nds


    Проблема


    Первая же проблема — как подключить, так как разъема нет, выковырять такой неоткуда, а покупать дорого (около 4-5$, при цене экрана 2-3$). Итак, берем скальпель, лезвие или маленькие ножнички и аккуратно режем шлейф вдоль, после чего довольно легко можно подпаять проводки, главное изолировать их, например сделав так:
    touchscreen nds


    Подключение и программирование


    Вольный перевод с форума Arduino:
    Смотрим на экран так, чтобы шлейф был снизу справа, тогда контакты идут в следующем порядке:
    TOP | LEFT | BOTTOM | RIGHT

    Подсоединяем к Arduino

    LEFT к цифровому выходу 2
    BOTTOM к цифровому выходу 3
    RIGHT к цифровому выходу 4
    TOP к цифровому выходу 5

    а так же подсоединяем 2 проводка к аналоговым входам:
    TOP к аналоговому входу 3 (проводок от цифрового 5)
    RIGHT к аналоговому входу 4 (проводок от цифрового 4)

    touchscreen nds arduino


    Скетч

    Модифицированный код от Robin Whitfield и Marco Nicolato (код самого тачскрина)
    #define Lo 2 // LEFT к цифровому выходу 2
    #define Bo 3 // BOTTOM к цифровому выходу 3
    #define Ro 4 // RIGHT к цифровому выходу 4
    #define To 5 // TOP к цифровому выходу 5

    #define Ti 3 // TOP к аналоговому входу 3 (проводок от цифрового 5)
    #define Ri 4 // RIGHT к аналоговому входу 4 (проводок от цифрового 4)

    // установим координаты прикосновения
    int touchX = 0;
    int touchY = 0;

    void setup() {
    Serial.begin(9600);
    }

    void loop() {
    if (touched()) {
    // выводим координаты в порт/консоль
    Serial.print(touchX);
    Serial.print(",");
    Serial.print(touchY);
    Serial.println();
    delay(100);
    }
    }

    boolean touched() {
    boolean touch = false;
    pinMode(Lo, OUTPUT);
    digitalWrite(Lo, LOW);
    pinMode(Ro, OUTPUT);
    digitalWrite(Ro, HIGH);
    pinMode(To, INPUT);
    pinMode(Bo, INPUT);
    delay(10);
    touchX = analogRead(Ti);
    pinMode(Bo, OUTPUT);
    digitalWrite(Bo, LOW);
    pinMode(To, OUTPUT);
    digitalWrite(To, HIGH);
    pinMode(Ro, INPUT);
    pinMode(Lo, INPUT);
    delay(10);
    touchY = analogRead(Ri);
    if(touchX < 1000 and touchX > 0 and touchY < 1000 and touchY > 0)
    touch = true;
    return touch;
    }

    Итог


    В итоге после запуска в консоль/терминал/ваш_обработчик вываливаются координаты точки нажатия, погрешность +-2 точки, по обоим осям значение от 100 до 900, но видимо зависит от модельки экрана, на форумах пишут и от 0 до 1000, и от 200 до 500

    UPD: tronixstuff.wordpress.com/2010/12/29/tutorial-arduino-and-the-ds-touch-screen — еще более простой вариант подключения
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 86

      +4
      а я д сих пор просто мечтаю об ардуино
        +1
        я мечтал-мечтал и заказал, благо у китайцев дешевле
        сейчас собираю детальки для трикоптера, после НГ надеюсь уже собрать чего нибудь =)
          0
          т.е. это тот же ардуино только от китайцев? И его спецификация полностью соотвествует оригиналу?
          Я так же как и sam_reaper все мечтаю начать работать с ардуино.
            +2
            1 к 1, только дополнительные 1 или 2 дырки для аналогового входа и еще какие то плюшки
          • НЛО прилетело и опубликовало эту надпись здесь
              0
              Seeeduino V2.2 (Atmega 328P) и жду Seeeduino Mega
                0
                Какой лучше заказать мне, новичку? Хочу поэксперементировать =)
                  0
                  лучше Seeeduino V2.2 (Atmega 328P), а Seeeduino Mega это если вдруг собираетесь собирать например шагающего робота (ног 6) или еще что-то сложное
                    0
                    Хорошо, а что еще для комплекта надо купить? Программатор?
                      0
                      Сервоприводы?
                        0
                        это уже смотря что делать собрались
                          0
                          Чтобы принимать/посылать команты по сети (Ethernet), подойдет такой модуль?
                          Он совместим с Seeeduino V2.2 (Atmega 328P)?
                            0
                            подойдет и совместим с любым клоном arduino, т.е. и для seeeduino подойдет, а так же для freeduino и многих других -дуино =)
                              –1
                              Подойдёт любой микроконтроллер, в частности на базе Atmega.
                              Если влом паять, то можно приобрести Breadboard-платку(пластиковая макетка с отверстиями) за $10 и сам МК(100-300руб, взависимости от потребностей).
                              Хотя паяльник всёже понадобится — хотябы припаять концы(контакты) к конечным устройствам(кнопка, LPT или USB разъем, LCD-дисплей, тотже сенсорник, а также неограниченно-множество других девайсов).
                                0
                                Чтобы работать с ардуино, надо купить микроконтроллер Atmega, я правильно вас понял?
                                  –1
                                  Да, вчастности ATmega168 и ATmega88, возможно и другие. Просто не программирую на ардуино. Программирую на C, который подходит ко всем МК Atmega ))
                                    0
                                    зачем чето покупать? контроллер уже на платке… вам нужно ТОЛЬКО ПЛАТКУ и USB проводок
                                      0
                                      теперь понятно, а то товарисч выше меня запутал
                                        +1
                                        товарищ, как я понял, подразумевал что можно самому такое спаять на любом подобном контроллере — будет дешевле, но геморнее, если с электротехникой туго (как у меня)
                                          0
                                          У меня тоже туго, года полтора назад купил комплект для Атмега — так и ниасилил, вместо пайки шняга из припоя на контактах и МК в итоге спалил.

                                          Спасибо за советы, замучаю теперь Ардуину!))
                                            0
                                            как вам такая штука?
                                              0
                                              какая? спаянная самостоятельно — не для меня, готовая — отличная штука
                                                0
                                                ссылка съелась :( имел в виду www.seeedstudio.com/depot/seeeduino-motion-frame-p-705.html?cPath=79_80&zenid=22009cc36e5499d48c84d534df18cb7f

                                                но на этом сайте нашел еще много очень дешевых компонентов, датчиков, спасибо за ссылку, кажется скоро все-таки достану коробочку с Ардунио, которую купил летом и еще практически ни разу не использовал (
                                                  0
                                                  оно специально сделано для Seeeduino Film, как я понимаю для вшития в одежду, а то что по ссылке набор датчиков, например для спортивных прогулок
                              0
                              программатор не нужен, главное чтоб был комп с USB портом
                                0
                                Я вот тоже хочу себе ардунио, как у этого сайта с доставкой? и опатой?
                                  0
                                  как у любого китайского, оплата через PayPal (карты Visa Classic, MasterCard и прочие), доставка на выбор, от обычной бесплатной почты (бесплатно если больше 50$ заказ) до DHL
                                  обычной почтой пару месяцев назад дошло до окраины МО за ~20 дней, сейчас все магазины кричат что завал на почте, последний заказ ушел через сингапур, хз как быстро дойдет =)
                                    0
                                    пасибо. значит всетаки придется заводить палку…
                                    или может посоветуете хорошего (недорого) посредника?
                                      0
                                      лучше 1 раз погемороиться и завести карточку или сделать её через QIWI терминал, чем каждый раз переплачивать посредникам (который бывает раза в 2-3 цену поднимают)
                                        0
                                        спасибо…
                      0
                      Какие планируете заюзать движки?
                      Было бы очень интересно посмотреть на результаты!
                        0
                        пока практически пальцем в небо тыкаю, если интересно — читайте blog.sovgvd.info/search/label/tricopter
                        в пути из китая моторчик+контроллер и гироскоп, как придет, попробую подружить с arduino (судя по форумам не сложно), сервомоторчики есть, каркас почти есть, еще одна платка seeeduino с устройствами для связи тоже в пути… очень надеюсь что до НГ придет это всё
                          0
                          Будем следить.
                          Я вот о квадро задумался, все пока в очень далекой тумбочке, но может когда-то выродится во что-то типа того, что делают ребята в GRASP-е.
                          www.grasp.upenn.edu/
                            0
                            шикарно, только у них 3д камера, за 9к$ если память не изменяет + ROS + сам коптер вроде бы далеко не на arduino… там еще немного и скайнет =)
                              0
                              рекомендую посмотреть вот эту железку www.sparkfun.com/products/8785
                                0
                                скорее может вот тут code.google.com/p/arducopter/
                                  0
                                  Я планирую заюзать ARM, что-то из Cortex M3, может с линейки STM32- там плюшки вкуснее =)
                                    0
                                      0
                                      тогда уж сразу сервер летающий сделать =) зачем на арм? ну кроме разве что дронов с крутыми мозгами =)
                                        0
                                        ну, например, чтоб hd-video жать и передавать по wi-fi
                                        0
                                        Не, это уже слишком круто, имхо.
                                  0
                                  Заглянул в блог. Мой совет по поводу каркаса — не юзайте оргстекло/плексиглас. Тяжёлая конструкция получится. Лучше покупать панки и трубки из углеродного волокна. Либа купить самому углеродную ткань и пропитать её в эпоксидке
                                    0
                                    я нашел еще проще способ — из штатива дешевого алюминевого =) трубки прочные, по 15 грамм весят и как раз 3 штуки
                            0
                            тоесть с каждой новостью или постом о нем, все больше и больше его хочу, но пока еще меня нехватает на покупку)
                              +3
                              Купить — это не есть проблема… Я вот тож читал-читал, облизывался-облизывался, и наконец заказал (freeduino), подождал, получил, принёс, распаковал и… и неожиданно тягомотная мозгопожирательная работа на месяц-другой навалилась)… Хуже не бывает)
                                0
                                та да, в принципе если захотеть то мозгопожирательная работа будет всегда, а вот я боюсь что в ардуино заслшком вовлекусь),
                                  0
                                  я почти месяц ничего толком не делал с платкой (даже пылью успела покрыться) — та же самая работа, а тут вечер воскресенья, забил на всё и наконец то спаял на скорую руку
                                  сейчас из китая идет seeeduino mega и 2 комплекта связи (до 150 метров) — один из этапов моей мечты — трикоптера =)
                                    0
                                    ну круто, я вот как начал вливаться, мне arm очень нравиться, да и далеко ходить ненадо, можно воспользоваться своим смартом), и вот я думаю как бы его отэмулировать в qemu, и поексперементировать с прошивкой, и потом залить в девайс, мозгопожирательная работа на нескольо лет)
                              +4
                              Какой-то незаконченный пост. Ну подпаяли экран и что? Где результат? Или это подключение ради подключения?
                                +1
                                ммм, в консольку вываливаются координаты… предложите вариант окончания поста — допишу
                                  +6
                                  В довершении бы хотелось видеть выдранный из Vogue-плеера экран, присабаченный к этому тач экрану, ну или что-нибудь такое безумное ))
                                    0
                                    не из Москвы — Vogue мне не достался =) хотя теоретически сделать можно, только думаю в том проце есть готовый контроллер, а если и нет, то туда можно Linux запихнуть + USB host есть — проблем точно нет =)
                                0
                                Интерес к Arduino растет с каждой статьей. Давно бы уже купил, но я не знаю языков программирования( А вообще можно что-нибудь интересное собрать на готовых прошивках или обязательно нужны навыки программирования?
                                  0
                                  там язык очень простой, да и миллион примеров в самом редакторе + куча готовый прошивок + куча интересных девайсов/шилдов/датчиков есть к Arduino… на seeeduino например шилд сделан такой, что даже не надо думать как прицеплять экраны/морточики/датчики
                                    +3
                                    Уговорили =) Попрошу Деда Мороза, чтоб под елку положил))
                                  0
                                  $2.50! надо заказать парочку, куда-нибудь да присобачу. например расчертить клеточкой — вот вам сенсорная клавиатура
                                    0
                                    если оптом (более 2х или 3х) заказывать — будет еще дешевле =)
                                      0
                                      размерчик бы побольше… сколько он в сантиметрах? 3х4 примерно?
                                        0
                                        5 на 6.5 см примерно
                                    0
                                    Видел видео, как с помощью двух сенсоров и arduino сделали из обычного монтора — тач.
                                    www.youtube.com/watch?v=4VgqolVKOzM
                                      +2
                                      я тоже делал — когда кнопки четко под датчиками — нормально, а вот точно определить не получается + учтите что угол сенсора около 30*, так что на некотором расстоянии уже не дотягиваясь до экрана будут координаты… в общем меня не прикольнуло


                                      а вот зато 3д сканер (дальномер+2 сервомоторчика) ничего так, только с визуализацией плоховато:

                                        0
                                        А про 3Д сканер поподробней можно? Он типа строит массив точек с тремя координатами? Какого реально добиться разрешения? Можно ли получить сетку на выходе? Может ссылочкой по теме поделитесь? =)
                                          0
                                          2 сервоморчика (2x5$) поворачивают дальномер (15$) по 2м осям — на выходе 2 угла поворота (180*) и дальность, примерно по 0.3 секунды на 1 точку, всего 180*45 точек (по высоте меньше брал, так как нет смысла сканить пол/потолок)
                                          вот например www.youtube.com/watch?v=J-svn2twvDc — по 1 оси
                                    –3
                                    Я такой тупой — ни разу не слышал об Arduino. Что это?
                                    0
                                    Это у ардуины вот такой простенький язык? Похоже, всё-таки стОит купить себе на новый год.
                                      0
                                      Ну как бы это- Плюсатый (C++) с кучей либ, заточенных под определенную линейку мк.
                                        0
                                        мне кажется там от плюсатого только синтаксис остался, который во многих языках похож (php например)… но вот либы писать на С\С++ надо, хотя там их щас столько, что и писать вроде бы ничего не надо =)
                                          +1
                                          при этом никто не мешает писать свою прошивку с нуля хоть на ассемблере. другое дело что среди «хоббистов» этим мало кто станет заморачиваться, т.к. готовые либы уже готовы и весьма функциональны
                                      0
                                      Это как-то не серьезно, коннектор продается за 0.89 доллара + доставка, ну даже если 5 — ковырять шлейф, проводки паять :)), а вцелом сенк ю.
                                        0
                                        на спаркфан где то коннектор на платке с контактами удобно выведенными $4.95
                                          +1
                                          Ну спаркфан молодцы — за платку всегда огого гребут(хотя по лени и криворукости у них покупаю), у них бывает сенсор стоит $15 а платка 2x2 дюйма с сенсором $40 :)
                                        0
                                        Ого:) Прям заинтересовали вы меня :)
                                        Отличный пост:)

                                        Давно вынашиваю идею сделать авто-корректор фар для своего автомобиля и если уж выдалась такая возможность, то быть может вы посоветуете, что мне нужно приобрести дабы сварганить его.

                                        Что нужно:
                                        1. по два моторчика на лампу(всего лам 4) итого 8
                                        2. сама плата, которая этим хозяйством будет управлять
                                        3. некий датчик(сенсор?) который будет определять положение автомобиля в данный момент времени, дабы скорректировать положение фар от эталонного
                                        4. кнопки(регуляторы?) дабы можно было корректировать фары в случае необходимости


                                        Предпочтительно конечно, чтобы пайки было поменьше, но в принципе не такая уж и большая проблема:)
                                          0
                                          упс… не туда, ответил ниже
                                          0
                                          если правильно понял:
                                          1. сервомоторчики, для фар помощнее надо искать, думаю от 10$
                                          2. саму плату придется покупать Mega версию, иначе всеми моторичками не поуправлять (на обычной только 6 контактов под сервоприводы)
                                          3. компас, гироскоп, акселерометр… примерно от 15$ (если из Wii контроллера выковыривать, а компас есть на seeeduino.com)
                                          4. резистор переменный, от 0.5$

                                          паять мало чего надо, в основном втыкать проводки в уже готовые контакты… но для прочности лучше припаять
                                            0
                                            Спасибо большое!
                                            а компас какую роль будет выполнять?
                                              0
                                              ну я не совсем понял как именно вам надо вращать… компасом тоже можно — посмотрели на сколько отклонились — поворачиваем (тоже самое можно сделать и гироскопом или акселерометром)
                                                0
                                                Теперь понял :) просто я подумал, что все три нужно брать:) Вообще мне надо только вверх-вниз и вправо-влево:) Думаю мне больше подойдет гироскоп:)
                                                  0
                                                  на гироскопе можно сэкономить — www.dealextreme.com/details.dx/sku.32506 — там готовый интерфейс уже есть, только проводки припаять
                                                  где то тут radio-commande.com/international/triwiicopter-design/ как подключать акселерометр и/или гироскоп из wii устройств (Wii MotionPlus — гироскоп, Wii nunchak — акселерометр, Wii Motion — ик камера с системой распознавания образов — может следить за 3 или 4мя точками инфракрасными)
                                                    0
                                                    Прям даже не знаю как и благодарить, жаль кармы а то плюсанул бы :) Пошел выбирать покупки :)
                                                      +1
                                                      сделаете, напишите статью, поднимите карму, а там уже и отблагодарить можно =)
                                                      кстатии сервомоторчики там же можно купить, но сложно сказать какой мощности… обычно там указывается сколько килограмм поднимает моторчики: «Если на пальцах — то цифирька указанная в характеристиках сервы (в кг/см) говорит о том, что серва поднимет и удержит этот вес при длине рычага 1см.» robocraft.ru/blog/mechanics/241.html
                                                        0
                                                        Для написать, еще карму > 5 заработать надо :)

                                                        Про сервомоторчики есть такой момент — у автора иркутск, зимой холодновато, ИМХО модельные сервомоторчики (даже если в них смазку поменять, как делают многие) будут работать медленнее уже при -10 / -15 (проверено на вертолете), и если брать с пласт. шестернями, то и дохнуть один за одним.

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое