Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Earth_Analyzer

Компоненты и расходные материалы

Bolt IoT Bolt WiFi Module
× 1
Arduino UNO
× 1
Arduino Nano R3
× 1
nRF24l01
× 2
Двигатель постоянного тока, 12 В
× 2
DFRobot Solar Power Manager для свинцово-кислотных аккумуляторов 12 В
× 1
Драйверы двигателя SparkFun Dual H-Bridge L298
× 1
Перемычки (общие)
× 1
LM35
× 1
DFRobot Gravity:аналоговый емкостный датчик влажности почвы - устойчивый к коррозии
× 1
Микро-серводвигатель SG90
× 1
Джойстик, 10 кОм
× 1

Необходимые инструменты и машины

Паяльник (общий)
Проволока для припоя, без свинца
Флюс для припоя, пайка
Мультитул, отвертка

Приложения и онлайн-сервисы

IDE Arduino
Bolt IoT Bolt Cloud
integromat
API обмена SMS-сообщениями Twilio
mailgun
Android-приложение Bolt IoT
Приложение Bolt IoT для iOS

Об этом проекте

ПРИВЕТ, ПРИВЕТ! КАЖДЫЙ

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

МОДУЛЬ 1:

Аппаратные соединения для полной настройки теперь рассмотрим двигатели постоянного тока.

Для этого требуются два двигателя постоянного тока и драйвер двигателя. драйвер двигателя содержит

Здесь вам нужно подключить v +, en1, en2 к единой точке на макетной плате, а четыре провода двигателя - к четырем входам на выводах 1 ма 2. Теперь следующие выходные контакты вывода драйвера двигателя подключены к Arduino и аккумулятор должен быть подключен, как показано на схеме.

Теперь нам нужно соединить их с болтом. Те же четыре контакта должны быть подключены к цифровым контактам болта (0, 1, 2, 3).

Теперь датчик почвы должен быть подключен к болту, но поместив цифровой штифт на болт (цифровой 4-штырьковый). Теперь, наконец, пришло время подключить датчик температуры к аналоговому штифту болта (A0).

Теперь на этот раз все заземление и v + (датчик температуры, датчик влажности), en1, en2 и 5v Arduino и, наконец, все эти контакты должны быть подключены к батареям с требуемым напряжением.

МОДУЛЬ 2:

СОЕДИНЕНИЯ NRF:

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

ЗАКЛЮЧИТЕЛЬНОЕ СОЕДИНЕНИЕ NRF С ARDUINO

ТЕПЕРЬ ЕГО ВРЕМЯ ПОДКЛЮЧАЙТЕ УДОБНЫЕ ПАЛОЧКИ:

Используются два джойстика:

1) для управления направлением машины.

2) для управления сервоприводом.

МОДУЛЬ 3:

ОКОНЧАТЕЛЬНАЯ КОДИРОВКА

1) КОДИРОВКА ARDUINO:

передатчик:

  #include  
#include
#include
#include
#include

Радио RF24 (7, 8); // CSN, CE
адрес константного байта [6] ="00001";

int x_key =A1;
int y_key =A0;
int p_key =A3;
int q_key =A2;
int x_pos;
int y_pos;
int p_pos;
int q_pos;

void setup () {
radio.begin ();
radio.openWritingPipe (адрес)
;
radio.setPALevel (RF24_PA_MIN);
radio.setChannel (87);
radio.setDataRate (RF24_
250 Кбит / с);
radio.stopListening ();

Serial.begin (9600);
pinMode (x_key, INPUT);
pinMode (y_key, INPUT);
pinMode (p_key, INPUT);
pinMode (q_key, INPUT);
}
int pos;
void loop () {
x_pos =analogRead (x_key);
y_pos =analogRead (y_key);
p_pos =analogRead (p_key);
q_pos =analogRead (q_key);
Serial.println (x_pos);
Serial.println (y_pos);
Serial.println (p_pos);
Serial.println (q_pos);
if ( p_pos> 400 &&p_pos <600 &&q_pos> 400 &&q_pos <600)
{
if (x_pos> 400 &&x_pos <600 &&y_pos> 400 &&y_pos <600)
{
pos =100;
radio.write (&pos, sizeof (pos));
}
if (x_pos> 400 &&x_pos <600 &&y_pos <400)
{
pos =200;
radio.write (&pos, sizeof (pos));
}
if (x_pos> 400 &&x_pos <600 &&y_pos> 600)
{
pos =300;
radio.write (&pos, sizeof (pos));
}
if (y_pos> 400 &&y_pos <600 &&x_pos <400)
{
pos =400;
radio.write (&pos, sizeof (pos));
}
if (y_pos> 400 &&y_pos <600 &&x_pos> 600 )
{
pos =500;
radio.write (&pos, sizeof (pos));
}
Serial.println (pos);
delay (100);
}
else if (p_pos <400 || p_pos> 600)
{
if (p_pos <400)
{
pos =600;
radio.write (&pos, sizeof (pos));
}
if (p_pos> 600)
{
pos =700;
radio.write (&pos, sizeof (pos));
}
задержка (100);
}
}

приемник:

  #include  
#include
#include
#include
#include
#include
Сервопривод;

Радио RF24 (7, 8); // CSN, CE
адрес константного байта [6] ="00001";
int servo_pin =9;
int sensor_pin =A0;
int output_value;

void setup () {
Serial.begin (9600);
radio.begin ();
servo.attach (servo_pin);
radio.openReadingPipe (0, адрес);
radio.setPALevel (RF24_PA_MIN);
radio.setChannel (87);
radio.setDataRate (RF24_250KBPS);
radio.startListening ();
}
int pos;
void loop () {
if (radio.available ()) {
radio.read (&pos, sizeof (pos));
Serial.println (pos);
if (pos ==100)
{
digitalWrite (6, LOW);
digitalWrite (5, LOW);
digitalWrite (4, LOW);
digitalWrite (3, LOW);
// Serial.println ("gk0");
}
иначе if (pos ==200) {
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
digitalWrite (4, HIGH);
digitalWrite (3, LOW);
delay ( 10);
// Serial.println ("gk1");
}
else if (pos ==300) {
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
цифровой Write (4, LOW);
digitalWrite (3, HIGH);
delay (10);
// Serial.println ("gk2");
}
else if (pos ==400) {
digitalWrite (6, LOW);
digitalWrite (5, HIGH);
digitalWrite (4, HIGH);
digitalWrite (3 , LOW);
delay (10);
// Serial.println ("gk3");
}
иначе if (pos ==500) {
digitalWrite (6, HIGH);
digitalWrite (5, LOW);
digitalWrite (4, LOW);
digitalWrite (3, HIGH);
delay (10);
// Serial.println ("gk5");
}
иначе if (pos ==600) {
servo.write (90);
delay (10 );
// Serial.println ("gk6");
}
иначе if (pos ==700) {
servo.write (180);
delay ( 10);
// Serial.println ("gk7");

}
}
else
{
Serial.println ( "соединение потеряно");
}
}
}

теперь для получения сообщения телеграммы:(код сервера)

войдите на один из серверов, например ripl.it, а затем загрузите коды

main.py

  import requests # для выполнения HTTP-запросов 
import json # библиотека для обработки данных JSON
модуль времени импорта # для спящего режима
из boltiot import Bolt # импорт Bolt из модуля boltiot
import conf # файл конфигурации
mybolt =Bolt (conf.bolt_api_key, conf.device_id)
def get_sensor_value_from_pin (pin):
попробуйте:
response =mybolt.digitalRead (pin)
data =json.loads (response)
if data ["success"]! =1:
print ("Request not успешный")
print ("This это ответ-> ", данные)
return -999
sensor_value =int (data [" value "])
return sensor_value
кроме Exception как e:
print ("Что-то пошло не так при возврате значения датчика")
print (e)
return -999
def send_telegram_message (message):
"" "Отправляет сообщение через Telegram" ""
url ="https://api.telegram.org/" + conf.telegram_bot_id + "/ sendMessage"
data ={
"chat_id":conf.telegram_chat_id,
"text":message
}
попробуйте:
re sponse =requests.request (
"GET",
url,
params =data
)
print ("Это ответ Telegram")
print (response.text)
telegram_data =json.loads (response.text)
return telegram_data ["ok"]
кроме Exception as e:
print ("Произошла ошибка при отправке предупреждающего сообщения через Telegram ")
print (e)
return False
while True:
# Шаг 1
sensor_value =get_sensor_value_from_pin (" 4 ")
print ("Текущее значение датчика:", значение_сенсора)
# Шаг 2
если значение_сенсора ==-999:
print ("Запрос был неудачным. Пропуск. ")
time.sleep (10)
continue
# Шаг 3
если sensor_value> =conf.threshold:
print (" Текущее значение температуры ")
message =" Значение влажности чуть больше порога "
telegram_status =send_telegram_message (message)
print (" Это статус Telegram:", telegram_status)
# Шаг 4
time.sleep (100)

