Съдържание:

Каскада от регистри за смяна 74HC595, контролирани чрез Arduino и Ethernet: 3 стъпки
Каскада от регистри за смяна 74HC595, контролирани чрез Arduino и Ethernet: 3 стъпки

Видео: Каскада от регистри за смяна 74HC595, контролирани чрез Arduino и Ethernet: 3 стъпки

Видео: Каскада от регистри за смяна 74HC595, контролирани чрез Arduino и Ethernet: 3 стъпки
Видео: Zigbee датчик протечки с проводным сенсором, использование для DIY проектов 2024, Юли
Anonim
Каскада от регистри за смяна 74HC595, контролирани чрез Arduino и Ethernet
Каскада от регистри за смяна 74HC595, контролирани чрез Arduino и Ethernet

Днес бих искал да представя проект, който реализирах в две версии. Проектът използва 12 регистри за смяна 74HC595 и 96 светодиода, платка Arduino Uno с Ethernet щит Wiznet W5100. 8 светодиода са свързани към всеки регистър на смяна. Числата 0-9 са представени със светодиоди. Всеки регистър на смяна е оборудван с 8 изходни клеми.

Всеки от 4 регистъра на смяна 74HC595 образува логическа единица - дисплей за изброяване на 4 -цифрено число. Общо в проекта има 3 логически дисплея, състоящи се от 12 регистрационни смени.

Реализациите са съвместими за платки Arduino Nano, Mega, Uno и за Ethernet щитове и модули от семейство Wiznet, по -специално модели W5100 и W5500 (използвайки библиотеката Ethernet2).

Консумативи

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 до 12 смяна регистър 74HC595
  • 32 до 96 LED диода

Стъпка 1: Реализирани изпълнения в проекта с Arduino:

  • Уеб сървър - HTTP сървър, работещ директно на Arduino, позволява интерпретиране на HTML код
  • WebClient - Клиент, способен да направи HTTP заявка до отдалечен сървър, изпращане / изтегляне на данни

Уеб сървър:

  • Осигурява HTML уеб страница с формуляр, който ви позволява да въведете 3 четирицифрени числа.
  • След изпращане на формуляра данните се обработват и съхраняват в паметта на EEPROM, потребителят се информира за обработката на данни от отделна подстраница.
  • След запазване на данните потребителят се пренасочва обратно към формуляра.
  • Паметта на EEPROM е енергийно независима, данните са достъпни дори след възстановяване на захранването, но също така и рестартиране на платката.
  • След това всички числа са представени на три дисплея, състоящи се от 12 регистри за смяна 74HC595.

WebClient:

  • Комуникацията с уеб сървъра се осъществява на всеки 5 секунди след HTTP протокола.
  • Уеб сървърът работи с PHP уеб приложение, което ви позволява да въведете 3 четирицифрени числа чрез HTML формуляра.
  • Данните от формуляра се съхраняват в база данни MySQL.
  • Arduino иска да извлече данни от тази база данни чрез заявка към сървъра.
  • Обработените данни се анализират от Arduino, след което се нанасят с помощта на регистрите за смяна 74HC595.
  • Данните се съхраняват и в EEPROM паметта на Arduino, те се използват в случай на неуспешна връзка с уеб сървъра / при рестартиране на платките на Arduino, те се използват за първоначалното изобразяване на данните в регистрите за смяна.
  • Данните се презаписват в EEPROM само когато данните се променят, клетките на EEPROM се спасяват от ненужно презаписване.

Стъпка 2: Окабеляване и екранна снимка

Окабеляване и екранна снимка
Окабеляване и екранна снимка
Окабеляване и екранна снимка
Окабеляване и екранна снимка

Каскадна връзка за регистрите за смяна 74HC595 (може да се разшири с още x) - Експортиране от TinkerCAD. Екранната снимка е от интерфейса на уеб сървъра, когато получава данни чрез HTML формуляр, обработва ги и ги записва в паметта на EEPROM.

Стъпка 3: 74HC595 + Изходни кодове

От диаграмата става ясно, че само 3 проводника за данни се използват за управление на регистрите за смяна:

  • Изход за данни - (SER до 74HC595)
  • Тактова мощност - (SRCLK на 74HC595)
  • Изход за заключване - (RCLK до 74HC595)

Регистрите за смяна могат да се комбинират в каскада, докато други периферни устройства също могат да се управляват от регистрите за смяна - например релета за превключване на силови елементи. Възможно е също така да се управляват 500 отделни релета (с достатъчен брой регистри на смяна и захранване) с един изход за данни.

Когато контролирате изходите на регистрите, също е възможно да промените байтовия ред до най -значимия бит - MSB FIRST, или до LSB - най -малко значимия бит. В резултат на това той обръща изходите. В единия случай например светят 7 диода, в другия случай 1 диод в зависимост от реда на входа и байтовете.

И двете реализации използват EEPROM памет, която може да съхранява данни дори след прекъсване на захранването или след рестартиране на платката. Второто използване на тази памет е също възможността да се представят последните известни данни в случай, че не е възможно да се комуникира с уеб сървъра (грешка при свързване, сървър).

Паметта е ограничена до 10 000 до 100 000 преписи. Реализациите са предназначени за възможно най -малко натоварване на паметта. Данните няма да бъдат презаписани, когато бъдат променени. Ако същите данни се четат от уеб сървъра / клиента, те не се презаписват в паметта на EEPROM.

Софтуерната реализация (Arduino страна) за WebClient може да бъде изпробвана безплатно на:

Arduino комуникира с уеб интерфейс, в който е възможно да се променят 3 четирицифрени числа:

Поискайте код за Arduino като уеб сървър на: [email protected] Дарете за повече инструкции:

Препоръчано: