Jump to content
  • Sign Up
  • Language
Sign in to follow this  
ColorPlay

Анимированные глаза - простота изготовления

Recommended Posts

post-67-0-36197200-1432462011_thumb.jpgpost-67-0-65884000-1432462009_thumb.jpg

 

https://youtu.be/qztpi-BVkqE

 

Данный проект реализован на светодиодных матрицах Adafruit 8х8 mini, управляемых контроллером Arduino UNO. Достоинством этого проекта является простота его изготовления и программирования. На выходе вы получите необычный сувенир с кнопочным управлением светодиодной анимации в виде черепа или тыквенной головы к примеру с использованием звуковых эффектов. 

Для реализации проекта вам понадобятся следующие компоненты:

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

Светодиодная матрица Adafruit Mini 1.2" 8x8 LED Matrix w/I2C Backpack (цвета светодиодов на ваше усмотрение) в количестве от 2 до 5 штук, в зависимости от того, что вы будете делать. Для изготовления просто глаз надо две матрицы, что бы добавить рот надо еще 3 штуки.

Контроллер Arduino Uno. 

Батарея или аккумулятор 5V. Можно использовать блок для обычных батареек 3хАА.

Подходящие кнопки в количестве 3х штук.

Звуковой контроллер ADAFRUIT WAVE SHIELD

Плата расширения ADAFRUIT PROTO

Переходник для блока питания и удлиняющие провода.

 

Общая электрическая схема соединения представлена на рисунке ниже:

 

post-67-0-49998200-1432462132_thumb.png

 

Обратите внимание, если вы будете использовать питание от трех батареек АА размера с общим напряжением 4,5V, то питание светодиодов нужно будет брать с выхода стабилизатора напряжения с контроллера (который дает на выходе +5V).  Но если учесть, что максимальная нагрузка на стабилизатор напряжения на контроллере составляет 500мА, а одна светодиодная матрица при полном отображении потребляет около 200мА, то к контроллеру можно подключить не более 2 или 3 матриц. То есть в этом случае получиться сделать только глаза на вашем черепе.

Передача данных между контроллером и светодиодами происходит на основе шины Arduino’s Two Wire Interface или просто TWI. Управление светодиодными матрицами производится всего по трем проводам: общий GND, синхронизирующий сигнал  SCL и сигнал с данными SDA.  Четвертый провод VCC это питание светодиодов +5V.

Особенность светодиодных матриц заключается в том, что для их адресации используются специальные контакты, при спаивании которых за матрицей сохраняется постоянный адрес в системе. На рисунке ниже приведен пример как задается адрес на светодиодной матрице. 

 

post-67-0-18098100-1432462276.jpgpost-67-0-85327900-1432462274_thumb.jpg

 

Кнопки используются опционально, для получения запрограммированного звукового эффекта при изменении эмоции отображаемой на светодиодах (например,  улыбка или злость, в принципе все что угодно). Для использования кнопок и получения звукового эффекта необходимо дополнительно к контроллеру Arduino Uno установить звуковой контроллер  ADAFRUIT WAVE SHIELD FOR ARDUINO KIT (http://www.adafruit.com/products/94) и дополнительную плату расширения ADAFRUIT PROTO SHIELD FOR ARDUINO KIT (http://www.adafruit.com/products/51). 

При использовании всех элементов у вас получится примерно следующая конструкция:

 

post-67-0-58740000-1432462364_thumb.jpg

 

Программирование

Программирование контроллера происходит при помощи фирменного программного обеспечения Arduino Software (IDE) доступного по адресу:


 

Полный процесс программирования данного контроллера для реализации этого проекта описан в оригинальной инструкции. Также там можно получить примеры готовых программных кодов.

Оригинальная инструкция доступна по адресу:


Анимация лица происходит за счет перебора шести заранее запрограммированных изображений, синхронизированных со звуковыми эффектами записанных на SD карту звукового контроллера.  Более подробно с принципом синхронизации  можно ознакомиться в этом руководстве:


 

При наличии желания и фантазии можно сделать совершенно поразительную и уникальную вещь. Например можно использовать эпоксидную смолу для создания формы черепа, и при отливке поместить внутрь черепа светодиодный шнур красного цвета, это придаст визуальный эффект пульсирующей крови внутри черепа. Череп можно сделать добрым, веселым или злым. При добавлении web-камеры и наличии определенного программного обеспечения, можно сделать так чтобы глаза следили за вами при передвижении по комнате. 

В общем,  все зависит только от вашей фантазии! Не бойтесь экспериментировать!

Share this post


Link to post
Share on other sites

Анимированные цифровые глаза на основе OLED матрицы


 


light_big-eye-anim.gif

 

Для начала,  скажем самое главное, это руководство не направлено на изготовление конечного проекта, мы рассказываем об идее и способах ее реализации. Это основа, для создания ваших собственных замечательных проектов, которые могут быть ограничены только лишь вашей фантазией!

Ниже, мы расскажем вам, какие компоненты, возможно использовать при реализации ваших проектов:

Компоненты Adafruit:

Микроконтроллер PJRC Teensy 3.1 (может контролировать один или два глаза).  Также возможно использовать контроллер Teensy 3.2

 

post-67-0-19598000-1445182392_thumb.jpg

 

Дисплей – по одному на глаз. Можно использовать две разные матрицы:

OLED Breakout Board - 16-bit Color 1.5" w/microSD holder

 

post-67-0-80990800-1445182391_thumb.jpgpost-67-0-17573900-1445182391_thumb.jpg

 

Adafruit 1.44" Color TFT LCD Display with MicroSD Card breakout - ST7735R

 

post-67-0-60621200-1445182390_thumb.jpgpost-67-0-03202100-1445182390_thumb.jpg

 

Какую из матриц выбрать дело ваше.  OLED матрица отображает цвета просто удивительно, но стоит дороже.  TFT матрица является более доступной, но и цвета отображаются менее интенсивными. Ищите свой компромисс!

Дополнительные детали и инструменты:

Паяльник и паяльные принадлежности

Плоский ленточный кабель

Акриловые полусферы (линзы)  1.5 "

3D-принтер, чтобы сделать корпуса, винты и гайки

Плата зарядного устройства LiPoly Backpack и литиево-ионная полимерная аккумуляторная батарея (500mAh для OLED, 150mAh для TFT).

Следующие компоненты являются опциональными. Наше программное обеспечение может обрабатывать все эти эффекты автономно, но вы можете также добавить любой или все из этих компонентов, чтобы иметь ручное управление глазами:

Аналоговый джойстик для ручного манипулирования глазами

Кнопка (или кнопки) для создания эффекта подмигивания глазами

Фотоэлемент,  заставляющий глаза реагировать на свет

 

Внимание, этот проект опирается на отличительные функции контроллера Teensy 3.1 (или 3.2). Ни какие другие контроллеры, например  Teensy 2, 3.0, LC, или любые  Arduino не подойдут!

Этот проект требует пайки мелких контактов на достаточно дорогих компонентах. Поэтому, если у вас нет достаточного опыта работы с паяльником, то вам лучше начать с более простых проектов.

 

Печать на 3D принтере.

При реализации этого проекта, не обязательно использовать 3D принтер, можно установить OLED матрицу просто в вырезанное окно на фанере, все зависит от того, что вы будете делать…

В нашем случае, эти маленькие 3D печатные корпуса очень удобны для установки куполообразных линз поверх дисплеев, а также они просто необходимы, если создавать переносимые устройства. Дело в том, что влажность окружающей среды, без должной защиты дисплеев, очень быстро выведет их из строя!

Создание нашего проекта, мы начали с печати корпусов на 3D принтере, так как это дало нам возможность убедиться, что все детали соответствуют требуемым физическим характеристикам перед покупкой электронных компонентов, а также проверить возможность их физического размещения.

 

Линзы и комплектующие:

 

post-67-0-25611000-1445182389.jpg

 

Увеличительные линзы диаметром 38 мм придают изображению глаз отличный 3D эффект. Сами линзы были приобретены в магазине фирмы Tap Plastics. Для получения должного эффекта, линзы должны иметь высокий купол, т.е. полную полусферу относительно диаметра линзы.

 

post-67-0-73846800-1445182388_thumb.jpg

 

Каждый бокс для матрицы, требует для соединения 4 винта с плоской конусной головкой длиной 9,5 мм и диаметром 2 мм, плюс соответствующие гайки.

 

Части корпуса имеют не большой размер, поэтому их можно распечатать на самых простых маленьких 3D принтерах. Скачать 3D модели корпуса можно по ссылке:


В архиве содержаться разные модели корпусов для OLED и LCD TFT матриц. Они различаются по  крепежным отверстиям и вырезам. Для каждого типа корпуса есть модель верхней и нижней части: например, "LCD Top.stl" и "LCD Bottom.stl."

После печати элементов корпусов, тщательно очистите их от лишних частей и промойте. После чего дайте им полностью высохнуть перед установкой электронных компонентов.

 

post-67-0-04453800-1445182388_thumb.jpg

 

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

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

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

 

post-67-0-68933900-1445182415_thumb.png

 

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

 

Сборка частей корпусов

Сборка корпусов с дисплеями, подразумевает, что вся электронная часть вашего проекта уже собрана. Но поскольку, инструкция по работе с 3D корпусами находится только в этой части описания, то для продолжения сначала соедините все ваши электронные компоненты вместе, а потом вернитесь к этому шагу инструкции.

 

post-67-0-34014100-1445182415_thumb.jpg

 

Для каждого глаза, вы должны иметь четыре основных части: верхнюю и нижнюю крышку, выпуклую линзу  и дисплей с подсоединенным ленточным кабелем. (Плюс вышеупомянутые винты и гайки, которые  здесь не показаны.)

 

post-67-0-00204000-1445182415_thumb.png

 

Дисплей и лицевая панель корпуса совмещаются определенным образом – они немного не симметричны. Небольшая выемка обеспечивает определенный зазор для паяных соединений, которые, как правило, выступают в передней части платы (с проводами на обратной стороне).

Я не стал рассказывать о крошечной резинке, напечатанной на 3D принтере, которая располагается между двумя частями корпуса и предотвращает попадание влаги внутрь корпуса. Уверен, что вы сможете придумать что-нибудь свое. На крайний случай, можно использовать силиконовый герметик. Резиновое уплотнение можно спроектировать в программе 3D CAD.

 

post-67-0-74980100-1445182414_thumb.jpg

 

Небольшая выемка на задней стороне корпуса обеспечивает зазор для ленточного кабеля. (В случае с OLED матрицей, выемка смещена относительно центра, это сделано специально). Если выемка совсем не соответствует физическому расположению ленточного кабеля, то ее можно расширить ножом или напильником до нужного размера, после чего лишнее отверстие загерметизировать  при помощи силикона или горячего клея.

 

post-67-0-54405900-1445182414_thumb.jpg

 

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

 

post-67-0-89025600-1445182413_thumb.jpgpost-67-0-31889300-1445182413_thumb.jpg

 

Конечное приклеивание линзы

Для полного приклеивания линзы, горячий клей не совсем подходит, так как он немного неуклюж при нанесении. Другие разновидности клея имеют слишком жидкую основу, тем самым просачиваясь через зазоры между линзой и корпусом, попадают на матрицу, нарушая при этом ее работу.  Некоторые клеи плохо реагируют с акриловой линзой, тем самым делают ее мутной (это клеи на основе Цианоакрилата). 

 

post-67-0-72057100-1445182412.jpg

 

Не смейтесь …. Краска для рисования на футболках отлично подходит для этого проекта.  Кончик аппликатора на тюбике, позволяет нанести идеальный тонкий слой. После приклеивания линзы таким способом, дайте высохнуть краске в течение дня.

Помните, что к этому моменту, вся ваша электронная часть должна быть собрана и проверена на все 100%.

Электрическая схема и подключение

Перед продолжением выполнения проекта, хорошо подумайте, в каких целях и в каком исполнении будут использоваться ваши интерактивные глаза.

Если вы хотите сделать временный проект  (например, жуткие глаза в окне на праздник Хэллоуин), а потом разобрать его и применить в других целях, то лучше всего собрать проект на временных проводах с использованием перфорированной монтажной платы. 

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

 

post-67-0-32062600-1445182412_thumb.jpg

 

Подключение:

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

Ниже приводится схема контроллера Teensy 3.1 или 3.2, на которой обозначены номера и названия всех входов и выходов:

 

post-67-0-69700700-1445182411_thumb.jpg

 

Это упрощенная разводка контроллера, сделанная специально для реализации этого проекта. Если вы вдруг захотите добавить свои функции к проекту, то ознакомиться с полной картой распиновки контроллера можно на сайте производителя по адресу:


Общая шина GND является жизненно важным моментом для распределения электроэнергии во всей электрической цепи проекта. В дополнение к двум GND контактам указанных здесь, есть две медные площадки на задней стороне платы - одна возле центра, а вторая большая недалеко от порта USB (рядом с контактом GND).

Контакт AGND обеспечивает более чистое заземление специально для аналоговых входов. Это не силовой контакт распределения питания, поэтому не подключайте ваши дисплеи к этому контакту.

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

Питание:

Если у вас есть возможность подключить все устройства от USB порта контроллера Teensy (подключение USB Power Bank или внешнего зарядного устройства к USB разъему), то это будет самый простой способ обеспечить питание всей сборки.

Но для самых компактных и портативных сборок, потребуется использование литиево-ионного аккумулятора (LiPoly). Если в вашем проекте используется TFT LCD дисплей, то вам хватит аккумулятора мощностью 150 мА/ч (хотя большая емкость обеспечит более продолжительную автономную работу). При использовании одной или двух OLED матриц, вам понадобится аккумулятор не менее 500 мА/ч

 

light_eyeball-bowler-hat-09.gif

 

post-67-0-05223700-1445182435_thumb.jpgpost-67-0-83188500-1445182434_thumb.jpgpost-67-0-47039800-1445182434_thumb.jpg

 

Для использования контроллера Teensy совместно с зарядным устройством Adafruit LiPoly Backpack (обеспечивающего зарядку через USB), первым делом надо разъединить  две медные площадки: первая рядом с контактом VUSB на контроллере Teensy,  и вторая на плате зарядного устройства LiPoly Backpack (обозначены на задней стороне платы). На изображении, места разделения площадок указаны желтой полосой.

Затем соедините обе платы при помощи трех проводов в следующем порядке

Зарядное устройство LiPoly контакт BAT -> контроллер Teensy контакт VIN/BAT+ (немаркированный контакт на углу платы)

Зарядное устройство LiPoly контакт G -> контроллер Teensy  контакт GND

Зарядное устройство LiPoly контакт 5V -> контроллер Teensy контакт USB+ pin

 

Затем добавьте выключатель питания на контакты платы зарядного устройства Adafruit LiPoly Backpack как показано на изображении. Если емкость батареи составляет 500 мА/ч и более, то необходимо спаять вместе два контакта на задней стороне платы зарядного устройства, это увеличит ток зарядки до 0,5А. Внимание, не делайте этого при использовании небольших аккумуляторов!

 

post-67-0-88155700-1445182433_thumb.jpg

 

Подключите питание ваших дисплеев от контакта BAT+ (угловой контакт), если вы не используете плату зарядного устройства LiPoly Backpack, то питание дисплеев подключается от контакта USB+

Дисплеи:

У вас есть выбор между использованием одного или двух дисплеев, либо OLED либо LCD. Но вы не можете использовать их совместно - оба должны быть одинакового типа.

OLED дисплеи имеют более яркие цвета и контраст. Недостатком является цена, а также  то,  что они немного мерцают, когда попадают в кадр видео съемки.

TFT LCD - дисплеи являются более доступными. Они не таки яркие, но все же создают хороший эффект, и не мерцают на видео.

Если делать два глаза, то оба дисплея необходимо подключить к одному и тому же контакту SPI MOSI и CLK на плате контроллера, плюс несколько других проводов.  Контакты  "ОК"  и "TCS" являются уникальными для каждого дисплея, левого и правого.

Подключение OLED дисплея:

 

post-67-0-18124600-1445182433_thumb.jpg

 

Для OLED дисплеев, сделать следующие соединения по направлению дисплей -> контроллер Teensy:

SI   ->   SPI MOSI

CL  ->   SPI CLK

DC  ->  Digital Pin 7

R     ->  Digital Pin 8

OC  ->  Digital Pin 9 (для левого глаза) или 10 (для правого глаза)

+     ->  BAT+ (при использовании зарядного устройства LiPoly Backpack) или USB+

G     ->  GND

 

Подключение TFT LCD дисплея:

 

post-67-0-57186100-1445182432_thumb.jpg

 

Для TFT LCD-дисплеев, использовать следующие соединения по аналогичному направлению:

Vin   ->   BAT+ (при использовании зарядного устройства LiPoly Backpack) или USB+

Gnd  ->  GND

SCK   ->  SPI CLK

SI       ->  SPI MOSI

TCS   ->  Digital Pin 9 (для левого глаза) или 10 (для правого глаза)

RST  ->  Digital Pin 8

D/C  ->  Digital Pin 7

"левый" и "правый" глаз рассматриваются с точки зрения, если смотреть на них.  Это определение используется в этом руководстве и в программном обеспечении.

 

post-67-0-11262100-1445182432_thumb.jpg

 

При использовании плоского кабеля, как показано выше, запишите собственную подсказку, которая будет содержать цвета проводов (или номера провод, если одноцветный кабель) назначенных определенным контактам или функциям. Не полагайтесь на цвета, используемые в данном руководстве.

 

post-67-0-57763000-1445182431_thumb.jpgpost-67-0-05292700-1445182431_thumb.jpg

 

В конце этого шага, аккуратно припаяйте все провода к вашим дисплеям. Затем отрежьте требуемую длину ленточного кабеля и припаяйте к его другому концу колодку со штырьковыми разъемами. Будьте осторожны с длиной кабеля, дело в том, что данные передаваемые по высокоскоростному каналу SPI, очень привередливы. И длина провода более 20см, уже негативно сказывается на скорости передачи данных, что приводит к заметному торможению.

Платы дисплеев включают слоты под карту памяти Micro SD, но они не подключены в этом проекте, и программный код не ссылаться на них вообще. Продвинутые пользователи, которые хотят использовать эту возможность могут дополнительно подключить шину SPI MISO и контакты разъема карты к контроллеру, а также внесите необходимые изменения в программный код.

 

Аналоговые элементы управления

Любые аналоговые элементы управления, которые используются должны к контактам питания  3,3V и AGND. Не используйте другие выводы питания или будут ... неприятности.

Подключение джостика:

 

post-67-0-20738500-1445182451_thumb.png

 

Контакты XOUT и YOUT от джойстика можно подключить к аналоговым контактам контроллера   A0 и A1.

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

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

Подключение фотоэлемента:

 

post-67-0-85685900-1445182450_thumb.png

 

Для того, что бы сузить или расширить зрачки в ответ на свет, подключите фотоэлемент и резистор 10K последовательно. Середина между резистором и фотоэлементом подключается к аналоговому входу А2 на контроллере.

Аналоговый вход для работы с фотоэлементами включен в программный код по умолчанию. Вы можете закомментировать (#) параметр IRIS_PIN в программном коде, чтобы управлять этой функцией  самостоятельно.

Подключение потенциометра:

 

post-67-0-67475800-1445182450_thumb.png

 

Для ручного управления расширением зрачка (вместо реагирования на свет) может быть использован потенциометр 10К. Центральная нога соединяется с аналоговым входом A2 (тот же вход что и для фотоэлемента, просто используется другая функция аналогового управления в программном коде).

Использование кнопок:

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

 

post-67-0-36701100-1445182450_thumb.png

 

Для всех кнопок, подключите одну ногу к земле, а противоположную к цифровому выводу:

Digital Pin 0 (подмигивает левый глаз).

Digital Pin 1 (моргают оба глаза).

Digital Pin 2 (подмигивает правый глаз)

Подключение аналоговых устройств, требует наличие множества контактов GND, но на нашей плате их не так много. Один из вариантов это сращивать несколько проводов вместе, но он не очень удобен. Есть еще и второй способ – это использование не занятых выходов контроллера. К примеру,  у нас есть свободный цифровой выход №4, для его использования в качестве контакта GND, нам надо добавить в программный код следующие строки:

pinMode(4, OUTPUT);

digitalWrite(4, LOW);

Команды OUTPUT и LOW, соединяют цифровой выход №4 с шиной GND. Этот выход можно использовать для устройств аналогового управления, но не более того. Не пытайтесь подключить мощные устройства к этому выходу, иначе он просто сгорит и может повредить контроллер.

 

После завершения подключения электрической схемы, можно перейти к следующему шагу – программному обеспечению.

 

 

Программное обеспечение

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

Первым делом скачайте и установите последнюю версию программы Arduino IDE 1.6.5, после чего скачайте пакет Teensyduino installer по ссылке:


Он добавляет поддержку, для всей линейки микроконтроллеров Teensy, в базу программы Arduino IDE.

В меню Tools, выберете тип контроллера Select Board → Teensy 3.1 и частоту процессора CPU Speed → 72 MHz (Optimized).

Затем попробуйте загрузить в контроллер стандартную проверочную программу.

Используя Arduino Library Manager (Sketch → Include Library → Library Manager…) установите библиотеку  Adafruit_GFX plus совместимую с вашим дисплеем:

Adafruit_SSD1351 для   OLED дисплея

Adafruit_ST7735   для    TFT LCD дисплея

И наконец, загрузить основной программный код Uncanny Eyes, который можно скачать по ссылке:


Перед загрузкой кода советуем, проверить строки 28 и 29:

#include <Adafruit_SSD1351.h>  // OLED display library -OR-

//#include <Adafruit_ST7735.h> // TFT display library (enable one only)

В этих строках указывается тип используемого дисплея. По умолчанию установлен OLED дисплей.

 

 

На этом моменте, основное описание реализации проекта заканчивается. В оригинальной инструкции, вы можете подробно ознакомиться с возможностями настройки и нюансами программного кода.  При помощи программного кода, вы также можете изменить тип отображаемых глаз самостоятельно или при помощи уже готовых библиотек, вот некоторые примеры:

 

post-67-0-11568900-1445182450.jpgpost-67-0-46997000-1445182449.jpgpost-67-0-97357000-1445182448.jpgpost-67-0-36898200-1445182448.jpg

 

Также, в качестве примера использования таких глаз, представляем вам проект «Глаз дракона на шляпе» в виде последовательных изображений:

 

post-67-0-90207500-1445182447_thumb.jpgpost-67-0-90724100-1445182463_thumb.jpgpost-67-0-63701200-1445182463_thumb.jpgpost-67-0-31831700-1445182463_thumb.jpgpost-67-0-05795200-1445182463_thumb.jpg

light_eyeball-bowler-hat-17.gif

 



Источник: https://learn.adafruit.com/animated-electronic-eyes-using-teensy-3-1?view=all


 


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...