| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| PIC24F CTMU http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11844 |
Страница 1 от 1 |
| Автор: | stewie [ Пон Окт 21, 2013 3:08 pm ] | ||||||||||||||||||
| Заглавие: | PIC24F CTMU | ||||||||||||||||||
Здравейте отново с поредния новашки въпрос. Някой знае ли как се подкарва CTMU за тъч бутон? Аз пробвам тук, обаче се получава обратното на това, което пише. Използвам документацията на Микрочип само. Кодът за ADC и CTMU е това:
Тази фунцкия се извиква в началото на програмата. В main() има една while(1), където извиквам следната функция и изпращам резултата към UART-а:
Това е програмата в общи линии. ADC си работи, UART си работи - изпраща някакви стойности и т.н., но не са тези, които трябва. Според Микрочип, без да си докоснал сензора, волтажът който ADC дава е почти Vdd. В момента на докосване този волтаж трябва да падне, заради паралелния капацитет на човешкото тяло. Звучи логично, и си е добре обяснено даже. Моят сензор представлява 15х15мм двустранно фолиран текстолит, като едната страна е маса, а другата е към ADC канала. На същия има и резистор - 4,7 килоома, пак според Микрочипските указания. Ето това излиза от ADC, без да съм докоснал сензора: Reading from ADC: 6 Reading from ADC: 692 Reading from ADC: 818 Reading from ADC: 908 Reading from ADC: 972 Reading from ADC: 992 Reading from ADC: 1000 Reading from ADC: 1006 Reading from ADC: 1001 Reading from ADC: 1002 Reading from ADC: 1004 Reading from ADC: 1005 Reading from ADC: 1002 Reading from ADC: 1005 Reading from ADC: 1004 Reading from ADC: 1004 Reading from ADC: 1005 Reading from ADC: 1005 Reading from ADC: 1006 Reading from ADC: 1008 Reading from ADC: 1008 Reading from ADC: 1009 Reading from ADC: 1008 Reading from ADC: 1007 Reading from ADC: 1009 Reading from ADC: 1008 Reading from ADC: 1008 Reading from ADC: 1006 Reading from ADC: 1006 Reading from ADC: 1005 Reading from ADC: 969 Reading from ADC: 440 Reading from ADC: 263 Reading from ADC: 157 Reading from ADC: 83 Reading from ADC: 19 Reading from ADC: 6 Reading from ADC: 687 Reading from ADC: 817 Reading from ADC: 907 Reading from ADC: 973 Reading from ADC: 992 Reading from ADC: 999 Reading from ADC: 1007 Reading from ADC: 1008 Reading from ADC: 1008 Reading from ADC: 1008 Reading from ADC: 1007 Reading from ADC: 1008 Reading from ADC: 1008 Reading from ADC: 1009 Reading from ADC: 1004 Reading from ADC: 1007 Ако всички стойности са над 1000, добре - но те спадат до почти 0. Нямам осцилоскоп вкъщи и не мога да видя какво всъщност се случва. А когато си сложа пръста на сензора, волтажът вместо да падне, се покачва: Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Reading from ADC: 1023 Ето това е. Точно обратното на това, което трябва да се случи. Опитах с добавяне на време между четенето на сензора, но си е все същото. Повече време за зареждане - разреждане също не сработва. Малко помощ е добре дошла |
|||||||||||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|