Мазмұны:
- 1 -қадам: Processing.serial пайдалану
- 2 -қадам: Сериялық сыныпты түсініңіз
- 3 -қадам: Arduino сериялық класы
- 4 -қадам: GUI 7 сегментінің контроллерін құрыңыз
Бейне: Өңдеу мен Arduino мен 7 сегменті мен сервистік GUI контроллерін қосу: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Кейбір жобалар үшін сізге Arduino -ны қолдану қажет, себебі ол прототиптеудің қарапайым платформасын ұсынады, бірақ Arduino -ның сериялық мониторында графиканы көрсету ұзақ уақытқа созылуы мүмкін және тіпті қиын. Сіз Arduino сериялық мониторында графиктерді көрсете аласыз, бірақ графиктерді көрсету қажет болуы мүмкін емес. Сырғытпалар, түймелер, 2D, 3D, PDF немесе SVG шығысы бар бағдарламалар сияқты барлық интерактивті объектілер, сонымен қатар сіз анимацияларды оңай жасай аласыз. Өңдеуге арналған әдепкі бағдарламалау режимі Java болып табылады, бірақ сіз оны Android, p5.js, REPL, CoffeeScript және JavaScript -ке ауыстыра аласыз. Бұл нұсқаулықта біз Java бағдарламалау режимін қолданамыз.
Барлық мазмұн мен код осы жерде менің гитубымда қол жетімді.
1 -қадам: Processing.serial пайдалану
Кодты өңдеу
Кодтың алғашқы екі жолы болады
импортты өңдеу.сериал.*; Сериялық myPort;
Мұнда біз бірінші жолда кітапхананы импорттаймыз - өңдейміз, ал екінші жолда біз MyPort деп аталатын Serial класының объектісін құрамыз, сіз оны идентификаторды атау ережелерін сақтай отырып, қалағаныңызша атауға болады.
Өңдеу кезінде бізде void setup () және void draw () бар, онда void - бұл функцияның қайтару түрі, оны int setup () және int draw () немесе сізге ұнайтын басқа деректер түріне өзгертуге болады, бірақ сізге функция алдында қолданатын деректер түрімен бірдей деректер түрі бар мән.
setup () ішінде біз бір рет орындауымыз керек мәлімдемелерді жазамыз, ал draw () кезінде бірнеше рет орындау үшін қажет мәлімдемелерді жазамыз. Жоғарыда аталған кодтың екі жолы void setup () үстінде жазылуы керек, себебі олар жаһандық қатынасқа ие болуы керек.
Void setup () ішінде біз myPort нысанын инициализациялаймыз.
жарамсыз орнату () {
өлшемі (800, 800);
myPort = жаңа сериялық (бұл «COM18», 9600);
}
Жол өлшемі (800, 800); экранның өлшемін 800 пиксельден 800 пиксельге дейін анықтайды.
Екінші жолдағы жаңа кілт сөз жадтағы объект үшін бос орын сақтау үшін қолданылады, бұл аргумент ағымдағы объектіге сілтеме жасайтын сілтеме айнымалысы. COM18 аргументі - Arduino порты қосылған, бізге бұл қажет, өйткені біз деректерді сериялық интерфейс арқылы тасымалдаймыз. Сіздің жағдайыңызда 18 саны басқаша болуы мүмкін, оны Arduino IDE құралдарындағы Құралдар> Портта таба аласыз, ал 9600 - бұл Arduino -да да, Өңдеуде де өзгертуге болатын жіберу жылдамдығы.
2 -қадам: Сериялық сыныпты түсініңіз
Сериялық конструктор
Сериялық (ата -ана, портАтау, baudRate, паритет, dataBits, stopBits)
Аргументтер:
ата -ана: әдетте «осы» сөзін қолданыңыз
baudRate (int): 9600 - әдепкі
portName (String): порт атауы (әдепкі бойынша COM1)
parity (char): ешкім үшін 'N', жұп үшін 'E', тақ үшін 'O', белгі үшін 'M', бос орын үшін 'S' ('N' әдепкі болып табылады)
dataBits (int): 8 - әдепкі
stopBits (float): 1.0, 1.5 немесе 2.0 (әдепкі бойынша 1.0)
Маңызды әдістер:
- myPort.available () - қол жетімді байт санын қайтарады.
- myPort.clear () - буферді босатады және онда сақталған барлық деректерді жояды.
- myPort.read () - буферде күтілетін келесі байт үшін 0 мен 255 арасындағы санды қайтарады.
- myPort.readString () - қол жетімді ештеңе болмаса, буфердегі барлық деректерді String немесе нөл ретінде қайтарады.
- myPort.write («тест») - сериялық портқа байттарды, таңбаларды, инттерді, байттарды , жолдарды жазады.
- myPort.stop () - порттағы деректерді жіберуді тоқтатады.
3 -қадам: Arduino сериялық класы
Қолданар алдында Arduino -да сериялық сыныпты импорттаудың қажеті жоқ.
Arduino -де setup () және loop () деп аталатын 2 функция бар, тек бір рет орындалады, бірақ цикл бірнеше рет жұмыс істейді. Arduino -да өңдеуден айырмашылығы, портты begin () әдісінің аргументтері ретінде көрсетудің қажеті жоқ, өйткені біз портты Arduino -да жүктеу кезінде көрсеткенбіз.
Осылайша, setup () келесідей болады:
жарамсыз орнату () {
Serial.begin (9600); // сериялық байланысты бастау
}
9600 мұнда өңдеу файлында біз айтып өткен жіберу жылдамдығын көрсетеді. Тиісті байланыс үшін жіберу жылдамдығының екеуі де тең болуы керек немесе сіз сериялық шығуды түсініксіз нәрсе ретінде көре аласыз.
Енді цикл () бөлігін көрейік. Кодтың бұл бөлігі бірнеше рет жұмыс істейді. Егер біз кейбір деректерді порт арқылы оқығымыз келсе, Serial.read () әдісін қолданамыз. Егер бұл деректер жоқ болса, бұл функция нөлді қайтарады, сондықтан біз бұл әдісті сериялық ағында қол жетімді деректер болған кезде ғана шақырамыз.
Кейбір деректер бар -жоғын тексеру үшін біз Serial.available () әдісін қолданамыз. Егер ол 0 мәнінен үлкен мәнді қайтарса - кейбір деректер қол жетімді.
Сондықтан цикл () бөлігі келесідей болады:
void loop () {
if (Serial.available ()> 0) {// егер кейбір деректер сериялық портта болса
char күйі = Serial.read (); // мәнді оқыңыз
// if операторлары немесе регистрді ауыстыру
}
}
Енді біз егер баспалдақ немесе мүмкін болатын нәтижелер болса, біз ауыспалы күй үшін коммутаторды қолдана аламыз.
4 -қадам: GUI 7 сегментінің контроллерін құрыңыз
Файлдар осында бекітілген. Ескертпе: өңдеу үшін сізге GUI интерактивті түймелерін жасау үшін пайдаланған p5 басқару кітапханасын орнату қажет болады.
Нөмірлерді бекітіңіз
7 сегмент (алфавиттік тәртіпте) суретке сілтеме жасайды
а - цифрлық түйреуіш 2
b - цифрлық түйреуіш 3
c - цифрлық түйреуіш 4
d - цифрлық түйреуіш 5
e - цифрлық түйреуіш 6
f - сандық түйреуіш 7
g - цифрлық түйреуіш 8
dp - цифрлық түйреуіш 9
Барлық мазмұн мен код осы жерде менің гитубымда қол жетімді
Ұсынылған:
IPad үшін қабырғаға бекіту үйді автоматтандырудың басқару тақтасы ретінде, экранды іске қосу үшін сервистік басқарылатын магнитті қолданады: 4 қадам (суреттермен)
IPad үшін қабырғаға бекіту үйді автоматтандырудың басқару тақтасы ретінде, экранды іске қосу үшін сервистік басқарылатын магнитті қолданады: Соңғы кездері мен үйдегі және оның айналасындағы заттарды автоматтандыруға көп уақыт жұмсадым. Мен Domoticz -ді үйдегі автоматтандыру қосымшасы ретінде қолданамын, толығырақ www.domoticz.com сайтынан қараңыз. Мен Domoticz туралы барлық ақпаратты көрсететін бақылау тақтасының қосымшасын іздеуде
160А щеткалы электронды жылдамдық реттегіші мен сервистік сынағышты қолдана отырып, тұрақты берілісті қозғалтқышты қалай басқаруға болады: 3 қадам
Тұрақты ток беріліс моторын 160А щеткалы электронды жылдамдық реттегіші мен сервистік сынақ құралының көмегімен қалай басқаруға болады: Техникалық сипаттамасы: Кернеу: 2-3S Lipo немесе 6-9 NiMH Үздіксіз ток: 35А Жарылу тогы: 160A BEC: 5V / 1A, сызықтық режим режимдері: 1. алға &кері; 2. алға &тежеу; 3. алға & тежеу & кері Салмағы: 34г Өлшемі: 42*28*17мм
HW30A щеткасыз қозғалтқыштың жылдамдық реттегіші мен сервистік сынағышты қолдану арқылы дронсыз квадрокоптер щеткасыз тұрақты ток қозғалтқышын қалай іске қосу керек: 3 қадам
HW30A щеткасыз қозғалтқыштың жылдамдық реттегіші мен серво сынағышты қолдану арқылы дронсыз квадрокоптердің щеткасыз тұрақты ток қозғалтқышын қалай іске қосуға болады: Сипаттама: Бұл құрылғы серво қозғалтқышты сынаушы деп аталады, оны сервоприводты қосуға және оған электрмен жабдықтауға қосуға болады. Құрылғыны электр жылдамдығын реттегіш (ESC) үшін сигнал генераторы ретінде де қолдануға болады, содан кейін сіз
Arduino 7 сегменті (5011BS, жалпы анод немесе катод) Оқулық: 13 қадам
Arduino 7 сегменті (5011BS, жалпы анод немесе катод) оқулық: Біз бұл нәрсені шешеміз! Жалпы катод немесе анод
Pic18f4520 протоколында 7 сегменті бар секундомер: 6 қадам
7 сегменті бар Proteus -та Pic18f4520 қолданатын секундомер: Мен сурет контроллерімен жұмыс істей бастадым, менің досымның біреуі одан секундомер құруды сұрады. Сондықтан менде бөлісетін аппараттық кескін жоқ, мен Proteus бағдарламалық жасақтамасында код жаздым және оны модельдедім, мұнда мен схеманы бөлдім