Мазмуну:

CNC барабан плоттери: 13 кадам (сүрөттөр менен)
CNC барабан плоттери: 13 кадам (сүрөттөр менен)

Video: CNC барабан плоттери: 13 кадам (сүрөттөр менен)

Video: CNC барабан плоттери: 13 кадам (сүрөттөр менен)
Video: Планшетные плоттеры для резки поролона, резка поролона 100мм. 2024, Ноябрь
Anonim
Image
Image
CNC барабан плоттери
CNC барабан плоттери

Бул көрсөтмөлүү пластикалык түтүктөн, эки BYJ-48 тепкич моторунан жана SG-90 сервосунан жасалган A4/A3 плоттерин сүрөттөйт. Негизинен бул барабанга оролгон жалпак керебет.

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

Бул плоттер салттуу жалпак плоттерден бир катар артыкчылыктарга ээ:

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

Борттогу котормочу Inkscapeтен gcode чыгарууну кабыл алат.

Плоттер менен байланыш bluetooth шилтемеси аркылуу болот.

Плотер менин инструктивдүү https://www.instructables.com/id/CNC-Graphics-Table… сүрөттөлгөн CNC графикалык планшети менен шайкеш келет.

Так инструмент болбосо да, бул плоттердин тактыгы акварель контурларын кагазга өткөрүп берүү максатында канааттандырарлык.

1 -кадам: Circuit

Circuit
Circuit

Райондо Arduino UNO R3 микроконтроллери жана дискреттик компоненттер орнотулган бажы калканы бар. Тышкы 5 вольттук 1 ампердик жөндөгүч аркылуу колдонулат. Орточо ток 500 мАга жакын.

BYJ-48 тепкич моторлору PORTB (D8, D9, D10, D11 казыктары) жана PORTC (A0, A1, A2, A3 төөнөгүчтөрү) тиркелет. SG-90 калем көтөрүүчү сервосу D3 пинге бекитилет.

560 омдук резисторлор, эгер бир нерсе туура эмес болуп калса, ардуиного кыска туташуудан коргоо чарасын камсыз кылат. Алар ошондой эле калканды зым менен жабууну жеңилдетет, анткени алар жеткирүүчү рельс аркылуу "секирүүчү" катары иштешет.

1k2 жана 2K2 каршылыгы HC-06 bluetooth модулунун [1] бузулушуна жол бербейт, 5 вольтту ардуинодон 3,3 вольтко түшүрүү менен.

[1] кодду USB порту аркылуу arduinoго жүктөөдө HC-06 bluetooth модулун ажыратыңыз. Бул сериялык порт чыр -чатактарынын алдын алат.

2 -кадам: Сызыктуу Drive

Lineer Drive
Lineer Drive
Lineer Drive
Lineer Drive
Lineer Drive
Lineer Drive

Сызыктуу диск 3 мм х 32 мм алюминийден, алюминийден жасалган тилкеден жана төрт кичинекей шар көтөрүүчү шкивтен жасалган.

Алюминий көпчүлүк аппараттык дүкөндөрдө жеткиликтүү. U624ZZ 4x13x7mm U-Groove шкивтери https://www.aliexpress.com жеткиликтүү

Жөнөкөй кол куралдары сизге керектүү нерселердин баары. Алюминий тилкесин плоттер өлчөмүңүзгө ылайыктуу кесип алыңыз.

Мотор чогултуу

BJY-48 тепкич моторун бир четинен тилкеге орнотуп, GT2 20 тиш, 5мм тешик, шкивти мотордун валына тиркеңиз. Эми бардын экинчи четине дагы бир GT2 шкивин орнотуңуз, шкив эркин айлана алат. Мен буга жетишүү үчүн диаметри 5 мм болгон түтүктүү (радио) аралыкты жана 3 мм болт колдондум.

Эми чыгырыктардын айланасындагы GT2 убакыт белдемчесинин узундугун айлантыңыз. Убакыт курунун учтарын тиштер бири-бирине чырмалып, кабелдик галстук менен оңдоло тургандай кылып жарым айлантуу аркылуу кошуңуз.

Акырында араба түзүлүшүн кабелдик галстук менен убакыт куруна бекиңиз.

Вагон чогултуу

Вагон арматурасы U624ZZ шкивдери болт менен бекитилген алюминий барактан [1] жасалган. Зарыл болсо, алюминийден жасалган пластинкаларды жайгаштыруу үчүн 4мм шайбаны колдонуңуз.

4 мм оюгу бар шкивдер алюминий тилкесин үстү жана асты менен тегерете тигил, бирок алюминий тилкеси солго жана оңго эркин жылат.

Вагон эркин жүрүүсүн камсыз кылуу үчүн, адегенде үстүңкү эки чыгырыкты орнотуңуз. Эми бул эки чыгырыктын тешиктери бургуланышы мүмкүн. Чоңураак 4мм бургулап кетпеш үчүн адегенде кичинекей "пилоттук" бургулоону колдонуңуз.

Алюминий тилкесин "U" га бүгүүдөн мурун, калем диаметриңизге туура келгендей, үстү менен астын тешип алыңыз. Эми бурулуштарды бүтүрүңүз.

Убакыт курун кабелдик галстуктун жардамы менен жана арматуранын 3 мм жогорку болтунун ортосуна бекитүү.

Калем көтөрүү куралы

SG-90 сервосун бир же эки кабелдик байланышты колдонуу менен арабанын тетигинин үстүнө тиркеңиз.

Калемиңизди тешкен эки тешигиңизге түшүрүңүз. Калемдин эркин өйдө -ылдый жылышын камсыз кылыңыз.

Калемиңизге "жаканы" бекиңиз, ошондо ручка калем абалында турганда калем барабандан такыр эле таза болот.

[1] Алюминийди барактын эки капталын курч бычак (куту кескич) менен, андан кийин столдун четине кыйшайтып кесүүгө болот. Бир аз чайпалып, барак жарылып кетет. Калайдан айырмаланып, бул ыкма алюминийди кыйратпайт.

3 -кадам: Барабан

Барабан
Барабан
Барабан
Барабан
Барабан
Барабан

Барабан эки жыгач учу бар пластикалык түтүктүн бир бөлүгүн камтыйт [1].

Түтүктүн ички радиусуна орнотулган компасты колдонуп, сайгычтын контурларын чийиңиз. Эми ар бир контурду тегиз араа менен кесип алыңыз ("күрөшүү", "капалануу"), андан кийин жыгач таканын жардамы менен ар бир сайгычка ылайыкташтырыңыз. Чакырылган кичинекей жыгач бурамаларды колдонуп, учтарын сайыңыз.

6 мм инженердик болт ар бир учтун ортосунан өтөт.

Барабандын өлчөмдөрү

Барабандын өлчөмдөрү сиздин кагаз өлчөмүңүзгө жараша аныкталат. 100 мм барабандын диаметри А4 портретин жана A3 пейзажын колдойт. Барабандын диаметри 80 мм, A4 пейзажын гана колдойт. Инерцияны азайтуу үчүн барабандын диаметри мүмкүн болушунча кичине болсун … BYJ-48 моторлору кичинекей.

Барабандын диаметри 90 мм болгон А4 портрети жана А3 пейзаж кагазы үчүн идеалдуу, карама -каршы четтери, барабанга оролгон учурда болжол менен 10 мм менен жабышат, демек, сизде бир гана тигиш бар.

Барабанды айлантуу

Ар бир огу барабан эркин айлана ала тургандай алюминийден жасалган кронштейн аркылуу өтөт. Соңку калкып чыгууга GT-2, 20 тиш, 6мм тешик, бир учунда огуна бекитилген чыгырык аркылуу тоскоол болот. Үзгүлтүксүз GT-2 убакыт куру BJY-48 тиштүү баскычтуу моторун барабан менен байланыштырат. Моторго тешиги 5 мм болгон шкив керек.

[1] Пластикалык учтар көпчүлүк түтүктөрдүн диаметри үчүн жеткиликтүү, бирок алар четинен эмес, чоордун үстүнө туура келгендиктен жана пластик ийилүүгө жакын болгондуктан четке кагылган. Болттордун ордуна үзгүлтүксүз огу колдонулса, алар жакшы болмок…

4 -кадам: Курулуш боюнча кеңештер

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

Эки калем тешиктин так бургуланышы маанилүү. Калем көрсөтмөсүндө же араба жыйнагындагы ар кандай термелүүлөр X огу боюнча термелүүлөрдү пайда кылат.

GT-2 ремонт курун ашыкча тартпаңыз … алар жөн гана тартыш керек. BYJ-48 тепкичтүү моторлордо көп момент жок.

BJY-48 тепкич моторлору көбүнчө X огу боюнча анча чоң эмес, бирок Y огуна келгенде тынчсызданууну жаратат. Мунун себеби, Y огунун моторунун бир айлануусу барабандын бир айлануусуна барабар, ал эми калем араба барабандын узундугун айланып өтүү үчүн X огунун моторунун көптөгөн бурулуштарын талап кылат. Барабанда туруктуу моментти сактоо менен Y-огунун ар кандай реакциясын жоюуга болот. Жөнөкөй ыкма - барабанга оролгон нейлон шнуруна кичине салмак кошуу.

5 -кадам: Бресенхэмдин сызык чийүү алгоритми

Бресенхэмдин сызык чийүү алгоритми
Бресенхэмдин сызык чийүү алгоритми
Бресенхэмдин сызык чийүү алгоритми
Бресенхэмдин сызык чийүү алгоритми

Бул плоттер Бресенхэмдин сызуу алгоритминин оптималдаштырылган версиясын [1] колдонот. Тилекке каршы, бул алгоритм 45 градустан төмөн же ага барабар болгон эңкейиштер үчүн гана жарактуу (б.а. айлананын бир октанты).

Бул чектөөнү айланып өтүү үчүн, мен бардык XY кириштерин биринчи "октантка" "картага түшүрөм", андан кийин план түзүүгө убакыт келгенде аларды "картадан чыгарам". Буга жетишүү үчүн киргизүү жана чыгаруу карта функциялары жогорудагы диаграммада көрсөтүлгөн.

Деривация

Эгер Бресенхэмдин алгоритми менен тааныш болсоңуз, бул кадамдын калганын алып салууга болот.

Келгиле, (0, 0) ден (x1, y1) ге чейин сызык чийели:

  • x1 = 8 = горизонталдык аралык
  • y1 = 6 = тик аралык

(0, 0) теги аркылуу өтүүчү түз сызыктын теңдемеси y = m*x теңдемеси менен берилет, мында:

m = y1/x1 = 6/8 = 0,75 = жантык

Жөнөкөй алгоритм

Бул сызыкты түзүүнүн жөнөкөй алгоритми:

  • int x1 = 8;
  • int y1 = 6;
  • float m = y1/x1;
  • сюжет (0, 0);
  • үчүн (int x = 1; x <= x1; x ++) {
  • int y = тегерек (m*x);
  • сюжет (x, y);
  • }

Таблица 1: Жөнөкөй алгоритм

x м m*x ж
0 0.75 0 0
1 0.75 0.75 1
2 0.75 1.5 2
3 0.75 2.25 2
4 0.75 3 3
5 0.75 3.75 4
6 0.75 4.5 5
7 0.75 5.25 5
8 0.75 6 6

Бул жөнөкөй алгоритмдин эки көйгөйү бар:

  • негизги цикл жай көбөйтүүнү камтыйт
  • ал жай гана сүзүүчү чекит сандарын колдонот

Бул сызыктын y менен xтин графиги жогоруда көрсөтүлгөн.

Бресенхэмдин алгоритми

Бресенхэм нөлгө башталган "e" ката термининин түшүнүгүн киргизди. Ал 1 -таблицада көрсөтүлгөн m*x баалуулуктарын 'm' 'e' ге ырааттуу кошуу аркылуу алууга болорун түшүндү. Ал андан ары y*xтин бөлчөк бөлүгү 0,5тен чоң болгондо гана көбөйөрүн түшүндү. Салыштырмасын 0 <= 0.5 <= 1 диапазонунда кармоо үчүн, ал y көбөйгөн сайын 'e' дан 1ди чыгарып салат.

  • int x1 = 8;
  • int y1 = 6;
  • float m = y1/x1;
  • int y = 0;
  • float e = 0;
  • сюжет (0, 0);
  • үчүн (int x = 1; x <= x1; x ++) {
  • e+= m;
  • эгер (e> = 0.5) {
  • e -= 1;
  • y ++;
  • }
  • сюжет (x, y);
  • }

Таблица 2: Бресенхэмдин алгоритми

x м д e-1 ж
0 0.75 0 0 0
1 0.75 0.75 -0.25 1
2 0.75 0.5 -0.5 2
3 0.75 0.25 2
4 0.75 1 0 3
5 0.75 0.75 -0.25 4
6 0.75 0.5 -0.5 5
7 0.75 0.25 5
8 0.75 1 0 6

Эгерде сиз алгоритмди жана 2 -таблицаны изилдесеңиз, анда байкайсыз;

  • негизги цикл кошууну жана кемитүүнү гана колдонот … көбөйтүү жок
  • y үлгүсү 1 -столго окшош.

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

Бресенхэмдин (Оптималдаштырылган) алгоритми

Эгерде биз 'm' жана 'e' 2*x1 өлчөмүндө масштабдаштырсак, Бресенхамдын сүзүүчү чекит алгоритми бүтүн түргө айландырылышы мүмкүн, м = (y1/x1)*2*x1 = 2*y1

'M' жана 'e' масштабдоодон тышкары, алгоритм жогоруда көрсөтүлгөнгө окшош:

  • Биз 'x' көбөйткөн сайын 'e' га 2*y1 кошобуз
  • e x1ге барабар же чоң болсо, биз y көбөйтөбүз.
  • биз 1дин ордуна 'e' дан 2*x1 алып салабыз
  • x1 салыштыруунун ордуна 0,5тин ордуна колдонулат

Эгерде цикл сыноо үчүн нөлдү колдонсо, алгоритмдин ылдамдыгын дагы жогорулатууга болот. Бул үчүн биз "e" ката терминине ордун кошушубуз керек.

  • int x1 = 8;
  • int y1 = 6;
  • int m = (y1 << 1); // туруктуу: жантаюу 2*x1 өлчөмүндө
  • int E = (x1 << 1); // туруктуу: 2*x1 циклда колдонуу үчүн
  • int e = -x1; // -E/2 офсети: тест азыр нөлдө жасалды
  • сюжет (0, 0);
  • int y = 0;
  • үчүн (x = 1; x <= x1; x ++) {
  • e += m;
  • эгер (e> = x1) {
  • e -= E
  • y ++;
  • }
  • сюжет (x, y);
  • }

Таблица 3: Бресенхэмдин (Оптималдаштырылган) алгоритми

x м E д e - E. ж
0 12 16 -8 0
1 12 16 4 -12 1
2 12 16 0 -16 2
3 12 16 -4 2
4 12 16 8 -8 3
5 12 16 4 -12 4
6 12 16 0 -16 5
7 12 16 -4 5
8 12 16 8 -8 6

Дагы бир жолу y үлгүсү башка таблицалардагыдай. 3 -таблицада бүтүн сандар камтылгандыгы жана m/E = 12/16 = 0,75 катышы сызыктын 'm' жантаймасы экендиги кызык.

Бул алгоритм өтө тез, анткени негизги цикл кошууну, кемитүүнү жана нөл менен салыштырууну камтыйт. Көбөйтүү x1 жана y1 маанилерин эки эсе көбөйтүү үчүн "солго жылууну" колдонуп, "E" жана "m" маанилерин инициализация кылгандан башка учурда колдонулбайт.

[1] Бресенхэмдин алгоритминин бул оптималдаштырылган версиясы "Бресенхэм сызыгы жана тегерек чиймеси" деген кагаздан алынган, автордук укуктары © 1994-2006, W Рэндолф Франклин (WRF). Анын материалы коммерциялык эмес изилдөө жана билим берүү үчүн колдонулушу мүмкүн, эгер сиз ага кредит берсеңиз жана анын башкы баракчасына кайра шилтемелесеңиз,

6 -кадам: Кодекс

Тиркелген файлды ушундай аталыштагы папкага түшүрүп, андан кийин arduino IDE (интеграцияланган өнүктүрүү чөйрөсү) аркылуу плоттерге жүктөңүз.

Жүктөп берүүдөн мурун HC-06 bluetoorh модулун ажыратыңыз. Бул USB кабели менен сериялык порт чыр -чатагын болтурбоо үчүн керек.

Үчүнчү жактын коду

Жогорудагы.ino кодунан тышкары сизге бекер / кайрымдуулук буюмдары болгон төмөнкү программалык пакеттер керек болот:

  • Https://osdn.net/projects/ttssh2/releases/ жеткиликтүү Teraterm
  • Inkscape https://inkscape.org/en/download/ жеткиликтүү

Үчүнчү жактын ар бир пакетин орнотуу жана колдонуу боюнча нускамаларды https://www.instructables.com/id/CNC-Robot-Plotter/ менин макаламда тапса болот.

7 -кадам: Меню

Меню
Меню

"Тератерманы" колдонуп плоттериңиз менен Bluetooth байланышын түзүңүз.

"Caps lock" күйгүзүңүз, анткени бардык командалар чоң тамгада.

"M" тамгасын териңиз жана меню жогоруда көрсөтүлгөндөй көрүнүшү керек.

Меню акылга сыярлык:

  • M (же M0) менюну алып келет
  • G0 калемди көтөрүлгөн калем менен белгилүү бир XY координатасына жөнөтүүгө мүмкүндүк берет.
  • G1 калемди түшүрүлгөн конкреттүү XY координатасына жөнөтүүгө мүмкүндүк берет.
  • T1 калемиңизди 0, 0 координатыңыздын үстүнө коюуга мүмкүндүк берет. Чыгуу үчүн 'E' териңиз.
  • T2 сиздин чийүүңүздү масштабдаштырууга мүмкүндүк берет. Мисалы, "T2 S2.5" сиздин чиймеңизди 250%га масштабдайт. Демейки масштаб 100%
  • T3 жана T4 калемди көтөрүүгө же түшүрүүгө мүмкүнчүлүк берет.
  • T5 "ABC" сыноо үлгүсүн тартат.
  • T6 "бута" тартат.
  • T7 радиалдык линиялардын топтомун тартат, анын максаты Бресенхэмдин алгоритми сегиз "октанттын" ар биринде иштеп жатканын текшерүү.

Эскертүүлөр:

  • бардык калем кадамдары T2 меню параметрин колдонуп чийүү масштабын колдонушат
  • "17:" жана "19:" сандары - бул ардуино котормочунун "Xon" жана "Xoff" терминалдарынын кол алышуу коддору.

8 -кадам: Калибрлөө

X_STEPS_PER_MM жана Y_STEPS_PER_MM мааниси 90 мм диаметри барабан үчүн.

Башка барабандын диаметри үчүн маанилер төмөнкү байланыштарды колдонуу менен эсептелиши мүмкүн:

  • барабандын айланасы PI*диаметри
  • 2048 кадам ар бир мотор валынын бир айлануусуна барабар
  • ГТ-2 шкивинин бир айлануусу убакыт курунун 40 миллиметр сызыктуу кыймылына барабар

Башка ыкма төмөнкү буйруктарды киргизүү болуп саналат,

  • G1 X0 Y100
  • G1 X100 Y100

андан кийин алынган сызыктардын узундугун өлчөп, X-STEPS_PER_MM жана Y_STEPS_PER_MM маанилерин "масштабдаңыз"

9 -кадам: Gcode алдын ала иштетүү

Gcode алдын ала иштетүү
Gcode алдын ала иштетүү
Gcode алдын ала иштетүү
Gcode алдын ала иштетүү

Бул плоттер Inkscape төрт кодун талап кылат (G0, G1, G2, G3). Эгерде биз керексиз гкоддорду жана комментарийлерди алып салсак, код кыйла тезирээк аткарылат.

Бул үчүн сизге "Notepad ++" көчүрмөсү керек. Бул бекер текст редактору керексиз текстти табуу жана алып салуу үчүн "туруктуу сөз айкашы" издөө системасын камтыйт. Notepad ++ https://notepad-plus-plus.org/download/v6.9.2.html жеткиликтүү

Notepad ++ менен өзгөртүлө турган файлды ачыңыз жана курсорду файлдын жогору жагына коюңуз.

Жогорку меню тилкесинен "Кароо/Символду/Бардык Белгилерди" тандап, андан кийин "Издөө/Алмаштыруу …" дегенди тандаңыз.

"Жөнөкөй сөз айкашы" белгилөө кутучасын басыңыз (1 -сүрөттү караңыз) жана издөө кутусуна кийинки код тизмектеринин ар бирин киргизиңиз.

Ар бир жазуудан кийин "Баарын алмаштыруу" баскычын чыкылдатыңыз:

  • %
  • (.*)
  • ^M.*$
  • Z.*$

Жогорудагы үзгүлтүксүз сөз айкаштары % символдорун, кашаанын ичинде көрсөтүлгөн бардык комментарийлерди, бардык M коддорун, бардык Z коддорун жана андан кийинки коддорду жок кылат.

Эми "Extended Expression" белгилөө кутучасын басыңыз (2 -сүрөттү караңыз) жана төмөнкү коддордун тизмегин киргизиңиз:

r / n / r / n / r / n

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

Файлыңызды "Башка катары сактоо" аркылуу башка ат менен сактаңыз.

Бүттү.

10 -кадам: Жыйынтыктар

Жыйынтыктар
Жыйынтыктар

Бул плоттер "түшүнүктүн далили" катары курулган жана эч качан кемчиликсиз болууну каалаган эмес. Жыйынтыктары өтө жаман эмес экенин айтып. Алар, албетте, акварель контурларын кагазга түшүрүү боюнча менин долбоордук максатыма жооп берет.

Алгачкы үч сүрөт T5, T6, T7 үлгүлөрүн камтыйт.

"Салам Дүйнө!" үлгү плютерге Bluetooth аркылуу жөнөтүлгөн. Бул файлдын "алдын ала иштетилген" көчүрмөсү тиркелет.

11 -кадам: кодду жаңыртуу

Кодду жаңыртуу
Кодду жаңыртуу

Бул плоттер үчүн код Drum_Plotter_V2.ino болуп жаңыртылды.

Оригиналдуу Drum_Plotter.ino өзгөртүүлөрү төмөнкүлөрдү камтыйт:

  • калемдин жумшак жайгашуусу
  • азыр G02 gcode көрсөтмөлөрүн тааныйт (саат жебеси боюнча)
  • азыр G03 gcode көрсөтмөлөрүн тааныйт (саат жебесине каршы жаа)

Тиркелген диаграммада жаа бурчун эсептөө методум баяндалган.

12 -кадам: Drum_plotter_v3.ino

"CNC Drum Plotter" үчүн код жаңыртуусу тиркелген.

"drum_plotter_v3.ino" плоттердин тактыгына таасир эткен кичинекей катаны оңдойт.

Тарыхты өзгөртүү

Версия 2:

Би-жаа ийри сызыктары кошулду

3 -версия:

Төмөнкү функциялар плоттердин тактыгына таасир эткен кичинекей мүчүлүштүктү чечүү үчүн кайра жазылган.

  • (int) move_to () функциясында round () менен алмаштырылган.
  • draw_line () функциясы "октанттуу" издөө алгоритми жакшыртылды
  • Котормочу азыр дизайнды жөнөкөйлөтүүчү көрсөткүчтөрдүн ордуна сап функцияларын колдонот. Мисалы, биз азыр "M" тамгасын издөөнүн ордуна "MENU" издей алабыз, андан кийин бүтүн санды чыгарабыз. Бул плоттерди өз буйруктарыңыз менен жекелештирүүгө мүмкүндүк берет.

13 -кадам: Drum_plotter_plotter_v4.ino

2017 -жылдын 16 -январы:

Бул барабан плоттеринин коду дагы оптималдаштырылган. Кошумча мүмкүнчүлүктөр кошулду.

Өзгөртүүлөргө төмөнкүлөр кирет:

  • тезирээк draw_line () алгоритми
  • move_to () функциясына дал келет
  • кадам эсептегичтер
  • кичинекей мүчүлүштүктөрдү оңдоо

Көбүрөөк маалымат алуу үчүн тиркелген "drum_plotter_v4.ino" ичиндеги комментарийлерди окуңуз.

Менин башка көрсөтмөлөрүмдү көрүү үчүн бул жерди басыңыз.

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