conf.py:

  "" "Конфигурации для telegram_alert.py" "" 
bolt_api_key ="XXXX" # Это ваш ключ API Bolt Cloud
device_id ="XXXX" # Это идентификатор устройства и будет похоже на BOLTXXXX, где XXXX - это некоторые числа
telegram_chat_id ="@XXXX" # Это идентификатор созданного канала Telegram. Вставить после @
telegram_bot_id ="botXXXX" # Это идентификатор созданного бота Telegram. Вставить после бота
threshold =0 # Пороговое значение, за которым следует отправлять оповещение

введите значения вашего бота и API

ПРОЦЕСС:

Оповещение через Telegram

Что такое Telegram?

Telegram - это приложение для обмена сообщениями, похожее на Whatsapp. Вы также можете отправлять и получать сообщения вместе с файлами. Это БЕСПЛАТНО. Вы можете получить доступ к платформе со своего телефона Android / iOS / Windows, а также со своего ПК или Mac.

Некоторые термины Telegram -

Что такое канал Telegram?

Канал для Telegram - это то же самое, что группы для Whatsapp. Каналы - это инструмент для трансляции ваших сообщений большой аудитории. У них может быть неограниченное количество подписчиков, они могут быть общедоступными с постоянным URL-адресом, и каждое сообщение в канале имеет свой собственный счетчик просмотров.

Что такое бот?

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

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

Чему мы научимся в этом проекте?

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

Что мне нужно для этого проекта?

Для отправки предупреждений и сообщений через Telegram вам потребуется,

  • Телефон на базе Android / iOS / Windows с подключением к Интернету.
  • Учетная запись Telegram. Для этого вам потребуется номер мобильного телефона.
  • Доступ к вашей ОС Ubuntu через puTTY или виртуальную машину.

Настроить Telegram

Шаги по подписке / входу в Telegram

  • Зайдите в PlayStore или App Store на своем телефоне и найдите Telegram.
  • Загрузите и установите последнюю версию приложения Telegram.
  • Зарегистрируйтесь для новой учетной записи или войдите в Telegram, указав свой номер мобильного телефона.
  • Telegram позвонит вам ИЛИ отправит вам SMS для подтверждения номера вашего мобильного телефона.
  • Подтвердите свою учетную запись и при необходимости подтвердите все разрешения.
  • Вы войдете в Telegram и увидите экран, аналогичный показанному ниже. (Ничего страшного, если он отличается от скриншота ниже)

Вы успешно установили Telegram и настроили свою учетную запись. В следующих уроках мы узнаем больше о каналах и ботах.

Создание канала

Что такое канал Telegram?

Канал для Telegram - это то же самое, что группы для Whatsapp. Каналы - это инструмент для трансляции ваших сообщений большой аудитории. У них может быть неограниченное количество подписчиков, они могут быть общедоступными с постоянным URL-адресом, и каждое сообщение в канале имеет свой собственный счетчик просмотров.

Шаги по созданию канала

  • Перейдите на главный экран приложения Telegram.
  • Проведите по экрану слева, чтобы открыть меню.
  • Нажмите "Новый канал".
  • Вам будет предложено ввести название и описание вашего канала. Дайте подходящее название и описание. Добавлять фото необязательно.
  • На следующем экране установите канал как общедоступный.
  • На том же экране вам будет предложено ввести постоянную ссылку для вашего канала. Для создания ссылки на канал можно использовать строчные буквы и цифры от 0 до 9.
  • Обратите внимание, что имя ссылки канала является глобальным, и вы сможете создать ссылку на канал, только если имя ссылки доступно. Название ссылки на канал похоже на адрес электронной почты, то есть одновременно может существовать только один уникальный идентификатор электронной почты.
  • Вы можете оставить название ссылки на канал в виде temperature_alert_, за которым следует ваш электронный адрес. Например, если мой идентификатор электронной почты - [email protected], я могу оставить имя ссылки канала как temperature_alert_developer_boltiot_com (Я удалил символы @ и., Поскольку это было недопустимо, и заменил их знаком подчеркивания _) . Это просто предложение. Вы можете оставить название ссылки канала по своему усмотрению, пока оно действительно.
  • Запомните название постоянной ссылки этого канала. Позже потребуется отправлять сообщения на этот канал. Например, название ссылки на канал на скриншоте ниже:" temperature_alert ".
  • Поздравляем! Вы создали новый канал. Вы также можете просмотреть этот канал на главном экране своего приложения.
  • Вы можете нажать на название канала вверху, чтобы просмотреть о нем более подробную информацию.
  • Затем нам нужно будет создать и добавить бота в канал, чтобы он мог публиковать для нас оповещения в этом канале.

Создать бота

Что такое бот?

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

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

Создать нового бота

Telegram позволяет нам создать нового бота с помощью бота под названием «BotFather». Это единый бот для создания и управления другими ботами.

  • На главном экране приложения щелкните значок поиска в правом верхнем углу и введите «отец-бот».
  • В результатах поиска выберите правильный результат для "BotFather", как показано ниже. Правильный «BotFather» будет отмечен синей галочкой рядом с его именем. Вы попадете в окно чата с «BotFather».
  • В чате уже будет несколько элементов, и вам будет показан список команд, с которых можно начать работу.
  • Поскольку нам нужно создать нового бота, введите "/ newbot" в окне.
  • Вам будет предложено ввести еще несколько деталей, например имя бота и имя пользователя бота.
  • Когда ваш бот будет успешно создан, вам будет показан экран, аналогичный показанному ниже, и на нем будет отображаться токен бота. Этот токен используется для управления вашим ботом, а также для отправки сообщений от его имени. Храните этот токен в безопасности, так как он позволит любому получить доступ к вашему боту.
  • На скриншоте выше токен бота - «894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc». Сохраните его как telegram_bot_id. Telegram_bot_id сохраняется как «бот», за которым следует токен бота. Итак, в этом примере telegram_bot_id будет «bot894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc».
  • Telegram_bot_id будет использоваться в коде Python для отправки сообщений. Код Python будет изучен на следующих уроках.
  • Также будьте осторожны при сохранении идентификатора бота. Вы можете запутаться между 0 и O, I и 1 и т. Д., Поскольку они выглядят одинаково.
  • Поздравляем, вы создали нового бота. Теперь нам нужно добавить его в канал, который мы создали ранее, чтобы мы могли отправлять оповещения.

Добавить бота на канал

  • На главном экране приложения откройте созданный ранее канал.
  • На экране щелкните имя канала вверху, чтобы открыть информацию о канале.
  • Нажмите кнопку "Администраторы", чтобы мы могли добавить вновь созданного бота в канал.
  • Найдите бота, созданного с использованием имени пользователя бота. Как только вы найдете нужного бота, нажмите на него, чтобы добавить в канал. Убедитесь, что вы нажали кнопку "Администраторы" на предыдущем шаге, так как это позволит нашему боту публиковать сообщения на канале.
  • Вам будет предложено подтвердить права для бота. Нажмите на галочку в правом верхнем углу, чтобы продолжить добавление бота в канал. Убедитесь, что у бота есть права на «Публикация сообщений».
  • Теперь вы увидите только что созданного бота в списке администраторов канала.
  • Теперь напишем код для отправки сообщений на канал через бота.

ТЕПЕРЬ НАСТРОЙКА СЕТИ ДЛЯ TWILLO И ПОЧТОВОГО ПУЛЬТА

Получайте значения датчика температуры LM35 по SMS и электронной почте в любое время на свой мобильный телефон с помощью Google Assistant.

Что вы делаете, когда вам нужно в любое время проверить значения датчиков вашего Iot-проекта? Вам просто нужно войти в свое облако, чтобы проверить это. Кажется просто, правда? Но что, если бы вам приходилось проверять значения один раз в час или один раз в несколько минут, а то и много раз в день. Это было бы немного (очень) громоздко, правда? А теперь представьте себе мир, в котором вы можете получать значения датчиков по SMS и электронной почте, просто сказав «Пришлите мне значения датчиков» своему Google Ассистенту. Подожди, подожди, подожди. Эта ситуация больше не является воображаемой, потому что вы сами можете сделать это за несколько шагов. Прочтите, чтобы узнать об этом.

В этом проекте мы будем получать значения датчика температуры от датчика LM35 по SMS и электронной почте через команду в Google Assistant.

Шаг 1. Настройка оборудования

Держите датчик LM35 в руке так, чтобы имя было видно вам. Три контакта слева направо - это VCC, выход и GND. Подключите три контакта к проводам «мама-папа». Подключите три провода, соответствующие трем контактам слева направо, к контактам 5 В, A0 и GND на модуле Bolt WiFi. Подключите модуль WiFi к источнику питания 5 В. Убедитесь, что он подключен к активному интернет-соединению.

Шаг 2. Создание модуля IFTTT в Integromat

Войдите в свою учетную запись Integromat. Если вы еще не зарегистрировались в Integromat, вы можете создать учетную запись, щелкнув здесь. После входа в систему нажмите «Создать новый сценарий» в правом верхнем углу экрана. Выберите на экране IFTTT, HTTP, Mailgun и Twilio, чтобы выбрать необходимые инструменты, а затем нажмите «Продолжить». Затем щелкните белый кружок и выберите IFTTT из списка, а затем выберите «Получить данные» в меню. Этот модуль необходим для подключения его к апплету на IFTTT, который будет обсуждаться позже. Нажмите «Добавить», чтобы добавить новый Webhook, дайте ему подходящее имя и нажмите «Сохранить». Теперь вы получите URL-адрес или ссылку. Сохраните его для дальнейшего использования.

Шаг 3. Создание модуля HTTP в Integromat

Затем нажмите на символ «+», прикрепленный к модулю, чтобы добавить новый модуль. Выберите «HTTP», а затем «Сделать запрос». Это необходимо для получения значений датчиков из Bolt Iot Cloud. В URL-адрес вставьте ссылку https://cloud.boltiot.com/remote/your-bolt-iot-api-key/analogRead?pin=A0&deviceName=BOLTXXXXXXX. Замените your-bolt-iot-api-key и BOLTXXXXXXX соответствующими учетными данными, которые вы легко найдете в своем Bolt Iot Cloud. Позвольте методу быть «GET» и нажмите «OK».

Вышеупомянутая ссылка используется для получения значений датчиков из Bolt Iot Cloud. Вывод указанной выше ссылки будет в форме {"value":"XXX", "success":"1"}, где XXX - значения датчика.

Шаг 4:Создание модуля Mailgun в Integromat

Теперь нажмите еще раз на «+», введите «Управление потоком» в поле поиска и выберите его, а затем «Маршрутизатор». Необходимо сделать два белых круга. Нажмите на первый белый кружок и выберите «Mailgun», а затем «Отправить электронное письмо». Здесь Mailgun используется для получения электронного письма с температурой. Если у вас уже есть учетная запись в Mailgun, тогда у вас должен быть ключ API и доменное имя, которые можно легко найти в вашей учетной записи Mailgun. Если у вас нет учетной записи в Mailgun, вы можете выполнить альтернативный шаг, указанный ниже. Заполните необходимые данные по запросу. Введите адрес электронной почты получателя (который является вашим адресом электронной почты). В поле «Отправитель» введите «test @ yourdomainname». В разделе «Контент» нам нужно записать значение температуры, а не значение датчика. Чтобы преобразовать значение температуры в значение датчика, нам нужно разделить число на 10,24. Чтобы получить значение датчика в виде XXX, нам нужно исключить все остальные символы, для которых мы используем функцию «substring». Щелкните символ «A» в диалоговом окне рядом и выберите «подстрока».

В первом поле внутри скобок щелкните параметр «Данные» под символом звездочки, а затем «11» и «14» во втором и третьем пространстве. Строго говоря, это неправильный метод для получения значения датчика, поэтому я использую хак, чтобы получить. Если кто-то знает правильный путь, он может упомянуть метод в разделе комментариев ниже.

Последнее сделано для захвата только "XXX" из вывода. Затем это число делится на 10,24

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

Шаг 6. Создание нового апплета в IFTTT

Войдите в свою учетную запись IFTTT. Если вы еще не зарегистрировались на IFTTT, вы можете создать учетную запись, нажав здесь. После входа в систему нажмите «Новый апплет» в разделе «Мои апплеты». Click on "+this" followed by "Google Assistant" after searching for it in the search box. Click on "Say a simple phrase" in the following screen. Type the command for which you want to trigger the required action.

Click on "Trigger" followed by "+that". Search for "Webhooks" in the search box and select it followed by selecting "Make a web request" in the following screen. In the URL field, paste the link which we got in Step 2 after creating an IFTTT module in Integromat. This step is very essential to run the scenario in Integromat when you say the command to Google Assistant. Afterwards, select "POST" in method and click on "Create Action". Write a suitable name for the applet and select "Finish".

Вот и все. Now see the magic when you take out your mobile phone and say "Ok Google, send the temperature sensor value."

Schematics

Connecting female-to-male wires to LM35 sensor

Connecting female-to-male wires to the Bolt WiFi module

Final connection

THAT'S IT NOW UPLOAD EVERY THING AND THEN CHECK.

IF ANY DOUBTS CONTACT ME BY COMMENT SECTION.

THANK YOU....................................


Код

  • FINAL RECEIVER
  • FINAL TRANSMITER
FINAL RECEIVERArduino
#include #include #include #include #include #include Servo servo;RF24 radio(7, 8); // CSN, CEconst byte address[6] ="00001";int servo_pin =9;int sensor_pin=A0;int output_value;void setup() { Serial.begin(9600); radio.begin(); servo.attach (servo_pin ); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.setChannel(87); radio.setDataRate(RF24_250KBPS); radio.startListening();}int pos;void loop() { if (radio.available()) { radio.read(&pos, sizeof(pos)); Serial.println(pos); if(pos==100) { digitalWrite(6,LOW); digitalWrite(5,LOW); digitalWrite(4,LOW); digitalWrite(3,LOW); // Serial.println("gk0"); } else if (pos==200){ digitalWrite(6,HIGH); digitalWrite(5,LOW); digitalWrite(4,HIGH); digitalWrite(3,LOW); задержка (10); // Serial.println("gk1"); } else if (pos==300){ digitalWrite(6,LOW); digitalWrite(5,HIGH ); digitalWrite(4,LOW); digitalWrite(3,HIGH); задержка (10); // Serial.println("gk2"); } else if (pos==400){ digitalWrite(6,LOW); digitalWrite(5,HIGH ); digitalWrite(4,HIGH); digitalWrite(3,LOW); задержка (10); // Serial.println("gk3"); } else if (pos==500){ digitalWrite(6,HIGH); digitalWrite(5,LOW ); digitalWrite(4,LOW); digitalWrite(3,HIGH); задержка (10); // Serial.println("gk5"); } else if (pos==600){ servo.write(90); задержка (10); // Serial.println("gk6"); } else if (pos==700){ servo.write(180); задержка (10); // Serial.println("gk7"); } } else { Serial.println("connection lost"); } }
FINAL TRANSMITERArduino
#include #include #include #include #include RF24 radio(7, 8); // CSN, CEconst byte address[6] ="00001";int x_key =A1; int y_key =A0; int p_key =A3; int q_key =A2; int x_pos;int y_pos;int p_pos;int q_pos;void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.setChannel(87); radio.setDataRate(RF24_250KBPS); radio.stopListening(); Serial.begin (9600); pinMode (x_key, INPUT); pinMode (y_key, INPUT); pinMode (p_key, INPUT); pinMode (q_key, INPUT); }int pos;void loop() { x_pos =analogRead (x_key); y_pos =analogRead (y_key); p_pos =analogRead (p_key); q_pos =analogRead (q_key); Serial.println(x_pos); Serial.println(y_pos); Serial.println(p_pos); Serial.println(q_pos); if (p_pos>400 &&p_pos<600 &&q_pos>400 &&q_pos<600) { if(x_pos>400 &&x_pos<600 &&y_pos>400 &&y_pos<600) { pos=100; radio.write(&pos, sizeof(pos)); } if(x_pos>400 &&x_pos<600 &&y_pos<400) { pos=200; radio.write(&pos, sizeof(pos)); } if(x_pos>400 &&x_pos<600 &&y_pos>600) { pos=300; radio.write(&pos, sizeof(pos)); } if(y_pos>400 &&y_pos<600 &&x_pos<400) { pos=400; radio.write(&pos, sizeof(pos)); } if(y_pos>400 &&y_pos<600 &&x_pos>600) { pos=500; radio.write(&pos, sizeof(pos)); } Serial.println(pos); delay(100);}else if(p_pos<400 || p_pos>600){ if(p_pos<400) { pos=600; radio.write(&pos, sizeof(pos)); } if(p_pos>600) { pos=700; radio.write(&pos, sizeof(pos)); } delay(100);}}

Схема


Производственный процесс

  1. Arduino Spybot
  2. FlickMote
  3. Самодельный телевизор B-Gone
  4. Основные часы
  5. Найди меня
  6. Arduino Power
  7. Tech-TicTacToe
  8. Четвероногий Arduino
  9. Управление яркостью светодиода с помощью Bolt и Arduino
  10. Джойстик Arduino