Показаны сообщения с ярлыком СвоимиРуками. Показать все сообщения
Показаны сообщения с ярлыком СвоимиРуками. Показать все сообщения

четверг, 10 января 2019 г.

Автоматическое включение ноутбука при подаче питания. Схема.

При подаче питания через реле заряжается конденсатор. Как только он будет заряжен - контактная группа реле размыкается.
Чем больше емкость С1 - тем дольше реле будет замкнуто. R1 служит для разрядки конденсатора.


вторник, 28 августа 2018 г.

Переделка китайского вольтметра в амперметр.

Не буду углубляться в подробности работы таких вольтметров. Взамен этого расскажу как быстро переделать его в амперметр.
Дополнительно понадобятся всего 2 детали - 5-ти ватный резистор на 0.1Ом и подстроечник (Сгодятся любой - будет в  делителем).
Вольтметр обычный, китайский. С тремя проводами. Для вольтметров с двумя проводами нужно будет выпаять диод, идущий на вход стабилизатора и подпитать измеритель от отдельного источника питания.
Собираем согласно схеме. Подстроечник припаян параллельно шунту. Им и выставляем точное значение отображаемого тока.
Для вольтметров с тремя проводами (белый, красный, черный) один конец припаиваем на среднюю ногу подстроечника, а второй сразу на вход МК.

Теперь можно посчитать нагрев шунта.

Согласно закону Ома падение напряжения равно:
U=R*I = 0.5(вольт при токе 5А) - что не очень то эффективно...
При этом, мощность рассеиваемая шунтом:
P=U*I = 0.5*5=2.5Вт

Выводы. 

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


воскресенье, 26 августа 2018 г.

Портативная глушилка Wifi сигнала на ESP826

Данный пост был написан для ознакомления возможностей ESP8266. Помните, описанные в этом посте действия над некоторыми WiFi сетями могут быть наказуемы!. Не проводите эти действия над другими сетями.
Сразу опустим все аппаратные и программные моменты.  Технически, это устройство, которое позволяет производить "WiFi deauthentication attack".  Вы выбираете клиентов, которых вы хотите отключить от WiFi сети и начинаете атаку.

ШАГ 1
Покупаете esp8266 Nodemcu на Али.  Стоит на примерно $2.
Можете сделать это по ссылке, можете в другом магазине, если у вас ее еще нет. Я покупал по ссылке.
ШАГ 2
Я не автор этого кода. Все поздравления направляются ему.
Переходим по ссылке и скачиваем архив и распаковываем его.

ШАГ 3

Скачиваем и станавливаем Arduino IDE (у меня это весия 1.8.2)
ШАГ 4
  1. Открываем Arduino IDE
  2. Переходим Файл > Настройки
  3. Вставляем эту ссылку > http://arduino.esp8266.com/stable/package_esp8266com_index.json
  4. Далее переходим Инструменты > Плата > Менеджер плат
  5. Ищем в поиске Esp8266 и устанавливаем версию 2.0.0
  6. Затем, снова переходим в Файл > Настройки и открываем ссылку "Другие настройки можно отредактировать непосредственно в файле"
  7. Копируем это имя user_interface.h ) и вставляем в поиск по папке и открываем с помощью текстового редактора.
  8. Прокручиваем файл до конца и перед " #endif " вставляем эти 4 строки
     typedef void (*freedom_outside_cb_t)(uint8 status);
    int wifi_register_send_pkt_freedom_cb(freedom_outside_cb_t cb);
    void wifi_unregister_send_pkt_freedom_cb(void);
    int wifi_send_pkt_freedom(uint8 *buf, int len, bool sys_seq);
  9. Сохраняем, закрываем :D
  10. Подключаем ESP дата кабелем.
  11. Запускаем Arduino IDE, открываем код, выбираем нужную плату в менеджере и загружаем.
ШАГ 5
Подключаемся к точке по ip 192.168.4.1 (название сети - pwned, пароль - deauther) и  поочередно клацаем на Search ,Select и Attack на любую сеть в радиусе ESP8266.
Название сети и пароль по-умолчанию можно изменить в файле Settings.cpp


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

Миллиомметр - приставка к мультиметру

Иногда в радиолюбительской практике возникает потребность измерения саб-омного сопротивления. И покупать готовый прибор ради пары - тройки измерений не особо улыбается. Предложенная мной схема - приставка к мультиметру, который может измерять милливольты - совершенна проста и точность показаний находится на высоком уровне. Собрана на доступных компонентах. Лично мной были проверенны и сверены с эталоном сопротивления до 0.01 ом включительно. Считаю, что сопротивления ниже этой отметки у обычного радиолюбителя если и встречаются, то крайне редко. По началу приставка задумывалась как прототип готового прибора, но потом, будучи удовлетворенный результатом - оставил как есть.
Схему вы можете увидеть выше. Lm317 включена в режиме ограничения тока. При составном резисторе на 1.2 Ома ток - 1А. Мультиметр замеряет ограничиваемое напряжение на нагрузке. Таким образом, зная ток и напряжение, можно по закону Ома вычистить сопротивление. Для тех, кто не помнит - вот формула:

