Мазмуну:

Raspberry Pi менен маалыматтарды каттоочу түзүү: 3 кадам (сүрөттөр менен)
Raspberry Pi менен маалыматтарды каттоочу түзүү: 3 кадам (сүрөттөр менен)

Video: Raspberry Pi менен маалыматтарды каттоочу түзүү: 3 кадам (сүрөттөр менен)

Video: Raspberry Pi менен маалыматтарды каттоочу түзүү: 3 кадам (сүрөттөр менен)
Video: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Ноябрь
Anonim
Raspberry Pi менен маалыматтарды каттоочу түзүү
Raspberry Pi менен маалыматтарды каттоочу түзүү

Бул жөнөкөй маалымат каттоочу аналогдук LDR (Photoresistor) менен үзгүлтүксүз жарык өлчөөлөрдү алып, аларды Raspberry Piдеги текст файлында сактайт. Бул маалымат жазгыч жарыктын деңгээлин ар бир 60 секундда өлчөйт жана жаздырат, бул жарыктын узак убакыт бою кантип өзгөрүп турганын көзөмөлдөөгө мүмкүндүк берет.

Эгерде биз Raspberry Pi менен аналогдук сенсорлорду колдонууну кааласак, анда сенсордун каршылыгын өлчөй алышыбыз керек. Arduinoдон айырмаланып, Raspberry Piнин GPIO казыктары каршылыкты өлчөй албайт жана аларга берилген чыңалуу белгилүү бир чыңалуудан (болжол менен 2 вольттон) жогору болгондо гана сезе алат. Бул маселени чечүү үчүн, аналогду санариптик конвертерге (ADC) колдонсоңуз болот, же анын ордуна салыштырмалуу арзан конденсаторду колдонсоңуз болот.

1 -кадам: Сизге эмне керек

Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот

- Raspbian менен RaspberryPi мурунтан эле орнотулган. Сиз ошондой эле мониторго, чычканга жана баскычтопко же алыскы иштакта аркылуу Piге кире алышыңыз керек. Сиз Raspberry Piнин каалаган моделин колдоно аласыз. Эгерде сизде Pi Zero моделдеринин бири бар болсо, анда GPIO портуна кээ бир баштыктарды сайгыңыз келиши мүмкүн.

- Жарыкка көз каранды резистор (LDR же Photoresistor катары дагы белгилүү)

- 1 UF керамикалык конденсатор

- Solderless прототиптештирүү тактасы

- Кээ бир Эркектен Аялга секирүүчү зымдар

2 -кадам: Районуңузду куруңуз

Сиздин Районуңузду куруңуз
Сиздин Районуңузду куруңуз
Сиздин Районуңузду куруңуз
Сиздин Районуңузду куруңуз

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

Тизмеңизди текшергенден кийин, жогорудагы схемага ылайык, Raspberry Piнин GPIO казыктарына секирүүчү кабелдерди кылдат туташтырыңыз.

3 -кадам: Дайындарыңызды окуу жана каттоо үчүн Python скриптин түзүңүз

Дайындарыңызды окуу жана каттоо үчүн Python скриптин түзүңүз
Дайындарыңызды окуу жана каттоо үчүн Python скриптин түзүңүз

Raspberry Piңизде IDLE ачыңыз (Меню> Программалоо> Python 2 (IDLE)) жана жаңы долбоорду ачыңыз (Файл> Жаңы Файл). Андан кийин төмөнкүлөрдү териңиз:

GPO катары RPi. GPIO импорттоо

импорттоо убактысы импорттоо datetime loginterval = 60 #секунд интервалы savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0.000001 #1uf adj = 2.130620985

def өлчөөчү каршылык (mpin, tpin):

GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO). IN) time.sleep (0.2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () return endtime-starttime def writeline (txt, fn): f = open (fn, 'a') f.write (txt+'\ n') f.close () i = 0 t = 0 while True: stime = time.time () диапазондогу (1, 11): res = (өлчөө каршылыгы (SensorPin, TriggerPin)/cap)*adj i = i+1 t = t+res if a == 10: t = t/i print (t) writeline (str (datetime.datetime.now ())+","+str (t), savefilename) i = 0 t = 0, ал эми stime+loginterval> time.time (): #logtime келгенге чейин күтө туруңуз убакыт өттү.уйку (0.0001)

Долбооруңузду документтериңиздин папкасында datalogger.py (File> Save As) катары сактаңыз.

Эми Терминалды ачыңыз (Меню> Аксессуарлар> Терминал) жана төмөнкү буйрукту териңиз:

python datalogger.py

Скрипт "lightlevels.txt" аттуу текст файлын түзөт жана аны 60 секунд сайын жаңыртып турат. Сиз бул файлдын атын 6 -сапта өзгөртө аласыз. Ошондой эле, 5 -сапты өзгөртүү менен, даталогер канчалык тез -тез жаңыртылып турарын тууралай аласыз.

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