Мазмуну:

Сыйымдуу суюктук сенсорун куруу: 8 кадам (сүрөттөр менен)
Сыйымдуу суюктук сенсорун куруу: 8 кадам (сүрөттөр менен)

Video: Сыйымдуу суюктук сенсорун куруу: 8 кадам (сүрөттөр менен)

Video: Сыйымдуу суюктук сенсорун куруу: 8 кадам (сүрөттөр менен)
Video: Samsung Galaxy S8 + Замена экрана 2024, Ноябрь
Anonim
Capacitive суюктук сенсорун куруу
Capacitive суюктук сенсорун куруу

Сыйымдуу суюктуктун демөөрчүсү, алардын ортосунда кандай материал бар экендигине жараша, 2 металл пластинкасынын ортосундагы сыйымдуулук же заряд өзгөрөт (бул учурда көбөйөт). Бул бизге кандайдыр бир суюктук менен колдонуу үчүн коопсуз болгон деңгээл сенсорун түзүүгө мүмкүндүк берет, бул бензин (бензин) менен машинада колдонулат. Бир табак жерге илинген. Экинчиси 23 -пинге туташат. 22ден 23кө чейин 820K ом каршылыгы бар. Сенсор конденсаторду (суу бөтөлкөсүн) кубаттоо жана резистор аркылуу канча убакытка чейин агып кетерин өлчөө менен иштейт.

1 -кадам: Бөлүктөр

Бөлүктөр
Бөлүктөр

1. Лайксыз нан тактайы керек эмес, бирок аны бир топ жеңилдетет, айрыкча кийинчерээк башка нерселерди кошууну пландап жатсаңыз. 2. Arduino, мен Arduino мегасын колдонуп жатам, бирок стандарттагы төөнөгүчтөр жетиштүү болушу керек. 3. ЖК символдорду көрсөтүү. 4. Кээ бир мүмкүнчүлүктөр жана кээ бир зымдар жана 1MΩ каршылыгын камтыйт. 5. Билесизби, менин үйрөткүчүмдү окуу үчүн сиз колдонгон нерсе. 6. Сабырдуулук.

2 -кадам: ЖКны туташтыруу жана жаратууңузду дүйнө менен сүйлөшүүгө уруксат берүү

ЖКны туташтыруу жана жаратууңузду дүйнө менен сүйлөшүүгө уруксат берүү
ЖКны туташтыруу жана жаратууңузду дүйнө менен сүйлөшүүгө уруксат берүү

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

Сиздин лкдда 16 тешиктүү ширетүүчү блокноттор бар, андыктан биринчи нерсе - кээ бир төөнөгүчтөрдү тиркөө. Эгерде сиздин патентиңиз болсо, анда мен башымды сатып алууну сунуштайм https://www.sparkfun.com/commerce/product_info.php?products_id=117. Эгер мүмкүн болушунча тезирээк бүткүңүз келсе (мен сыяктуу), анда зымды колдонсоңуз болот. Болжол менен 1/2 (13 мм (узунураак)) боюнча 16 даана зымды жөнөкөй түрдө кесип алыңыз. Андан кийин аларды тактага ээрчиңиз.

3 -кадам: ЖКны улантуу уланууда

ЖКнын туташуусу уланууда
ЖКнын туташуусу уланууда
ЖКнын туташуусу уланууда
ЖКнын туташуусу уланууда

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

Pin 1 Ground Pin 2 +5 Volt Pin 3 Contrast pin Pin 4 RS Pin 5 R/W Ground Pin 6-14 Data Pin 15 Back-light Power Pin 16 Back-light Ground барат

4 -кадам: Маалымат линиялары

Маалымат линиялары
Маалымат линиялары
Маалымат линиялары
Маалымат линиялары

Эми сиз Arduino'ду lcd менен туташтырышыңыз керек. Сиз колдонгон казыктардын мааниси жок, бирок мен схеманы аткарууну сунуштайм.

5 -кадам: Күч MaHaHaHa

Күч MaHaHaHa
Күч MaHaHaHa

Компьютериңиздеги USB порту Arduino'yу иштетүү үчүн жетиштүү кубаттуулукка ээ жана арткы жарыкка алып келди, андыктан нан жана тактайдагы жерди жана электр рельсин Arduino тактасындагы электр энергиясына туташтырыңыз.

6 -кадам: Capacitive сенсорун жасаңыз

Capacitive сенсорун жасаңыз
Capacitive сенсорун жасаңыз
Capacitive сенсорун жасаңыз
Capacitive сенсорун жасаңыз

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

Сиз зымдын каалаган түрүн колдоно аласыз, бирок корголбогон линиялар начар иштөөнү камсыз кылат. Сиз каалаган 2 төөнөгүчтү колдонсоңуз болот, мен 22 жана 23 тандадым. Бир жагын жерге, экинчисин каршылашка жана 2 I/O казыкка туташтырыңыз.

7 -кадам: Программалоо

Программалоо
Программалоо

Бул ишти аткаруу үчүн 2 китепкана файлын кошушуңуз керек LiquidCrystal.h https://arduino.cc/en/Tutorial/LiquidCrystalCapSense.h https://www.arduino.cc/playground/Main/CapSenseCopy жана муну Arduino 0017ге өткөрүңүз. же жаңыраак. // Capacitive Liquid Sensor // Vadim 7 -декабрь 2009 #include #include // Бул lcd const int numRows = f = 4 өлчөмүн коюу үчүн; const int numCols = 20; // Бул lcd үчүн казыктарды коёт (RS, Иштетүү, маалымат 0-7) LiquidCrystal lcd (53, 52, 51, 50, 49, 48, 47, 46, 45, 44); #define Tempin 0x48 #define Tempout 0x49 CapSense cs_22_23 = CapSense (22, 23); uint8_t блогу [8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; uint8_t tl [8] = {0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0F, 0x0F}; uint8_t tr [8] = {0x16, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1D, 0x15}; uint8_t bl [8] = {0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F}; uint8_t br [8] = {0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x12, 0x18}; void setup () {lcd.begin (numRows, numCols); lcd.createChar (4, tl); lcd.createChar (5, tr); lcd.createChar (6, bl); lcd.createChar (7, br); lcd.setCursor (18, 0); lcd.print (4, BYTE); lcd.setCursor (19, 0); lcd.print (5, BYTE); lcd.setCursor (18, 1); lcd.print (6, BYTE); lcd.setCursor (19, 1); lcd.print (7, BYTE); lcd.setCursor (0, 2); lcd.print ("Күйүүчү май"); lcd.setCursor (0, 3); lcd.print ("E"); } void loop () {узак отун; lcd.createChar (2, блок); узак баштоо = millis (); отун = cs_22_23.capSenseRaw (200); // Temratue бир аз айырмачылыкка ээ, андыктан аны жөндөө алдында 5 мүнөт иштете бериңиз. // Бул санды тууралоо, мүмкүн болушунча нөлгө жакын. отун = күйүүчү май - 7200; // Андан кийин контейнерди толтуруңуз // Комментарий бербеңиз жана муну контейнер толгондо // мүмкүн болушунча 100гө жакын кылып тууралаңыз. // күйүүчү май = күйүүчү май /93; lcd.setCursor (0, 0); lcd.print (""); lcd.setCursor (0, 0); lcd.print (отун); if (oil> = 6) {lcd.setCursor (1, 3); lcd.print (2, BYTE); } else {lcd.setCursor (1, 3); lcd.print (""); } if (oil> = 12) {lcd.setCursor (2, 3); lcd.print (2, BYTE); } else {lcd.setCursor (2, 3); lcd.print (""); } if (oil> = 17) {lcd.setCursor (3, 3); lcd.print (2, BYTE); } else {lcd.setCursor (3, 3); lcd.print (""); } if (отун> = 23) {lcd.setCursor (4, 3); lcd.print (2, BYTE); } else {lcd.setCursor (4, 3); lcd.print (""); } if (oil> = 28) {lcd.setCursor (5, 3); lcd.print (2, BYTE); } else {lcd.setCursor (5, 3); lcd.print (""); } if (отун> = 34) {lcd.setCursor (6, 3); lcd.print (2, BYTE); } else {lcd.setCursor (6, 3); lcd.print (""); } if (oil> = 39) {lcd.setCursor (7, 3); lcd.print (2, BYTE); } else {lcd.setCursor (7, 3); lcd.print (""); } if (oil> = 44) {lcd.setCursor (8, 3); lcd.print (2, BYTE); } else {lcd.setCursor (8, 3); lcd.print (""); } if (отун> = 50) {lcd.setCursor (9, 3); lcd.print (2, BYTE); } else {lcd.setCursor (9, 3); lcd.print (""); } if (oil> = 55) {lcd.setCursor (10, 3); lcd.print (2, BYTE); } else {lcd.setCursor (10, 3); lcd.print (""); } if (отун> = 60) {lcd.setCursor (11, 3); lcd.print (2, BYTE); } else {lcd.setCursor (11, 3); lcd.print (""); } if (oil> = 64) {lcd.setCursor (12, 3); lcd.print (2, BYTE); } else {lcd.setCursor (12, 3); lcd.print (""); } if (oil> = 69) {lcd.setCursor (13, 3); lcd.print (2, BYTE); } else {lcd.setCursor (13, 3); lcd.print (""); } if (oil> = 74) {lcd.setCursor (14, 3); lcd.print (2, BYTE); } else {lcd.setCursor (14, 3); lcd.print (""); } if (oil> = 78) {lcd.setCursor (15, 3); lcd.print (2, BYTE); } else {lcd.setCursor (15, 3); lcd.print (""); } if (oil> = 83) {lcd.setCursor (16, 3); lcd.print (2, BYTE); } else {lcd.setCursor (16, 3); lcd.print (""); } if (oil> = 87) {lcd.setCursor (17, 3); lcd.print (2, BYTE); } else {lcd.setCursor (17, 3); lcd.print (""); } if (oil> = 92) {lcd.setCursor (18, 3); lcd.print (2, BYTE); } else {lcd.setCursor (18, 3); lcd.print (""); } if (oil> = 96) {lcd.setCursor (19, 3); lcd.print ("F"); } else {lcd.setCursor (19, 3); lcd.print (""); } кечиктирүү (50); }

8 -кадам: буюмдар

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

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