Чтобы считать напряжение и преобразовать его к осязаемому цифровому значению используется аналого-цифровой преобразователь (AЦП). В мини-компьютерах Raspberry Pi, Banana Pi, Orange Pi, Nano Pi и др. отсутствуют встроенные АЦП, поэтому для чтения аналоговых сигналов потребуется внешний АЦП. Один из них — это Аналого-Цифровой Преобразователь/АЦП ADS1115.
ADS1115 — это 4-х канальный 16-битный аналого-цифровой преобразователь (АЦП). Преобразователь разработан для обеспечения точности, энергоэффективности, простоты в реализации, выполняет преобразование с программируемыми скоростями обработки данных. Встроенный усилитель с программируемым коэффициентом усиления (PGA), что позволяет проводить точные измерения больших и малых напряжений. ADS1115 имеет входной мультиплексор (MUX), который позволяет выполнять два дифференциальных или четыре несимметричных входных измерения.
В Pi4J есть библиотека для работы с АЦП ADS1115 по I2C/TWI из Java на Raspberry Pi, Banana Pi, Orange Pi, Nano Pi и Odroid. Все классы и интерфейсы находятся в пакете com.pi4j.gpio.extension.ads.*;
.
Пока не все возможности АЦП модулей ADS1x15 реализованы, например, нельзя дифференциально измерять напряжение между входами модуля, доступно только измерение относительно земли (GND). Также не реализована возможность использования пина ALERT/READY, используя GPIO для уведомления о событиях. Это было бы более эффективно, чем постоянный опрос доступности данных.
- 1 Класс ADS1x15GpioProvider
- 1.1 ADS1x15GpioProvider(int, int)
- 1.2 ADS1x15GpioProvider(I2CBus, int)
- 1.3 getProgrammableGainAmplifier(Pin)
- 1.4 setProgrammableGainAmplifier(ProgrammableGainAmplifierValue, Pin…)
- 1.5 getEventThreshold(Pin)
- 1.6 setEventThreshold(double, Pin…)
- 1.7 getMonitorInterval()
- 1.8 setMonitorInterval(int)
- 1.9 getImmediateValue(Pin)
- 1.10 ADCMonitor
- 2 Класс ADS1115GpioProvider
- 3 Класс ADS1115Pin
- 4 Подключение АЦП ADS1115 к Orange Pi PC
- 5 Материалы
- 6 Похожие записи
Класс ADS1x15GpioProvider
Это абстрактный класс, что реализует общие методы аналого-цифровых преобразователей серии ADS1x15, ADS1015 и ADS1113/ADS1114/ADS1115.
ADS1x15GpioProvider(int, int)
Конструктор класса.
public ADS1x15GpioProvider(int busNumber, int address) throws UnsupportedBusNumberException, IOException
Параметры
busNumber — номер шины.
address — I2C адрес устройства.
Возвращает
новый экземпляр ADS1x15GpioProvider
Бросает
UnsupportedBusNumberException — если данный номер шины не поддерживается базовой системой.
IOException — если сообщение с шиной I2C не работает.
ADS1x15GpioProvider(I2CBus, int)
Конструктор класса.
public ADS1x15GpioProvider(I2CBus bus, int address) throws IOException
Параметры
bus — I2C шина.
address — I2C адрес устройства.
Возвращает
новый экземпляр ADS1x15GpioProvider
Бросает
IOException — если сообщение с шиной I2C не работает.
getProgrammableGainAmplifier(Pin)
Возвращает коэффициент усиления внутреннего усилителя (PGA).
public ProgrammableGainAmplifierValue getProgrammableGainAmplifier(Pin pin)
Параметры
pin — номер пина АЦП.
Возвращает
экземпляр ProgrammableGainAmplifierValue — Коэффициент усиления внутреннего усилителя (PGA).
setProgrammableGainAmplifier(ProgrammableGainAmplifierValue, Pin…)
Настройка коэффициента усиления внутреннего усилителя (PGA).
public void setProgrammableGainAmplifier(ProgrammableGainAmplifierValue pga, Pin...pin)
Параметры
pga — коэффициент усиления внутреннего усилителя (PGA).
pin — номер пина/пинов АЦП.
getEventThreshold(Pin)
Возвращает заданный пину порог события.
public double getEventThreshold(Pin pin)
Параметры
pin — номер пина АЦП.
Возвращает
порог события
setEventThreshold(double, Pin…)
Задаёт минимальное значение порога срабатывания события/й. Другими словами, событие срабатывает, если разница между предыдущим и текущим измерением больше заданного значения.
public void setEventThreshold(double threshold, Pin...pin)
Параметры
threshold — минимальное значение порога срабатывания события/й.
pin — пин АЦП.
getMonitorInterval()
Метод возвращает интервал обновления потока мониторинга (в миллисекундах).
public int getMonitorInterval()
setMonitorInterval(int)
Метод задаёт интервал обновления потока мониторинга (в миллисекундах). Это определяет скорость, с которой контрольный поток будет считывать входные значения из чипа АЦП (значение менее 50 мс не разрешено, по умолчанию — 100 мс).
public void setMonitorInterval(int monitorInterval)
Параметры
monitorInterval — интервал обновления потока мониторинга (в миллисекундах).
getImmediateValue(Pin)
Метод используется «монитором» (ADCMonitor), чтобы получить текущее напряжение с указанного пина АЦП. Напряжение измеряется между одним из входов и общим проводом (GND), а дифференциальное измерение библиотека не поддерживает.
public double getImmediateValue(Pin pin) throws IOException
Параметры
pin — пин АЦП.
Возвращает
текущее значение от АЦП.
Бросает
IOException — если сообщение с шиной I2C не работает.
ADCMonitor
Этот класс/поток используется для активного мониторинга прерываний GPIO. Монитор запускается при создании экземпляра класса ADS1x15GpioProvider.
private class ADCMonitor extends Thread {}
Класс ADS1115GpioProvider
Этот GPIO провайдер расширяет абстрактный класс ADS1x15GpioProvider и реализует интерфейс GpioProvider, для работы с пинами АЦП ADS1115, как с родными пинами Pi4J.
ADS1115GpioProvider(int, int)
Конструктор класса.
public ADS1115GpioProvider(int busNumber, int address) throws UnsupportedBusNumberException, IOException
Параметры
busNumber — номер шины.
address — I2C адрес устройства.
Возвращает
новый экземпляр ADS1115GpioProvider
Бросает
UnsupportedBusNumberException — если данный номер шины не поддерживается базовой системой.
IOException — если сообщение с шиной I2C не работает.
ADS1115GpioProvider(I2CBus, int)
Конструктор класса.
public ADS1115GpioProvider(I2CBus bus, int address) throws IOException
Параметры
bus — I2C шина.
address — I2C адрес устройства.
Возвращает
новый экземпляр ADS1115GpioProvider
Бросает
IOException — если сообщение с шиной I2C не работает.
Класс ADS1115Pin
Класс ADS1115Pin содержит 4 экземпляра пинов АЦП ADS1115: INPUT_A0
, INPUT_A1
, INPUT_A2
и INPUT_A3
.
createAnalogInputPin(int, String)
С помощью этого метода можно создать собственный аналоговый пин. Различие между пином по умолчанию и собственным лишь в том, что второму можно задать имя.
private static Pin createAnalogInputPin(int address, String name)
Параметры
address — номер пина (0-3).
name — имя пина.
Возвращает
новый экземпляр Pin
Подключение АЦП ADS1115 к Orange Pi PC
Поскольку эта библиотека не поддерживает дифференциальное измерение, я привёл только один пример, напряжение измеряется между одним из входов и общим проводом (GND).
Схема подключения ADS1115 к Orange Pi
Можно подключить по одному переменному резистору на каждый вход датчика, если хотите проверить все входы. АЦП ADS1115 подключён к порту номер 1, так как адрес 0x48 на порту 0 резервирован. Но можно менять адрес АЦП с помощью пина ADDR и подключить устройство на порт 0.
Пример программы
Приведённая ниже программа считывает данные с датчика и выводит результаты в терминал. Обратите внимание на следующую строку:
gpioProvider.setEventThreshold(500, ADS1115Pin.ALL);
я установил порог в 500 (макс.: 32767). Если вам нужно, чтобы событие сработало при любом изменении значений с датчика, тогда установите 0 вместо 500:
gpioProvider.setEventThreshold(0, ADS1115Pin.ALL);
Пример кода:
import java.io.IOException; import java.text.DecimalFormat; import com.pi4j.gpio.extension.ads.ADS1115GpioProvider; import com.pi4j.gpio.extension.ads.ADS1115Pin; import com.pi4j.gpio.extension.ads.ADS1x15GpioProvider.ProgrammableGainAmplifierValue; import com.pi4j.io.gpio.GpioController; import com.pi4j.io.gpio.GpioFactory; import com.pi4j.io.gpio.GpioPinAnalogInput; import com.pi4j.io.gpio.event.GpioPinAnalogValueChangeEvent; import com.pi4j.io.gpio.event.GpioPinListenerAnalog; import com.pi4j.io.i2c.I2CBus; import com.pi4j.io.i2c.I2CFactory.UnsupportedBusNumberException; public class ADS1115Example { /** * @param args */ public static void main(String[] args) { try { System.out.println("<--Pi4J--> ADS1115 GPIO Example ... started."); /* * формат чисел для вывода данных */ final DecimalFormat df = new DecimalFormat("#.##"); final DecimalFormat pdf = new DecimalFormat("###.#"); /* * создаем gpio контроллер */ GpioController gpio = GpioFactory.getInstance(); /* * создаем пользовательский provider GPIO ADS1115 */ final ADS1115GpioProvider gpioProvider = new ADS1115GpioProvider(I2CBus.BUS_1, ADS1115GpioProvider.ADS1115_ADDRESS_0x48); /* * создаём аналоговые входные пины от ADS1115 */ GpioPinAnalogInput analogInputPin0 = gpio.provisionAnalogInputPin(gpioProvider, ADS1115Pin.INPUT_A0, "MyAnalogInput-A0"); GpioPinAnalogInput analogInputPin1 = gpio.provisionAnalogInputPin(gpioProvider, ADS1115Pin.INPUT_A1, "MyAnalogInput-A1"); GpioPinAnalogInput analogInputPin2 = gpio.provisionAnalogInputPin(gpioProvider, ADS1115Pin.INPUT_A2, "MyAnalogInput-A2"); GpioPinAnalogInput analogInputPin3 = gpio.provisionAnalogInputPin(gpioProvider, ADS1115Pin.INPUT_A3, "MyAnalogInput-A3"); /* * ВНИМАНИЕ !! Для всех аналоговых входных контактов важно установить PGA * (программируемый коэффициент усиления внутреннего усилителя). (Вы * можете опционально установить каждый вход на другое значение). * Измеренное входное напряжение никогда не должно превышать это значение! */ gpioProvider.setProgrammableGainAmplifier(ProgrammableGainAmplifierValue.PGA_4_096V, ADS1115Pin.ALL); /* * Определяем пороговое значение для каждого вывода для событий изменения * аналогового значения. Важно установить этот порог достаточно высоким, * чтобы программа не захлебнулась событиями изменения для незначительных * изменений */ gpioProvider.setEventThreshold(500, ADS1115Pin.ALL); /* * Определите интервал обновления потока мониторинга (в миллисекундах). * Это определяет скорость, с которой контрольный поток будет считывать * входные значения из чипа АЦП (значение менее 50 мс не разрешено) */ gpioProvider.setMonitorInterval(300); /* * создаем слушатель изменения значения входного напряжения */ GpioPinListenerAnalog listener = new GpioPinListenerAnalog() { @Override public void handleGpioPinAnalogValueChangeEvent(GpioPinAnalogValueChangeEvent event) { /* необработанное значение */ double value = event.getValue(); /* в процентах */ double percent = ((value * 100) / ADS1115GpioProvider.ADS1115_RANGE_MAX_VALUE); /* * приблизительное напряжение (* масштабируется на основе настройки * PGA) */ double voltage = gpioProvider.getProgrammableGainAmplifier(event.getPin()).getVoltage() * (percent / 100); /* выводим данные */ System.out.println(" (" + event.getPin().getName() + ") : VOLTS=" + df.format(voltage) + " | PERCENT=" + pdf.format(percent) + "% | RAW=" + value + " "); } }; analogInputPin0.addListener(listener); analogInputPin1.addListener(listener); analogInputPin2.addListener(listener); analogInputPin3.addListener(listener); /* * Оставляем программу работать 5 минут */ Thread.sleep(5 * 60 * 1000); /* * останавливаем все действия / потоки GPIO, отключая контроллер GPIO * (этот метод принудительно завершает работу всех потоков мониторинга * GPIO и запланированных задач) */ gpio.shutdown(); System.out.println("Exiting ADS1115GpioExample"); } catch (UnsupportedBusNumberException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
Проверяем код:
- создаём java файл и вставляем код:
nano ADS1115Example.java
- компилируем файл:
javac -classpath .:classes:/opt/pi4j/lib/'*' ADS1115Example.java
- запускаем программу:
sudo java -classpath .:classes:/opt/pi4j/lib/'*' ADS1115Example
Результат
Материалы
ADS1115 — 16-битный Аналого-Цифровой Преобразователь с I2C интерфейсом. Модуль RI038
Pi4J/pi4j · GitHub
Скачать документацию Datasheet ADS1115.pdf
Устали от непрерывных убираний? Доверьте заботы о гигиене профессионалам! Наша чистая компания предоставляет услуги уборки для жилых помещений и рабочих пространств: постоянная, основная, специальная и другие варианты! Мы используем только безопасные и эффективные моющие средства, а также новейшее оборудование. Поручите уборку и удовлетворяйте временем для себя! Познакомьтесь больше о наших услугах на сайте: https://ubork-kompan24.ru . Приятный порядок — залог здоровья!
Устали от непрерывной уборки в своем доме или офисе? Мы осознаем, как непросто найти время на поддержание абсолютной чистоты, особенно в круговороте повседневной жизни. Наша клининговая компания в Санкт-Петербурге предлагает услуги профессионального клининга, которые сделают ваше пространство совершенным. Мы гарантируем высокое качество работы, применяя только неагрессивные и эффективные средства. Выбирайте Уборка помещений и офисов Не дайте пыли и беспорядку отнимать у вас время. Доверьте уборку нашим опытным специалистам, и получайте удовольствие от уютом и чистотой в вашем доме или офисе. Мы готовы помочь вам в любое время, формируя атмосферу, в которой комфортно находиться.
безопасная сделка аккаунтов https://marketplace-akkauntov-top.ru/
купить аккаунт с прокачкой маркетплейс аккаунтов
Find Accounts for Sale Account Trading Platform
Account Selling Service Account Buying Platform
Account Trading Platform Account Selling Platform
Account Sale accountsmarketplacehub.com
Sell accounts Account Buying Platform
Secure Account Sales Purchase Ready-Made Accounts
database of accounts for sale accounts for sale
accounts marketplace account trading
guaranteed accounts https://buyaccountsdiscount.com
account exchange buy account
find accounts for sale profitable account sales
buy and sell accounts accounts for sale
accounts for sale profitable account sales
account trading account store
ready-made accounts for sale account exchange service
account trading service sell pre-made account
secure account sales account buying service
account sale account trading
buy account account catalog
online account store account selling platform
accounts marketplace account trading platform
account selling platform sell pre-made account
account selling service account purchase
account exchange service buy accounts
sell pre-made account social-accounts-marketplaces.live
website for buying accounts https://social-accounts-marketplace.xyz/
account buying service https://buy-accounts-shop.pro/
gaming account marketplace https://buy-accounts.live/
website for selling accounts https://social-accounts-marketplace.live
secure account purchasing platform accounts market
купить аккаунт akkaunty-na-prodazhu.pro
маркетплейс аккаунтов rynok-akkauntov.top
маркетплейс аккаунтов https://akkaunt-magazin.online/
продажа аккаунтов купить аккаунт
биржа аккаунтов https://online-akkaunty-magazin.xyz
маркетплейс аккаунтов соцсетей https://kupit-akkaunt.online
facebook ad account for sale https://buy-adsaccounts.work
buy account facebook ads buy a facebook account
buy facebook ads manager https://buy-ad-account.top
buy accounts facebook https://buy-ads-account.click
buy facebook profile facebook ad accounts for sale
google ads accounts https://buy-ads-account.top
facebook ad account for sale https://buy-accounts.click
buy google agency account https://ads-account-for-sale.top
buy google ads https://buy-account-ads.work
buy google ads threshold accounts https://sell-ads-account.click
adwords account for sale https://ads-agency-account-buy.click
buy verified bm buy verified business manager facebook
buy business manager https://buy-business-manager-acc.org
buy fb bm buy facebook business manager accounts
buy business manager https://verified-business-manager-for-sale.org
buy facebook bm https://buy-business-manager-accounts.org/
buy tiktok business account https://buy-tiktok-ads-account.org
buy tiktok ads https://tiktok-ads-account-for-sale.org
buy tiktok ads accounts https://tiktok-agency-account-for-sale.org
buy tiktok ads account https://buy-tiktok-ad-account.org
buy tiktok ad account https://buy-tiktok-ads.org
https://t.me/s/vavada_official_vavada
Календарь стрижек https://inforigin.ru .
dragon slots online real money dragon slots online real money .
thepokies.net thepokiesnet250.com .
sportbets http://www.sportbets17.ru .
прогнозы на спорт хоккей https://luchshie-prognozy-na-khokkej1.ru/ .
дешевые айфоны спб kupit-ajfon-cs1.ru .
mobis спб http://kupit-ajfon-cs3.ru/ .
1win aviator predictor http://www.1win3027.com
электрокарнизы москва http://elektrokarnizy750.ru/ .
mostbet az promo ilə qeydiyyat mostbet az promo ilə qeydiyyat
1win qeydiyyat bonus 1win qeydiyyat bonus
проект перепланировки цена проект перепланировки цена .
buy facebook account account exchange service secure account purchasing platform
доставка воды на дачу https://www.dostavka-tehnicheskoi-vodi.ru .
оценка швейцарских часов в ломбарде ocenka-chasov-onlajn10.ru .
изготовление лестниц из металла https://lestnicy-na-metallokarkase-1.ru/ .
1win armenia https://www.1win3072.ru
mostbet lisenziyasi uz http://mostbet4073.ru
mental health support chat http://www.mental-health22.com/ .
1win am 1win3073.ru
1win https://1win3075.ru/
winline как получить бонус winline как получить бонус .
I think this is one of the most important info for me.
And i’m glad reading your article. But want to remark on few general things, The web site style is great,
the articles is really nice : D. Good job, cheers
1win 1win
Appreciate this post. Will try it out.
These are in fact fantastic ideas in on the topic of
blogging. You have touched some nice points here.
Any way keep up wrinting.
I know this web site offers quality based articles and other stuff, is there any other web page which presents these things in quality?
Thanks for sharing your thoughts on пожелания счастья.
Regards
An impressive share! I have just forwarded this onto a coworker who has been doing a little research on this.
And he in fact bought me lunch due to the fact that I stumbled
upon it for him… lol. So let me reword this….
Thank YOU for the meal!! But yeah, thanks for spending the time to talk about this issue here on your internet site.
Hi there this is kinda of off topic but I was wondering if blogs use WYSIWYG
editors or if you have to manually code with HTML.
I’m starting a blog soon but have no coding experience so
I wanted to get advice from someone with experience.
Any help would be enormously appreciated!
Howdy, i read your blog from time to time and i own a similar one and i
was just curious if you get a lot of spam feedback?
If so how do you stop it, any plugin or anything you can suggest?
I get so much lately it’s driving me crazy so any help is very
much appreciated.
I just could not go away your site before suggesting that I really
enjoyed the standard information a person supply to your
visitors? Is gonna be back incessantly in order to check
up on new posts
Sweet blog! I found it while searching on Yahoo News. Do you
have any suggestions on how to get listed in Yahoo News?
I’ve been trying for a while but I never seem to
get there! Appreciate it
Good day! I just would like to offer you a big thumbs up for your excellent information you have got here on this post.
I’ll be returning to your blog for more soon.
If some one needs to be updated with latest
technologies afterward he must be visit this
web site and be up to date everyday.
Helpful information. Lucky me I found your web site by chance,
and I am surprised why this coincidence did not happened earlier!
I bookmarked it.
melbet app play store http://www.melbet1035.ru
кашпо дизайн кашпо дизайн .
1вин теннис ставки https://1win3065.ru
интересные горшки для цветов [url=www.dizaynerskie-kashpo-sochi.ru]интересные горшки для цветов[/url] .
купить цветочный горшок кашпо купить цветочный горшок кашпо .
atractive http://1win40005.ru
интересные цветочные горшки интересные цветочные горшки .
креативные горшки для цветов купить креативные горшки для цветов купить .
стильные цветочные горшки стильные цветочные горшки .
кашпо из ротанга с автополивом кашпо из ротанга с автополивом .
интересные горшки для цветов интересные горшки для цветов .
горшок с автополивом горшок с автополивом .
горшки с автополивом для комнатных растений горшки с автополивом для комнатных растений .
уличное кашпо для цветов напольное уличное кашпо для цветов напольное .
горшки для напольных растений купить горшки для напольных растений купить .
кашпо напольное кашпо напольное .
напольные кашпо для цветов купить напольные кашпо для цветов купить .
напольный горшок для цветов высокий напольный горшок для цветов высокий .
стильные горшки для комнатных цветов http://dizaynerskie-kashpo-nsk.ru .
умный горшок для растений [url=https://www.kashpo-s-avtopolivom-kazan.ru]умный горшок для растений[/url] .
кашпо для улицы пластик https://ulichnye-kashpo-kazan.ru/ .
Purchase amoxicillin online: Buy Amoxicillin for tooth infection — AmoxDirect USA
https://zithromedsonline.com/# cheap zithromax
prednisone: online pharmacy Prednisone fast delivery — PredniWell Online
neuropathic pain relief treatment online generic gabapentin pharmacy USA order gabapentin discreetly
Stromectol ivermectin tablets for humans USA: Mediverm Online — ivermectin 1.87 paste for humans
EverLastRx: FDA-approved Tadalafil generic — FDA-approved Tadalafil generic
http://predniwellonline.com/# Prednisone tablets online USA
generic gabapentin pharmacy USA: generic gabapentin pharmacy USA — order gabapentin discreetly
how to order Cialis online legally Tadalafil tablets safe online pharmacy for ED pills
Neurontin online without prescription USA: NeuroCare Direct — Neurontin online without prescription USA
FDA-approved Tadalafil generic: safe online pharmacy for ED pills — EverLastRx
https://predniwellonline.shop/# PredniWell Online
prednisone 5mg cost Prednisone without prescription USA Prednisone tablets online USA
Prednisone without prescription USA: prednisone 20 mg tablets — prednisone cost 10mg
discreet delivery for ED medication: FDA-approved Tadalafil generic — FDA-approved Tadalafil generic
http://everlastrx.com/# safe online pharmacy for ED pills
http://neurocaredirect.com/# flexeril and gabapentin interaction
order Stromectol discreet shipping USA: order Stromectol discreet shipping USA — low-cost ivermectin for Americans
affordable Neurontin medication USA neuropathic pain relief treatment online generic gabapentin pharmacy USA
https://everlastrx.shop/# tadalafil soft
EverLastRx: discreet delivery for ED medication — safe online pharmacy for ED pills
where can i buy ivermectin for cats: does ivermectin kill tapeworms — trusted Stromectol source online
https://medivermonline.shop/# ivermectin coronavirus trials
order Stromectol discreet shipping USA: trusted Stromectol source online — low-cost ivermectin for Americans
FDA-approved Tadalafil generic: cheap tadalafil online — FDA-approved Tadalafil generic
https://medivermonline.shop/# Mediverm Online
generic gabapentin pharmacy USA Neurontin online without prescription USA neuropathic pain relief treatment online
https://neurocaredirect.com/# order gabapentin discreetly
how to get Prednisone legally online: Prednisone tablets online USA — Prednisone tablets online USA
Neurontin online without prescription USA: order gabapentin discreetly — neuropathic pain relief treatment online
how to order Cialis online legally: discreet delivery for ED medication — Tadalafil tablets
https://neurocaredirect.com/# FDA-approved gabapentin alternative
order Stromectol discreet shipping USA Mediverm Online low-cost ivermectin for Americans
order Stromectol discreet shipping USA: Stromectol ivermectin tablets for humans USA — is ivermectin safe for pregnant goats
Prednisone tablets online USA: how to get Prednisone legally online — Prednisone tablets online USA
generic ivermectin online pharmacy: Stromectol ivermectin tablets for humans USA — trusted Stromectol source online
https://medivermonline.com/# Stromectol ivermectin tablets for humans USA
Mediverm Online
how to order Cialis online legally: how to order Cialis online legally — safe online pharmacy for ED pills
Neurontin online without prescription USA gabapentin pics order gabapentin discreetly
discreet delivery for ED medication best pharmacy buy tadalafil FDA-approved Tadalafil generic
http://medivermonline.com/# Stromectol ivermectin tablets for humans USA
ivermectin overdose in cats
https://medivermonline.shop/# low-cost ivermectin for Americans
order Stromectol discreet shipping USA
how to order Cialis online legally: where to buy tadalafil in usa — EverLastRx
https://medivermonline.shop/# ivermectin for snakes
online pharmacy Prednisone fast delivery how to get Prednisone legally online Prednisone without prescription USA
https://everlastrx.com/# safe online pharmacy for ED pills
https://medivermonline.shop/# low-cost ivermectin for Americans
trusted Stromectol source online
Tadalafil tablets: tadalafil generic price — discreet delivery for ED medication
discreet delivery for ED medication EverLastRx FDA-approved Tadalafil generic
Stromectol ivermectin tablets for humans USA: order Stromectol discreet shipping USA — ivermectin for puppies
https://amoxicareonline.shop/# generic amoxicillin
Viagra online UK British online pharmacy Viagra viagra uk
https://britpharmonline.com/# buy viagra
BritMeds Direct online pharmacy pharmacy online UK
http://medreliefuk.com/# MedRelief UK
https://britmedsdirect.shop/# order medication online legally in the UK
buy viagra: BritPharm Online — viagra
электрокранизы http://elektrokarnizy797.ru/ .
разрешение на перепланировку нежилого помещения не требуется https://pereplanirovka-nezhilogo-pomeshcheniya10.ru/ .
электрические карнизы купить karniz-shtor-elektroprivodom.ru .
разрешение на перепланировку нежилого помещения не требуется https://pereplanirovka-nezhilogo-pomeshcheniya11.ru .
карнизы с электроприводом карнизы с электроприводом .
Amoxicillin online UK generic Amoxicillin pharmacy UK generic amoxicillin
http://amoxicareonline.com/# cheap amoxicillin
Amoxicillin online UK: amoxicillin uk — amoxicillin uk
buy penicillin alternative online: buy penicillin alternative online — buy penicillin alternative online
pharmacy online UK: online pharmacy — BritMeds Direct
потолочник потолки https://natyazhnye-potolki-samara-1.ru/ .
потолки натяжные в самаре https://stretch-ceilings-samara-1.ru/ .
order ED pills online UK: buy viagra online — buy viagra online
British online pharmacy Viagra: BritPharm Online — viagra
BritMeds Direct: Brit Meds Direct — BritMeds Direct
online pharmacy: order medication online legally in the UK — online pharmacy
best UK online chemist for Prednisolone: buy prednisolone — cheap prednisolone in UK
viagra viagra uk buy viagra
UK chemist Prednisolone delivery: Prednisolone tablets UK online — best UK online chemist for Prednisolone
https://amoxicareonline.com/# cheap amoxicillin
https://medreliefuk.shop/# order steroid medication safely online
https://britmedsdirect.shop/# pharmacy online UK
потолочкин натяжные потолки нижний новгород отзывы клиентов http://www.stretch-ceilings-nizhniy-novgorod.ru .
BritPharm Online viagra uk viagra
order medication online legally in the UK: pharmacy online UK — order medication online legally in the UK
UK chemist Prednisolone delivery: buy prednisolone — cheap prednisolone in UK
buy penicillin alternative online generic Amoxicillin pharmacy UK Amoxicillin online UK
заказать кухню в спб по индивидуальному проекту kuhni-spb-3.ru .
viagra uk Viagra online UK buy viagra online
trusted online pharmacy for ED meds: buy cialis online — buy cialis online
buy propecia safe online medication store safe online medication store
ZenCareMeds: affordable online pharmacy for Americans — buy clomid
TadaLife Pharmacy: trusted online pharmacy for ED meds — safe online pharmacy for Cialis
https://zencaremeds.shop/# buy propecia
safe online pharmacy for Cialis TadaLife Pharmacy tadalafil tablets without prescription
affordable online pharmacy for Americans: no rx pharmacy — order medicine discreetly USA
cialis: affordable Cialis with fast delivery — TadaLife Pharmacy
mexico pharmacy: MedicoSur — mail order pharmacy mexico
mexico pharmacy: mexican pharmacy — mexico pharmacy
cialis TadaLife Pharmacy buy cialis online
mexican pharmacy: MedicoSur — pharmacies in mexico
generic Cialis online pharmacy: TadaLife Pharmacy — discreet ED pills delivery in the US
mexico pharmacy MedicoSur mexico pharmacy
trusted online pharmacy for ED meds: TadaLife Pharmacy — generic Cialis online pharmacy
https://medicosur.shop/# mexican pharmacy
http://tadalifepharmacy.com/# tadalafil tablets without prescription
tadalafil tablets without prescription: Cialis online USA — affordable Cialis with fast delivery
ZenCare Meds com: safe online medication store — safe online medication store
mexican pharmacy pharmacia mexico mexico pharmacy
http://tadalifepharmacy.com/# generic Cialis online pharmacy
мелбет официальный сайт бонусы мелбет официальный сайт бонусы .
перепланировка помещений https://soglasovanie-pereplanirovki-kvartiry11.ru/ .
стоимость согласования перепланировки в москве https://www.stoimost-soglasovaniya-pereplanirovki-kvartiry.ru .
согласовать проект перепланировки https://www.soglasovanie-pereplanirovki-kvartiry3.ru .
discreet ED pills delivery in the US: safe online pharmacy for Cialis — tadalafil tablets without prescription
MedicoSur MedicoSur mexican pharmacy
http://medicosur.com/# mexican pharmacy
trusted online pharmacy for ED meds safe online pharmacy for Cialis discreet ED pills delivery in the US
https://zencaremeds.com/# ZenCare Meds com
buy cialis online: cialis — safe online pharmacy for Cialis
mexico pharmacy: mexican pharmacy — mexico pharmacy
generic Cialis online pharmacy cialis discreet ED pills delivery in the US
online pharmacy order medicine discreetly USA order medicine discreetly USA
online pharmacy 365 pills: trusted online pharmacy USA — discount pharmacy online
discreet ED pills delivery in the US: discreet ED pills delivery in the US — generic Cialis online pharmacy
?Salud por cada campeon del juego !
En casinos online internacionales puedes jugar sin restricciones y con atenciГіn al cliente en espaГ±ol. La seguridad y el anonimato son ventajas clave de casinos online internacionales. Muchos confГan en casinos online internacionales por su reputaciГіn y variedad internacional.
Acceder a casinosinternacionalesonline.space es sencillo, rГЎpido y sin procesos complicados. El catГЎlogo de casinosinternacionalesonline.space incluye tragamonedas, ruletas y juegos en vivo. Los casinosinternacionalesonline.space ofrecen experiencias Гєnicas con bonos exclusivos y juegos variados.
Disfruta de la emociГіn en casinos online fuera de EspaГ±a sin verifica — п»їhttps://casinosinternacionalesonline.space/
Que tengas la fortuna de disfrutar que la suerte te traiga emocionantes victorias !
achat discret de Cialis 20mg Intimi Santé achat discret de Cialis 20mg
https://potenzvital.shop/# PotenzVital
Tadalafilo Express: tadalafilo 5 mg precio — tadalafilo sin receta
Tadalafilo Express: Cialis genérico económico — comprar cialis
farmacia online italiana Cialis PilloleVerdi dove comprare Cialis in Italia
http://pilloleverdi.com/# cialis prezzo
acheter Cialis en ligne France: cialis prix — pharmacie qui vend du cialis sans ordonnance
potenzmittel cialis: tadalafil 20 mg preis — cialis kaufen ohne rezept
comprar Cialis online España: comprar cialis — Tadalafilo Express
Potenz Vital: Cialis Preisvergleich Deutschland — tadalafil 20 mg preis
http://pilloleverdi.com/# cialis generico
cialis generico cialis prezzo cialis
pharmacie qui vend du cialis sans ordonnance: cialis prix — cialis generique
https://intimisante.shop/# tadalafil sans ordonnance
farmacia online espaГ±a envГo internacional: farmacia online envГo gratis — comprar Cialis online España
cialis prix cialis prix cialis prix
Cialis Preisvergleich Deutschland: PotenzVital — cialis kaufen
http://tadalafiloexpress.com/# farmacias online seguras en espaГ±a
cd alarm http://alarm-radio-clocks.com .
cialis tadalafil senza ricetta compresse per disfunzione erettile
http://tadalafiloexpress.com/# farmacia online envГo gratis
https://potenzvital.shop/# internet apotheke
PotenzVital: Cialis generika günstig kaufen — cialis kaufen ohne rezept
cialis precio: Tadalafilo Express — cialis precio
IntimiSanté achat discret de Cialis 20mg acheter Cialis en ligne France
tadalafilo: tadalafilo — tadalafilo 5 mg precio
http://intimisante.com/# cialis sans ordonnance
cialis generico: cialis generico — cialis generico
livraison rapide et confidentielle pharmacie qui vend du cialis sans ordonnance Pharmacie en ligne livraison Europe
cialis: cialis prezzo — tadalafil italiano approvato AIFA
cialis generique: cialis generique — cialis 20 mg achat en ligne
https://potenzvital.com/# cialis kaufen ohne rezept
http://tadalafiloexpress.com/# Cialis generico economico
cialis kaufen ohne rezept Tadalafil 20mg Bestellung online Tadalafil 20mg Bestellung online