Raspberry Pi боюнча аналогдук окууларды кантип алуу керек: 5 кадам
Raspberry Pi боюнча аналогдук окууларды кантип алуу керек: 5 кадам
Anonim
Raspberry Piдеги аналогдук окууларды кантип алуу керек
Raspberry Piдеги аналогдук окууларды кантип алуу керек

Баарыңарга салам! Бул үйрөткүчтө мен Raspberry Pi аркылуу аналогдук баалуулуктарды кантип түз түшүрө аларыбызды көрсөтөм. Баарыбызга белгилүү болгондой, Raspberry Pi - бул абдан күчтүү мини компьютер модулу, ал хоббисттер менен профессионалдар арасында популярдуу жана бардык электрондук энтузиасттар каалаган дээрлик бардык өзгөчөлүктөргө ээ. Бирок, пинин бир гана кемчилиги - санариптик конвертер үчүн атайын аналогдун жоктугу, бул Pi кандайдыр бир сенсордон аналогдук баалуулуктарды түз жазууга жараксыз кылат. Муну чечүү же Pi менен байланыштуу Arduino колдонуу же атайын ADC колдонуу. Бул долбоор үчүн мен MCP3204-12 биттик ADCди колдоном.

Жабдуулар

  • Raspberry Pi (сизде бар болгон моделди колдонсоңуз болот)
  • MCP3204 ADC же MCP3008 ADC
  • Аналогдук сенсор (анын ордуна 10K потенциометрди колдонуп жатам)
  • Breadboard
  • Jumper Wires

1 -кадам: Анын ордуна Arduinoдан баалуулуктарды алуу …

Анын ордуна Arduinoдан баалуулуктарды алуу …
Анын ордуна Arduinoдан баалуулуктарды алуу …

Малина пи үчүн аналогдук баалуулуктарды алуунун бир альтернативасы - атайын 10 бит ADCге ээ болгон ардуинону колдонуу. Arduino жана Raspberry Pi маалымат берүү үчүн сериялык порт аркылуу байланышууга мүмкүнчүлүк алышат. Бул ыкманы сенсордун кээ бир маалыматтары менен эксперимент жүргүзүүдө жана ошол эле учурда Пинин иштетүү күчүн колдонууну каалаган учурда колдонсо болот. Бул конфигурациянын кемчилиги, сиз көбүрөөк аппараттык ресурстарды колдонуп, ардуино жана Пи үчүн өзүнчө коддорду жазышыңыз керек болот.

2 -кадам: ADC колдонуу

ADC колдонуу
ADC колдонуу
ADC колдонуу
ADC колдонуу

ADC катары Arduino колдонуунун альтернативасы ушул эле максатка кызмат кылган атайын ADC IC колдонуу. Бул долбоор үчүн мен MCP3204 ICди колдоном, бул 4 каналдуу 12 бит ADC, ал SPI протоколун колдонуп Raspberry Pi менен байланыша алат. Foe демонстрациялоо максатында мен 10 бит режиминде IC колдоном.

Мен пин сүрөттөмөсүн көрсөткөн бул ICдин пинутун тиркеп койдум.

3 -кадам: Raspberry Pi менен ADCди туташтыруу

Raspberry Pi менен ADCди туташтыруу
Raspberry Pi менен ADCди туташтыруу
Raspberry Pi менен ADCди туташтыруу
Raspberry Pi менен ADCди туташтыруу

Эми бизде жабдыктар иреттелгенден кийин, ADC менен Pi байланыш схемасына кирели.

Raspberry Pi 2 SPI интерфейсине ээ болгон: SPI0 жана SPI1. Биздин колдонмо үчүн биз SPI0 колдонмокпуз жана биз физикалык (же аппараттык) SPIди колдонобуз, анда биз ADCди Piнин конкреттүү аппараттык SPI казыктарына туташтырабыз.

Мен Pi Pinout жана долбоордо колдонгон схеманы тиркеп койдум

Байланыш схемасы төмөнкүчө:

  • VDD (Pin14) жана Vref (Pin13) ADCнин 5V пи үчүн
  • ADGнин DGND (Pin7) жана AGND (Pin12) Pi жерге
  • ADCнин CLK (Pin11) Pi GPIO 11ге (Физикалык пин 23)
  • Dout (Pin10) ADCнин GPIO 9га (Физикалык пин 21) Pi
  • ADC дин (Pin 9) Pi GPIO 10го (Физикалык пин 19)
  • ADCтин чип тандоо (Pin 8) Pi GPIO 8ге (физикалык пин 24)

4 -кадам: Акыркы Орнотуу жана Код

Акыркы орнотуу жана код
Акыркы орнотуу жана код

Эми бардык күч жана байланыш туташуулары түзүлгөндөн кийин, биз баалуулугун көргүбүз келген каалаган сенсорду тиркөөгө убакыт келди. Мен сенсор катары 10K потенциометрди колдонуп жатам.

Коддор эки бөлүктөн турат, биринчи код китепканаларды орнотуу, SPI байланышын иштетүү жана MCP3204тен ADC маанисин алуу, анан аны питон терминалына басып чыгаруу жөнүндө.

Экинчи код көбүрөөк интерактивдүү жана сенсордон келе жаткан реалдуу убакыт маалыматтарынын графигин түзөт.

Сиз код менен ойноп, аны керектөөлөрүңүзгө ылайыкташтыра аласыз.

5 -кадам: Көрсөтмө видеосу

Image
Image

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

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