Мазмуну:
- 1 -кадам: Processing.serialди колдонуу
- 2 -кадам: Сериялык классты түшүнүңүз
- 3 -кадам: Arduino Serial Class
- 4 -кадам: GUI 7 Segment Controller түзүңүз
Video: Иштетүү жана Arduino туташтыруу жана 7 сегментти жана GERI интервалы контролерин жасоо: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Кээ бир долбоорлор үчүн сиз Arduino программасын колдонушуңуз керек, анткени ал прототиптөөнүн оңой платформасын камсыз кылат, бирок графиканы Arduino сериялык мониторунда көрсөтүү абдан көп убакытты талап кылат жана жасоо кыйынга турат. Сиз графикти Arduino Serial Monitorдо көрсөтө аласыз, бирок графиктерди көрсөтүү керек болгон жалгыз нерсе эмес. Бардык интерактивдүү объекттер слайдерлер, баскычтар, 2D, 3D, PDF же SVG менен программалар жана анимацияларды оңой эле түзө аласыз. Кайра иштетүү үчүн демейки программалоо режими Java, бирок аны Android, p5.js, REPL, CoffeeScript жана JavaScriptке которсоңуз болот. Бул Нускамада биз Java программалоо режимин колдонобуз.
Бардык мазмун жана код бул жерде менин гитубумда жеткиликтүү.
1 -кадам: Processing.serialди колдонуу
Код иштетилүүдө
Коддун биринчи эки сабы болот
импортту иштетүү.сериал.*; Сериялык myPort;
Бул жерде биз биринчи сапта китепкананы импорттоп жатабыз - иштетүү жана экинчи сапта myPort аттуу Serial класстын объектисин түзүп жатабыз, сиз идентификатордун аталышынын эрежелерин сактоо менен каалаган нерсеңизди атасаңыз болот.
Иштетүүдө бизде void setup () жана void draw () бар, бул жерде void - бул функциянын кайтаруу түрү, аны int int () жана 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 жана Processing экөөндө тең өзгөртө турган баа.
2 -кадам: Сериялык классты түшүнүңүз
Сериал үчүн конструктор
Сериялык (ата -эне, portName, baudRate, parity, dataBits, stopBits)
Аргументтер:
ата -эне: адатта "муну" колдон
baudRate (int): 9600 демейки
portName (String): порттун аты (COM1 демейки)
parity (char): "N" эч ким үчүн, "E" жуп үчүн, "O" так үчүн, "M" белги үчүн, "S" боштук үчүн ("N" демейки)
dataBits (int): 8 демейки
stopBits (калкып чыгуу): 1.0, 1.5 же 2.0 (демейки 1.0)
Маанилүү методдор:
- myPort.available () - жеткиликтүү байттардын санын кайтарат.
- myPort.clear () - буферди бошотот жана анда сакталган бардык маалыматтарды жок кылат.
- myPort.read () - Буферде күтүп жаткан кийинки байт үчүн 0 менен 255 ортосундагы санды кайтарат.
- myPort.readString () - Буфердеги бардык маалыматтарды String же null катары кайтарат, эгерде эч нерсе жок болсо.
- myPort.write ("тест") - Сериялар портуна байттарды, тамгаларды, инттерди, байттарды , саптарды жазат.
- myPort.stop () - Порттогу маалымат алмашууну токтотот.
3 -кадам: Arduino Serial Class
Аны колдонуудан мурун Arduinoдогу Сериялык Классты импорттоонун кереги жок.
Arduino'до setup () жана loop () деп аталган 2 функция бар, жөндөө бир гана жолу иштейт, бирок цикл бир нече жолу иштейт. Ардуинодо иштетүүдөн айырмаланып, портту start () методунун аргументтери катары айтуунун кажети жок, анткени биз буга чейин порту Arduinoдо жүктөөдө көрсөткөнбүз.
Ошентип, setup () мындай болот:
жараксыз орнотуу () {
Serial.begin (9600); // сериялык байланышты баштоо
}
Бул жерде 9600 биз иштетүү файлында бул жөнүндө айтып өткөн бод ылдамдыгын көрсөтөт. Туура баарлашуу үчүн, байдын ылдамдыгы бирдей болушу керек же сериялык чыгарууну түшүнүксүз нерсе катары көрүшүңүз мүмкүн.
Эми loop () бөлүгүн карап көрөлү. Коддун бул бөлүгү бир нече жолу иштейт. Эгерде биз кээ бир маалыматтарды порт аркылуу окугубуз келсе, Serial.read () ыкмасын колдонобуз. Эгерде эч кандай маалымат жок болсо, бул функция нөлдү кайтарат, андыктан биз бул ыкманы Serial агымында жеткиликтүү болгондо гана чакырабыз.
Кандайдыр бир маалымат бар -жогун текшерүү үчүн биз Serial.available () ыкмасын колдонобуз. Эгерде ал 0дөн чоң маанини кайтарса - кээ бир маалыматтар бар.
Ошентип, loop () бөлүгү мындай болот:
void loop () {
if (Serial.available ()> 0) {// эгер кээ бир маалыматтар сериялык портто бар болсо
char абалы = Serial.read (); // маанини окуу
// if операторлору же регистрди которуу
}
}
Эми биз эгерде тепкичти колдонсок болот же мүмкүн болгон натыйжалар көп болсо, биз өзгөрмөлүү абал үчүн switch case колдоно алабыз.
4 -кадам: GUI 7 Segment Controller түзүңүз
Файлдар бул жерде тиркелет. Эскертүү: Иштетүү үчүн, мен GUI интерактивдүү баскычтарын түзүү үчүн колдонгон p5 китепканасын башкарууну орнотушуң керек.
Номерлерди бекитүү
7 сегмент (алфавиттик тартипте) сүрөттү билдирет
а - санарип пин 2
b - санарип пин 3
с - санарип пин 4
d - санарип пин 5
e - санарип пин 6
f - санарип пин 7
g - санарип пин 8
dp - санарип пин 9
Бардык мазмун жана код бул жерде менин гитубумда жеткиликтүү
Сунушталууда:
Контроллерди эмуляторго кантип орнотуу, иштетүү жана туташтыруу: 7 кадам
Контроллерди эмуляторго кантип орнотуу, иштетүү жана туташтыруу керек: Сиз качандыр бир кезде отуруп, жаш оюнчу катары балалыгыңызды эстеп, кээде өткөндөгү эски асыл таштарды кайра көрүүнү каалайсызбы? Ооба, бул үчүн колдонмо бар …. тагыраак айтканда, программаны түзгөн оюнчулардын коомчулугу бар
Өзгөчөлөштүрүлгөн жети сегментти колдонуу LED: 5 кадам
Өзгөчөлөштүрүлгөн жети сегменттин LEDын колдонуу: Led - бул дизайндагы эң негизги компонент жана кээ бир учурларда көрсөткүчкө караганда көбүрөөк жумуш кылат. Бул макалада биз LEDди колдонуп жети сегменттүү дисплейди кантип курууну көрөбүз. рынокто жети сегмент, бирок мен
4 Цифралык 7 Сегментти көрсөтүү Секундомер: 3 кадам
4 Цифралык 7 Сегменттик Дисплей Секундомер: Бул көрсөтмө сизге 4 орундуу жети сегменттүү дисплейден реалдуу убакытта толук функционалдуу секундомерди кантип түзүүнү көрсөтөт
CLOUDX MICROCONTROLLER КОЛДОНУУСУ МЕНЕН 7 СЕГМЕНТТИ АЧУУ: 4 кадам
CLOUDX MICROCONTROLLER КОЛДОНУУСУ МЕНЕН 7 СЕГМЕНТТИК АЧКЫЧ: Бул долбоор үчүн биз Matrix баскычтобунун сандык киргизүүсүн кабыл алып, андан кийин жети сегменттүү дисплей модулунда көрсөтөбүз. 8 светодиод Aдан Gга жана DPге (ондук чекит үчүн) белгиленгендиктен, эгер сиз 6 санын көрсөткүңүз келсе, анда сиз колдонмоксуз
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: 13 кадам (сүрөттөр менен)
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: Киришүү: Бул Ардуино тактасын, Sensor (DHT11), Windows компьютери жана Processing (бекер жүктөлүүчү) программасын колдонуп, Температураны, Нымдуулукту санариптик жана тилке графасынын формасы, убакытты жана күндү көрсөтүү жана эсептөө убактысын иштетүү