R=U/I

Так как значение I нам известно - 1А, то R=U. Другими словами на экране мультиметра мы получаем уже сопротивлениев Омах.

Автоматический регулятор скорости вентилятора

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

Настройка производится до закрепления термодатчика на радиаторе. Вращая R1 добиваемся чтобы вентилятор остановился и затем вращая в обратн
ую сторону заставляем его гарантированно запускаться при зажимании терморезистора между пальцами (36 градусов) Если ваш вентилятор иногда не запускается даже при сильном нагреве (паяльник поднести) то нужно добавить цепочку С1, R2. Тогда R1 выставляем так, чтобы вентилятор гарантированно запускался при подаче напряжения на холодный блок питания, а потом, через несколько секунд после заpяда конденсатора, обороты падали, но полностью вентилятор не останавливался. Теперь закрепляем датчик и проверяем как все это будет крутится пpи реальной работе.
Rt - любой терморезистор с отрицательным ТКЕ, например, ММТ1 номиналом 10 - 30 кОм. Терморезистор крепится (приклеивается) через тонкую изолирующую прокладку (лучше слюдяную) к радиатору высоковольтных транзисторов (или к одному из них).

суббота, 25 августа 2018 г.

Счетчик подписчиков Youtube

О чем мечтает каждый автор YouTube? О том, чтобы зрители смотрели все его новые видео! Если пользователи подпишутся на ваш канал, они будут сразу узнавать о новых роликах и посещать вашу страницу снова и снова. 
Счетчик подписчиков - хорошее решение для украшения интерьера любого автора Youtube . Данный счетчик позволяет показывать до 9999 подписчиков.
Потребуется: модуль сегментного индикатора на TM1637 и esp8266 (в моем случае esp-01, нам нужны всего 2 ноги). Чтобы все это более меее цивильно выглядело, я вытравил печатную плату с предумсотренным преобразователем на 3.3 вольта от 5. Также я купил рамку в FixPrice за 25 рублей и набросал картинку в формате рамки - 10х15. Если кому понадобится.

Как это работает

Скетч опрашивает через API канал на youtube и считывает показания:
  1. Количество подписавшихся
  2. Количество загруженных видео
  3. Количество просмотренных видео
  4. Количество скрытых подписчиков

Скетч

 Скачиваем нужные библиотеки:
  1. Для работы с дисплеем
  2. YouTube API
  3. ArduinoJson
#include "SevenSegmentTM1637.h"
#include                   // installed by default  
#include             // https://github.com/witnessmenow/arduino-youtube-api
#include            // https://github.com/bblanchon/ArduinoJson


#include 
#include 
const byte PIN_CLK = 0;   // define CLK pin (any digital pin)
const byte PIN_DIO = 2;   // define DIO pin (any digital pin)
SevenSegmentTM1637    display(PIN_CLK, PIN_DIO);


//------- Replace the following! ------
char ssid[] = "Имя WiFi"; // your network SSID (name)
char password[] = "Пароль";   // your network password

// google API key
// create yours: https://support.google.com/cloud/answer/6158862?hl=en
#define API_KEY "Создайте свой по ссылке выше"

// youtube channel ID
// find yours: https://support.google.com/youtube/answer/3250431?hl=en
#define CHANNEL_ID "Создайте свой по ссылке выше"



WiFiClientSecure client;
YoutubeApi api(API_KEY, client);

unsigned long api_mtbs = 1000; //mean time between api requests
unsigned long api_lasttime;   //last time api request has been done

long subs = 0;

void setup() {

  Serial.begin(115200);
display.begin();            // initializes the display
  display.setBacklight(100);  // set the brightness to 100 %
  display.print("INIT");
  
  // Set WiFi to station mode and disconnect from an AP if it was Previously
  // connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  // Attempt to connect to Wifi network:
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  IPAddress ip = WiFi.localIP();
  Serial.println(ip);
display.clear();

}

void loop() {
  if (millis() > api_lasttime + api_mtbs)  {
    if(api.getChannelStatistics(CHANNEL_ID))
    {
      Serial.println("---------Stats---------");
      Serial.print("Subscriber Count: ");
      Serial.println(api.channelStats.subscriberCount);
      Serial.print("View Count: ");
      Serial.println(api.channelStats.viewCount);
      Serial.print("Comment Count: ");
      Serial.println(api.channelStats.commentCount);
      Serial.print("Video Count: ");
      Serial.println(api.channelStats.videoCount);
      // Probably not needed :)
      //Serial.print("hiddenSubscriberCount: ");
      //Serial.println(api.channelStats.hiddenSubscriberCount);
      Serial.println("------------------------");

  display.print(api.channelStats.subscriberCount); 
  
    }
    api_lasttime = millis();
  }

}

LCD2USB - подключение LCD индикатора к компьютеру через USB

LCD2USB - проект с открытым исходным кодом и описанием железа (open source/open hardware). Цель LCD2USB - подсоединить текстовые дисплеи на основе контроллера HD44780 к персональным компьютерам (PC) через USB. LCD2USB разрабатывался как дешевый проект, который можно просто изготовить из доступных запчастей. Поэтому он основан на недорогом микроконтроллере Atmel AVR ATmega8 (из памяти программ flash 8 кбайт используется ~3 кбайт), который легко достать. LCD2USB поставляется с программой-демо, работающей на LinuxMacOS X и Windows.
Dстатье описан проект, который позволяет легко и недорого подключить к компьютеру LCD-индикатор. Оригинал статьи на Github - https://github.com/harbaum/LCD2USB
В настоящий момент LCD2USB поддерживается lcd4linux (поддержка LCD2USB встроена), LCD Smartie (требуется отдельный драйвер) и LCDProc (поддержка LCD2USB встроена).
LCD2USB базируется на следующих проектах:
  •  LCD4LINUX [1], отличный фреймворк для использования маленьких LCD вместе с Линукс
  •   V-USB [2], полная программная реализация протокола USB для платформы AVR
  •      USBtiny [3], другая программная реализация протокола USB для AVR
  •     LCD library for HD44870 based LCD [9], подпрограммы LCD от Peter Fleurys для AVR




Интерфейс USB

USB интерфейс LCD2USB основан на программной реализации протокола USB с использованием трех ножек AVR (PC0, PC1 и PD2). Эта программная реализация поддерживает только low speed USB, о которой PC информируется резистором R1. Текущая версия 1.1 LCD2USB работает с сигналами USB на 3.6V, и в этом отношении она больше соответствует стандарту USB, чем старая версия 1.0.
Соединение с USB может происходить через коннектор типа USB B. Это квадратный коннектор, обычно используемый для USB-устройств (в отличие от коннекторов типа flat A, используемый для USB хостов). USB коннектор монтируется на обратной стороне PCB. Другой способ подключения - прямая напайка кабеля к обратной стороне, как показано на рисунке.

Питание

Для дисплеев с подсветкой нужно предпринять специальные меры для их питания. LCD2USB разработан так, что потребляет в большинстве случаев 75 мА, что нормально для LCD с подсветкой на LED. Эта величина также сообщается PC при конфигурировании подключения USB. Интерфейс LCD2USB может предоставить до 100 мА с помощью программного управления подсветкой. Это ограничение транзистора T1. Если подсветка потребляет более 100 мА, необходимо заменить T1 (см. секцию "Примечания к списку деталей" далее). Также необходимо предотвратить перегрузку шины USB, которая не может предоставить ток более 500 мА для bus powered device. Увеличение потребления тока подсветкой необходимо отразить в конфигурации устройства USB путем настройки константы USB_CFG_MAX_BUS_POWER в файле usbconfig.h исходного кода прошивки (firmware), и перекомпилировать проект. Это изменение firmware может не потребоваться для всех PC, но некоторые могут отключать источник питания для устройства, которое потребляет ток больше, чем заказано в дескрипторах USB.

Схема

На основе этой схемы изготавливаем печатную плату. От себя добавлю, что я убрал ДУВ1бК5бД1бК4бС7,S1 и S2. И без них работает нормально.

Прошивка

avrdude -c stk200 -p atmega8 -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m -U flash:w:firmware-avrusb.hex
или
avrdude -c usbasp -p atmega8 -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m -U flash:w:firmware-avrusb.hex

Сборка и настройка

Свой экран я собрал на макетке:
В системе он определился сразу как LCD2USB. Далее, если необходимо ставим драйвер...
Экран работает как с Smartie, так и с AIDA  64: 

Возможности, конечно, ограничены этими программами, но всеравно достаточно обширны. Smartie позволяет выводить базовую eyae о железе, новых Email, получать RSS, печатать все что угодно на экране. AIDA 64 может выводить более обширную инфу о компьютере, которую удобно мониторить при тестах.

Пара фото моего экрана