Агуулгын хүснэгт:
- Алхам 1: Програм хангамж
- Алхам 2: Техник хангамж
- Алхам 3: Төхөөрөмжийг турших
- Алхам 4: Хавсралт: ATtiny85
Видео: Arduino 1 утастай ерөнхий үйлчлүүлэгч/боол төхөөрөмж (мэдрэгч): 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Нөхцөл байдал, номын сангийн талаар илүү их мэдээлэл авахын тулд Arduino 1 утастай дэлгэц (144 тэмдэгт) хэрхэн бүтээх тухай миний зааварчилгааны танилцуулга, 2-р алхамыг уншина уу. Тэнд тайлбарласны дагуу бид Arduino ашиглан 1 утастай төхөөрөмж (жишээлбэл мэдрэгч) бүтээхийн тулд OneWire-Hub номын санг (OneWire боол төхөөрөмжийн эмулятор) orgua (эргэн тойронд бусад сэрээ байгаа эсэхийг анхаарч үзээрэй) ашиглах болно.
Алхам 1: Програм хангамж
Хамгийн гол нь ямар ч үнэ цэнийг энгийн байдлаар буцааж өгөх төхөөрөмжийг хийх явдал юм. Стандарт програм хангамж нь бүх утгыг шууд уншихад ашиглагддаг гэсэн үг юм (харилцан яриа эсвэл хоёртын удирдлага шаардлагагүй). Үүний тулд бидэнд хөвөгч утсыг буцаах боломжтой, өргөн дэмжигддэг маш энгийн үндсэн 1 утастай төхөөрөмж хэрэгтэй болно. Миний мэдэх цорын ганц сонголт бол DS18B20 термометр юм (DS2438 батерейны монитор нь сонирхолтой бөгөөд ашигтай боловч нэлээд төвөгтэй тул бусад сул талуудын дунд удаан байдаг). OneWire-Hub номын сан нь бидэнд яг хэрэгтэй зүйлийг хийдэг DS18B20_asInterface нэртэй жишээг агуулдаг. Энэ нь DS18B20 -ийн багцыг бий болгодог бөгөөд тэдгээр нь бүгд бидний мэдрэгч (үүд) -ээс буцааж өгөхийг хүссэн нэг хөвөх утгыг илэрхийлдэг. Энд тавьсан хязгаарлалтууд нь нарийвчлал бөгөөд утгууд нь -55, 0… 125, 0 хооронд байх ёстой. Үүнд хялбархан хүрэх боломжтой - хамгийн муу тохиолдолд дахин хэмжих - энэ нь жишээ нь дүрслэх боломжтой утгаас хамаагүй дээр юм. DS2438 утгууд (1.5 -аас 10V хүртэл). Эсвэл илүү том утгыг дараахь томъёогоор тохируулж болно.
setTemperatureRaw (static_cast (утга * 16.0f));
Гэхдээ эдгээр утгыг унших, боловсруулах нь техникийн хувьд тохиромжгүй тул бүх програм хангамж дэмждэггүй байж магадгүй юм.
Таны мэдэж байх ёстой зүйл бол эхлээд боолуудын хамгийн дээд тоог 8 -аар хязгаарладаг боловч HUB_SLAVE_LIMIT -ийг 32 болгож нэмэгдүүлэх замаар "OneWireHub_config.h" -д өөрчилж болно. Мөн хэрэв танд хэрэгтэй бол ONEWIRE_TIME_MSG_HIGH_TIMEOUT -ийг ашиглах ёстой. 1 утастай сүлжээ (жишээ нь x10), үүнийг Arduino 1 утастай дэлгэцийн 2-р алхамд (144 тэмдэгт) тайлбарласан болно. IDE Version> = 1.8.3 -ийг ашиглан кодоо хөрвүүлж Arduino дээрээ байршуулна уу.
Жишээ болгон би саяхан бүтээсэн төхөөрөмжийн кодыг энд оруулав. Миний хийсэн мэдрэгчтэй ижил хослолыг ашиглахгүй гэж би бодож байгаа тул энд дэлгэрэнгүй мэдээлэл өгөхгүй, кодыг шалгаад танд тусламж хэрэгтэй бол асуулт асуугаарай.
Алхам 2: Техник хангамж
Үндсэндээ Arduino -тэй холбож болох бүх зүйлийг таны сонгосон мэдрэгч болгон ашиглаж болно. Цорын ганц хязгаарлалт бол 1 утастай холбоо барихад хангалттай хугацаа үлдэхийн тулд мэдрэгчийг аль болох хурдан унших явдал юм (Arduino 1 утастай дэлгэц (144 тэмдэгт) -ийн зааварчилгааны 2-р алхамыг үзнэ үү. жишээ авахын тулд).
Боломжит тоног төхөөрөмжийн жишээ бол цаг уурын станц байж болно, жишээлбэл:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Нэмэлт эсвэл таны оронд Arduino -ийг мэдрэгч болгон ашиглахыг хүсч магадгүй юм. Та энэ талаар дэлгэрэнгүй мэдээллийг Arduino -ийн бага мэддэг онцлог шинж чанаруудын талаар уншиж болно. Боломжит утга нь эх үүсвэрийн хүчдэл ба дотоод температур юм.
Жишээ болгон саяхан миний бүтээсэн төхөөрөмжийн зургийг энд оруулав. Миний хийсэн мэдрэгчтэй ижил хослолыг ашиглахгүй гэж би бодож байгаа тул энд дэлгэрэнгүй мэдээлэл өгөхгүй, кодыг шалгаад танд тусламж хэрэгтэй бол асуулт асуугаарай.
Алхам 3: Төхөөрөмжийг турших
Үүнийг сүлжээнд холбож, ROM -ийн бүх ID байгаа эсэхийг, мөн температур болгон буцааж өгөх утгыг програм хангамжаасаа шалгаарай.
Алхам 4: Хавсралт: ATtiny85
Ганц төхөөрөмж (санах ойн хязгаарлалт) -ийг ATtiny85 дээр хийж болно. ATdiny85 -ийг Arduino Uno ашиглан ISP болгон Arduino IDE -ийн тусламжтайгаар програмчлахдаа хэд хэдэн алхам шаардлагатай болно.
-
Холбоосууд
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- Arduino IDE ашиглах> = 1.8.3
-
IDE дээр ATtiny сонголтыг суулгана уу
- Файл> Тохиргоо> Нэмэлт самбар удирдах менежерийн URL:
- Багаж хэрэгсэл> Удирдах зөвлөл: ??? > Самбарын менежер…
- "жижиг" гэж хайгаад суулгаарай
-
ISO -ийн тоймыг Uno дээр байршуулах
Файл> Жишээ> ArduinoISP> ArduinoISP
-
ATtiny85-ийг програмчлалын (тэг хүч) залгуурт оруулаад утсаар холбоно уу.
- Arduino Pin MOSI D11 -ээс ATtiny Pin 5 хүртэл
- Arduino Pin MISO D12 - ATtiny Pin 6
- Arduino Pin SCK D13 -аас ATtiny Pin 7 хүртэл
- Arduino Pin D10 -ийг ATtiny Pin 1 болгож дахин тохируулна уу
- Arduino Pin GND -ээс ATtiny Pin 4 хүртэл
- Arduino Pin VCC -ээс ATtiny Pin 8 хүртэл
- (> Arduino Uno RESET зүү дээр 10uF хязгаар хэрэгтэй байж магадгүй)
-
ATtiny85 -ийг сонгоно уу (зургийг үзнэ үү):
- Удирдах зөвлөл: "ATtiny25/45/85"
- Таймер 1 Цаг: "CPU"
- B. O. D.: "B. O. D. тахир дутуу"
- LTO (зөвхөн 1.6.11 +): "Идэвхгүй"
- Чип: "ATtiny85"
- Цаг: "8 МГц (дотоод)" (ATtiny85 ба ATtiny84 нийцтэй)
- Цаг: "16 MHz (PLL)" (зөвхөн ATtiny85 -ийн өөр тохиргоо)
- Порт: ???
-
Программистыг сонгоно уу:
Хэрэгсэл> Программист: "Arduino нь ISP байдлаар" ("ArduinoISP" биш!)
-
гал хамгаалагчийн тохиргоог тохируулах (цаг гэх мэт):
Хэрэгсэл> Bootloader -ийг шарна уу
- энэ кодыг оруулах
-
ATtinyX5 зүү байрлуулалт (ATtiny85):
- Зүү 1: PB5 (RST)
- 2 -р зүү: PB3 (A3) - 220 Ом -ээр 1 <-TX -ээр холбох боломжтой
- Зүү 3: PB4 (A2) - 1 утастай өгөгдөлд холбогдсон
- Pin 4: GND - GND -т холбогдсон
- Pin 5: PB0 (PWM) - I2C SDA мэдрэгчтэй холбогдсон
- 6 -р зүү: PB1 (PWM) - GND -д 4.7k -тай LED -тэй холбогдсон
- Pin 7: PB2 (A1) - I2C SCL мэдрэгчтэй холбогдсон
- Pin 8: VCC - 5V -т холбогдсон
ATTiny85 -тэй ажиллахад I2C comm (adafruit/TinyWireM) болон цуваа гаралт (TinyDebugSerial) -ийн нэмэлт номын сан авах шаардлагатай тул арай илүү ажиллах шаардлагатай болно. Нэмж дурдахад санах ой хязгаарлагдмал тул та #define -тэй маш их ажиллахыг хүсч магадгүй юм. цуврал дибаг хийхийг устгах. Жишээн дээр та энэ бүгдийг хооронд нь нийлүүлж байгааг харж болно.
Туршилтын хувьд эхний алхам бол LED нь 0.5Гц давтамжтай зөв анивчдаг эсэхийг шалгах явдал юм. Дараа нь 1wire автобусанд холбоод шинэ төхөөрөмжийг шалгана уу.
Зөвлөмж болгож буй:
ASS төхөөрөмж (Нийгмийн эсрэг нийгмийн төхөөрөмж): 7 алхам
ASS төхөөрөмж (Нийгмийн эсрэг нийгмийн төхөөрөмж): Та хүмүүсийн эргэн тойронд байх дуртай боловч хэт ойртох дургүй хүн гэж хэлээрэй. Та бас ард түмнийг баярлуулдаг бөгөөд хүмүүст үгүй гэж хэлэхэд хэцүү байдаг. Тиймээс тэдэнд ухрахаа яаж хэлэхээ мэдэхгүй байна. За, ASS төхөөрөмжийг оруулна уу! Y
Үргэлж Raspberry Pi DLNA сервер болон статусын LED бүхий Torrent үйлчлүүлэгч: 6 алхам
Үргэлж Raspberry Pi DLNA сервер ба статусын LED бүхий Torrent үйлчлүүлэгч: Өөртөө зориулж бүтээх гэж оролдсон бөгөөд энэ нь төгс ажиллаж байна. Энэ нь HD видеог ямар ч хоцрогдолгүйгээр цацах боломжтой бөгөөд LED -ийн статус нь надад энэ байдлыг хурдан харуулах боломжийг олгодог. Би доор байрлуулахын тулд хийсэн алхмуудаа нэмж оруулсан болно
ESP32 камерын зураг бүртгэлийн үйлчлүүлэгч: 5 алхам
ESP32 Камерын Зураг Бүртгэх Үйлчлүүлэгч: ESP32 Камерын Зураг Бүртгүүлэх Үйлчлүүлэгчийн төсөл нь ESP32 модулийн WiFi боломжийг ашиглан ESP32 микроконтроллер ашиглан зураг авч, интернетээр дамжуулан төв сервер рүү илгээнэ. ПХБ -ийн үндсэн самбарыг хоёр үндсэн зорилготойгоор бүтээсэн:
5 утастай эсэргүүцэх мэдрэгч: 10 алхам
5 утастай эсэргүүцэх мэдрэгч: Сайн байна уу, энэ сайт дээр ажиллаад багагүй хугацаа өнгөрч байгаа бөгөөд маш их зүйл өөрчлөгдсөн бололтой! Эцэст нь би өөр төслийн жолооны ард суухад бэлэн байна, мөн өөрийгөө жаахан өөрчлөх цаг болсон гэж бодож байна
IOT123 - I2C тоосгоны хамгаалалтын боол: 3 алхам
IOT123 - I2C BRICK PROTOTYPING SLAVE: Хамгийн сүүлийн үеийн ASSIMILATE ACTOR (KY -019 RELAY) -ийг бүтээхдээ ширээнийхээ нэмэлт ажлыг хэмнэхийн тулд ерөнхий dev самбарыг хамтад нь хаяжээ. Энэ нь I2C IOT123 BRICK стандарт холболттой боловч ATT -ээс мэдрэгч рүү захиалгаар холбогдох боломжийг олгодог