Talaan ng mga Nilalaman:

Madaling Tutorial: Flex Sensors Sa Arduino: 4 na Hakbang
Madaling Tutorial: Flex Sensors Sa Arduino: 4 na Hakbang

Video: Madaling Tutorial: Flex Sensors Sa Arduino: 4 na Hakbang

Video: Madaling Tutorial: Flex Sensors Sa Arduino: 4 na Hakbang
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, Nobyembre
Anonim
Image
Image

Ang mga Flex sensor ay cool!

Ginagamit ko ang mga ito sa lahat ng oras sa aking mga proyekto sa Robotics, at naisip kong gumawa ng isang simpleng maliit na mga tutorial upang maging pamilyar kayo sa mga maliliit na piraso na ito. Pag-usapan natin ang tungkol sa kung ano ang isang flex sensor at kung paano ito gumagana, kung paano ikonekta ang isa sa Arduino, kung paano sumulat ng code para dito, at sa wakas, kung paano subukan at matagumpay na ipatupad ito sa iyong proyekto. Ngayon, alam kong ang ilan sa iyo ay hindi masugid na mambabasa, at ang ilan ay nais na makita ito sa pagkilos, sa kasong iyon, panoorin ang video ng buong tutorial para sa flex sensor sa pagkilos sa loob ng Ironman Repulsor na ginawa ko.

Hakbang 1: Ano ang isang Flex Sensor at Paano Ito Gumagana

Ano ang isang Flex Sensor at Paano Ito Gumagana
Ano ang isang Flex Sensor at Paano Ito Gumagana
Ano ang isang Flex Sensor at Paano Ito Gumagana
Ano ang isang Flex Sensor at Paano Ito Gumagana

Ang mga Flex sensor ay mukhang kumplikado, ngunit ito ay talagang isang conductive na rubbery strip sa pagitan ng 2 metal plated. Yup, yun lang!

Ang paraan ng paggana nito ay, kapag ang sensor ay hindi baluktot (walang kinikilingan), ang rubbery strip ay solid at makapal, kaya't napaka conductive napakaliit na kasalukuyang sa pagitan ng dalawang plate, tulad ng ipinakita sa sketch, ngunit kapag yumuko mo ito, ang strip kumakalat at pinapayagan ang mas maraming kasalukuyang, at ang kasalukuyang ito ay napansin at samakatuwid ang halaga ng pagbaluktot ay ibinalik pabalik sa system.

Simple, ah? Ikonekta natin ito.

Hakbang 2: Kumokonekta sa Arduino

Kumokonekta sa Arduino
Kumokonekta sa Arduino
Kumokonekta sa Arduino
Kumokonekta sa Arduino
Kumokonekta sa Arduino
Kumokonekta sa Arduino

Mayroong 2 mga pin sa flex sensor, ang isa sa mga ito ay kumokonekta sa 3.3V o 5V sa arduino, para sa lakas, at ang iba pa ay konektado sa lupa. Ngunit may higit pa - ang koneksyon sa lupa ay nahati at ang isang kawad ay pupunta sa iyong pin ng arduino input, sa aking Arduino uno dito, ito ay A1. Ang mahalagang bahagi ay, mayroong isang risistor sa pagitan ng A1 pin at ng lupa. Tutukuyin ng halaga ng risistor kung gaano ka sensitibo ang iyong flex sensor. Ang isang 1K risistor ay isang mahusay na panimulang punto, ngunit maaari mong i-play ang mga halaga upang makamit ang sensitibong kailangan mo.

Tapos na. Tingnan natin ang sketch, at subukan ang aming pagbaluktot sa Ironman Repulsor.

Hakbang 3: Ang Code

Ang Code
Ang Code

Ang sumusunod na code ay mula sa Sparkfun, ngunit maaaring mabago:

/ ***** ***** / 10264) Jim Lindblom @ SparkFun Electronics Abril 28, 2016

Lumikha ng isang voltage divider circuit na pinagsasama ang isang flex sensor na may 47k resistor. - Ang risistor ay dapat kumonekta mula sa A1 hanggang GND. - Ang flex sensor ay dapat na kumonekta mula sa A1 hanggang 3.3V Habang lumalaki ang paglaban ng flex sensor (nangangahulugang baluktot ito), ang boltahe sa A1 ay dapat na bumaba.

Mga pagtutukoy sa kalikasan sa pag-unlad: Arduino 1.6.7 ***** *****

/ const int FLEX_PIN = A1;

// Pin konektado sa output ng voltage divider

// Sukatin ang boltahe sa 5V at ang aktwal na paglaban ng iyong

// 47k resistor, at ipasok ang mga ito sa ibaba: const float VCC = 4.98;

// Sinukat boltahe ng Ardunio 5V line const float R_DIV = 47500.0;

// Sinukat na paglaban ng 3.3k risistor

// I-upload ang code, pagkatapos ay subukang ayusin ang mga halagang ito sa higit pa

// tumpak na kalkulahin ang degree ng liko. Const float STRAIGHT_RESISTANCE = 37300.0;

// resistence when straight const float BEND_RESISTANCE = 90000.0;

// paglaban sa 90 deg

walang bisa ang pag-setup ()

{Serial.begin (9600);

pinMode (FLEX_PIN, INPUT); }

walang bisa loop ()

{// Basahin ang ADC, at kalkulahin ang boltahe at paglaban mula rito

int flexADC = analogRead (FLEX_PIN);

float flexV = flexADC * VCC / 1023.0;

float flexR = R_DIV * (VCC / flexV - 1.0);

Serial.println ("Paglaban:" + String (flexR) + "ohms");

// Gamitin ang kinakalkula na paglaban upang tantyahin ang sensor

// anggulo ng liko:

anggulo ng float = mapa (flexR, STRAIGHT_RESISTANCE, BEND_RESISTANCE, 0, 90.0); Serial.println ("Bend:" + String (anggulo) + "degree");

Serial.println ();

pagkaantala (500); }

Hakbang 4: Pagsubok

Pagsusulit
Pagsusulit

Sa pagsubok, ang flex sensor ay gumawa ng mga magagandang resulta. Maaari mo itong makita dito

Inaasahan kong nasiyahan kayo sa tutorial na ito. Tumungo sa Fungineers. Mayroong maraming Arduino at iba pang mga proyekto na masisiyahan ka:)

Inirerekumendang: