Мазмуну:

ESP8266 тактасын колдонгон YouTube абоненттик эсептегич: 9 кадам (сүрөттөр менен)
ESP8266 тактасын колдонгон YouTube абоненттик эсептегич: 9 кадам (сүрөттөр менен)

Video: ESP8266 тактасын колдонгон YouTube абоненттик эсептегич: 9 кадам (сүрөттөр менен)

Video: ESP8266 тактасын колдонгон YouTube абоненттик эсептегич: 9 кадам (сүрөттөр менен)
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Июль
Anonim
Image
Image
ESP8266 тактасын колдонуу менен YouTube жазылуучуларынын эсептегичи
ESP8266 тактасын колдонуу менен YouTube жазылуучуларынын эсептегичи
ESP8266 тактасын колдонуу менен YouTube жазылуучуларынын эсептегичи
ESP8266 тактасын колдонуу менен YouTube жазылуучуларынын эсептегичи

Урматтуу достор, дагы бир ESP8266 долбооруна кош келиңиздер Бүгүн биз чоң LCD дисплейи жана 3D басылган корпусу бар DIY YouTube абоненттик эсептегичин курабыз. Баштайлы!

Бул үйрөткүчтө биз муну жасайбыз: DIYдин YouTube абоненттик эсептегичи. Ал бир нече жума мурун караган чоң I2C дисплейин колдонуп, абоненттердин санын аралыктан келген сандарды көрүүгө оңой көрсөтөт. Эсептегичтин корпусу жыгач жип менен 3D форматында басылган. Мен бул жолу эки башка жыгач жиптерин колдондум жана түстөрдүн айкалышын чындап жакшы көрөм! Менин оюмча, абдан сонун көрүнөт. Мен чындап эле мотивациямды сактоого жардам берүү үчүн YouTube жазылуучу эсептегичти кааладым! Видео тартуу көп убакытты жана күчтү талап кылат. Сиз 35.000 адам сизден видео күтүп жатканын билгениңизде, бул адамдардын бардыгын канааттандыруу үчүн көп күч жумшайсыз, бул сизге чоң мотив берет. Ошентип, бул эсептегич мага көңүл топтоого жардам берет. Эми бул долбоорду кантип курууну карап көрөлү!

1 -кадам: Бардык бөлүктөрдү алыңыз

Бардык бөлүктөрдү алыңыз
Бардык бөлүктөрдү алыңыз
Бардык бөлүктөрдү алыңыз
Бардык бөлүктөрдү алыңыз

Долбоор чынында жөнөкөй жана курууга оңой. Бул долбоорду куруу үчүн керектүү бөлүктөр төмөнкүлөр:

  • A Wemos D1 кичи такта ▶
  • 20x4 LCD дисплей ▶
  • Кээ бир зымдар ▶
  • Power Bank ▶

Электрониканын баасы 10 долларга жетпейт

Эгерде сиз корпусту 3D басып чыгара турган болсоңуз, анда жыгач жиптен эки түрмөк керек болот. Мен FormFutura's Easy Wood Birch жана Coconut жиптерин колдондум.

Кокос жипчеси ▶

Кайың жипчеси ▶

Корпус үчүн бизге болжол менен 100гр материал керек, андыктан ал бизге 5 доллардын тегерегинде болот. Долбоордун жалпы баасы 15 доллардын тегерегинде.

2 -кадам: Wemos D1 Mini Board

Image
Image

Wemos D1 mini - бул фантастикалык жаңы такта, баасы 5 доллардын тегерегинде!

Такта абдан кичинекей. Бул 160MHz чейин жыштыкта иштей турган ESP8266 EX чипин колдонот. Эстутуму көп, 64Кб көрсөтмө RAM, 96Кб маалымат RAM жана 4МБ флеш -эс программаларыңызды сактоо үчүн. Бул WiFi байланышын, Абада жаңыртууларды жана башкаларды сунуштайт. D1 мини тактасы 11 GPIO казыгын жана бир аналогдук кирүүнү сунуштайт. Чакан болгонуна карабай, бул такта үчүн көптөгөн калканчтар иштелип жатат, мен муну эң сонун деп ойлойм, анткени ушундай жол менен биз нерселердин улуу Интернет долбоорлорун оңой эле кура алабыз! Албетте, биз бул тактаны Arduino IDE аркылуу программалай алабыз.

Такта кичинекей болгонуна карабастан, башка Arduino шайкеш келген такталардан алда канча жогору турат. Мен ESP8266 менен Arduino ортосундагы салыштырууну аткардым, бул кадамда мен тиркеген видеону текшере аласыз. Бул такта Arduino Unoдон 17 эсе ылдам! Ал ошондой эле эң тез Arduino тактасынан жогору турат, Arduino Due. Мунун баары, баасы 6 доллардан аз! Таасирдүү.

Бул жерден алыңыз ▶

3 -кадам: 20x4 Character LCD дисплейи

Image
Image
Прототип схемасын куруңуз
Прототип схемасын куруңуз

Мен бул дисплейди бир канча убакыт мурун Banggood.comдо таптым. Бул менин көңүлүмдү бурду, анткени ал арзан, баасы 7 доллардын тегерегинде, ал чоң жана I2C интерфейсин колдонот. Ал I2C интерфейсин колдонгондуктан, Arduino менен колдонуу өтө оңой. Бизге эки зымды гана туташтыруу керек. Мага кээ бир долбоорлорду прототиптөө үчүн чоң, оңой туташуучу дисплей керек болчу жана I2C интерфейсин колдонгон жалгыз дисплей бул кичинекей OLED дисплей эле. Эми бизде чоң I2C дисплейи бар, ал биздин долбоорлордо колдонулат! Абдан жакшы!

Көрүнүп тургандай, дисплей чынында чоң. Ал бир сапта 20 белгини көрсөтө алат жана 4 саптан турат. Ал графиканы тарта албайт, болгону тамгаларды. Арткы жагында биз дисплейде ширетилген кичинекей кара тактайчаны таба алабыз. Кара тактада ЖКнын контрастын көзөмөлдөгөн тримпот бар.

Бул жерден алыңыз ▶

4 -кадам: Прототип схемасын куруңуз

Прототип схемасын куруңуз
Прототип схемасын куруңуз
Прототип схемасын куруңуз
Прототип схемасын куруңуз

Байланыш оңой болушу мүмкүн эмес.

LCD дисплейди туташтыруу

  • Vcc дисплейи Wemos D1 miniнин 5V чыгаруусуна барат
  • Дисплейдин GND Wemos GND барат
  • Дисплейдин SDA пини Wemos тактасынын D2 пинине барат
  • Дисплейдин SCL пини Wemos тактасынын D1 пинине барат

Дал ушул! Эми биз долбоорду иштетсек, бир нече секунддан кийин такта WiFi тармагына туташканын жана экранда бул каналдын Жазылуучуларынын саны чоң сандар менен көрсөтүлөрүн көрө алабыз. Долбоор күтүлгөндөй иштейт, андыктан биз алдыга жыла алабыз.

5 -кадам: Корпусту 3D басып чыгаруу

3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу

Кийинки кадам - корпусту 3D басып чыгаруу. Мен бул корпусту Fusion 360 бекер программасын колдонуу менен иштеп чыккам.

Мен ар түрдүү 3d дизайн программаларын көп сынап көрдүм, бирок Fusion 360 төмөнкү себептерден улам менин сүйүктүүм болуп калды.

  • Бул абдан күчтүү жана бекер
  • Бул колдонууга салыштырмалуу оңой
  • Бул программаны кантип колдонуу керектиги боюнча интернетте көптөгөн сабактар бар

Мен бул корпусту иштеп чыгууга бир сааттай убакыт бөлдүм жана 3D дизайнына жана 3D басып чыгарууга абдан жаңы экенимди эске алдым. Мен дизайн файлдарын Thingiverseге жүктөдүм жана бекер жүктөп алам.

Мен Formfutura'nın EasyWood Coconut жипчесин эки бөлүктө жана алдыңкы бөлүгүндө Берч жипчесин колдондум.

Бул жерден алыңыз ▶

6 -кадам: 3D басып чыгарууну бүтүрүңүз

3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо
3D басып чыгарууну аяктоо

Бул оңой жана тез басып чыгаруу болду. Wanhao i3 3d принтеримдин жардамы менен бардык бөлүктөрдү басып чыгарууга 5 сааттай убакыт кетти. бирок жыйынтык фантастикалык болду!

Бөлүктөр басылып чыккандан кийин, аларды майда кум кагаз менен сүртүп, анан жыгач лак менен сүйкөдүм. Мен ар бир түс үчүн ар кандай жыгач лактарын колдондум жана кичинекей кездеменин жардамы менен сүйкөдүм.

Андан кийин, лакты 24 саат кургатууга уруксат берем жана акыркы жыйынтык сонун!

7 -кадам: Бардыгын бириктирүү

Бардыгын Биригип
Бардыгын Биригип
Бардыгын Биригип
Бардыгын Биригип
Бардыгын Биригип
Бардыгын Биригип

Лак кургатылган соң, электрониканы корпустун ичине салуу убактысы келди.

Мен алдыңкы бөлүктү жабыштырып, анан дисплейин так ордуна койдум.

Дисплейди ордунда кармоо үчүн ысык клей колдондум. Андан кийин мен колдонгон Wemos D1 мини казыктарына кээ бир ургаачы зымдарды ширеттим, анан аларды дисплейге туташтырдым. Мен баары жакшы иштеп жатканын көрүү үчүн проектти сынап көрдүм, анан ысык клей менен тактайды ордуна жабыштырдым. Акыркы кадам - корпустун арткы капкагын жабыштыруу!

Биздин долбоор даяр жана абдан сонун көрүнөт! Менин оюмча, бул 3D басылган нерселердин көбүнө окшоп пластикалык эмес окшойт! Мен анын кандайча болгонун абдан жакшы көрөм. Эми долбоордун кодун карап көрөлү.

8 -кадам: Долбоордун коду

Долбоордун коду
Долбоордун коду
Долбоордун коду
Долбоордун коду
Долбоордун коду
Долбоордун коду
Долбоордун коду
Долбоордун коду

Долбоор YouTube API аркылуу YouTube каналынын жазылуучуларынын санын алат. Биз google серверине суроо жөнөтөбүз жана сервер абоненттеринин саны менен JSON файлы менен жооп берет. YouTube API колдонуу үчүн бизде API ачкычы болушу керек.

Биринчи муну кылалы. Ошентип, биз Google аккаунтуна кирип, иштеп чыгуучунун консолуна баш багып жатабыз. (https://console.developers.google.com) Биз жаңы долбоорду түзүү үчүн чыкылдатып, ага ат беребиз жана түзүү баскычын басабыз. Андан кийин жаңы долбоор тандалганда биз YouTube Data API иштетебиз. Акыркы кадам - Ишеним грамоталарын түзүү. Биз Credentials баскычын басып, андан кийин пайда болгон терезеден биз жаңы API ачкычын түзүүнү тандайбыз. Биз жакын басабыз жана бүттүк. Көбүрөөк маалымат алуу үчүн, биринчи кадамга тиркелген видеону көрүңүз.

Эми долбоордун кодун тез карап көрөлү. Биринчиден, биз кээ бир китепканаларды жүктөп алышыбыз керек. Бизге ESP8266 чипи менен иштеген LiquidCrystal_I2C китепканасынын версиясы керек. Бизге эң сонун ArduinoJSON китепканасы да керек.

  1. Arduino JSON:
  2. Дисплей китепканасы:

Андан кийин биз кээ бир өзгөрмөлөрдү аныкташыбыз керек. Биз WiFi туташуусу үчүн ssid жана сырсөздү койдук. Биз ошондой эле өзүбүз түзгөн API ачкычын тиешелүү өзгөрмөгө киргизишибиз керек. Акыр -аягы, биз жазылуучулардын санын текшерүүнү каалаган YouTube каналынын channelID киришибиз керек.

const char* ssid = "SSID"; // Жергиликтүү тармактын SSID'и char* password = "PASSWORD"; // String тармагындагы сырсөз apiKey = "YOURAPIKEY"; // API KEY String channelId = "UCxqx59koIGfGRRGeEm5qzjQ"; // YouTube каналынын идентификатору

Код салыштырмалуу жөнөкөй. Алгач дисплейди инициализациялайбыз жана дисплей үчүн кээ бир ыңгайлаштырылган белгилерди түзөбүз. Бизге чоң цифраларды чыгаруу үчүн бул белгилер керек. Унутпаңыз, биз колдонгон дисплей - бул мүнөздүү LCD дисплей, ал графиканы көрсөтө албайт. Бул жөн эле 4 сап текстти көрсөтө алат. Чоң сандарды түзүү үчүн, биз эки сап текстти жана кээ бир ыңгайлаштырылган белгилерди колдонобуз!

void setup () {Serial.begin (9600); int cursorPosition = 0;

lcd.begin (20, 4);

lcd.setCursor (0, 0); lcd.print ("Туташууда….");

createCustomChars ();

WiFi.begin (ssid, сырсөз); while (WiFi.status ()! = WL_CONNECTED) {кечигүү (500); lcd.setCursor (cursorPosition, 1); lcd.print ("."); cursorPosition ++; }

Андан кийин биз WiFiга туташабыз жана абоненттерди мүнөт сайын алабыз. Жазылуучулардын санын билүү үчүн, биз google серверине суроо жөнөтөбүз жана JSON айып пулун талдайбыз, ал ArduinoJSON китепканасы аркылуу жооп берет. Биз абоненттердин санын өзгөрмөгө сактайбыз. Цикл функциясында абоненттердин санында өзгөрүү бар -жогун текшеребиз, дисплейди тазалап, жаңы номерди басып чыгарабыз.

void loop () {int length; String subscribersString = String (getSubscribers ()); if (subscribers! = subscribersBefore) {lcd.clear (); узундук = subscribersString.length (); printSubscribers (узундугу, subscribersString); subscribersBefore = абоненттер; } кечигүү (60000); }

Дайыма эле бул Нускамада тиркелген долбоордун кодун таба аласыз. Мен кодду маал-маалы менен жаңыртып тургандыктан, коддун акыркы версиясын долбоордун вебсайтына баш багыңыз:

9 -кадам: Акыркы жыйынтык

Акыркы жыйынтык
Акыркы жыйынтык
Акыркы жыйынтык
Акыркы жыйынтык

Акыркы ой катары, мен бул долбоорду абдан жакшы көрөм. Бул чынында эле курулушу оңой жана арзан болгон. Албетте, жакшыртуу үчүн орун бар. Батареяны корпустун ичине же үнүн кошо алабыз. Мен 18650 литий батареясын wemos батарея калканы менен кошууну ойлонуп жатам. Мен бул долбоордо муну кылган жокмун, анткени мен Wemos Battery калканын дагы бир аз сынап көрүшүм керек. Бул кичинекей калкан литий батареяларын заряддай алат жана коргой алат, ошондуктан ал биздин долбоорлорго заряддалуучу батареяларды кошуунун оңой жолун сунуштайт.

Бул долбоор боюнча сиздин пикириңизди уккум келет. Сизге анын көрүнүшү жагат жана бул долбоорду жакшыртуу боюнча ойлоно аласызбы? Сураныч, комментарийлериңизди төмөндөгү комментарийлер бөлүмүнө жазыңыз.

Сунушталууда: