Video: Tepih sa senzorima/ RF komunikacija s Arduino Micro: 4 koraka (sa slikama)
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
SabinaStanFollow Više od autora:
O: Zovem se Sabina Stan. Vizualni sam umjetnik sa sjedištem u Rumunjskoj. Radim s užetom, papirom i konzervama od recikliranog aluminija i mogu učiniti gotovo sve (figurativno ili apstraktno) u tehnici koju koristim, a to je … Više o SabinaStanu »
Nedavno sam završio instalaciju Jednako raznolika, koja se sastoji od niza svjetiljki koje reagiraju na senzore smještene u prostirku ispod svjetiljki. Evo kako sam napravio tepih sa senzorima pritiska. Nadam se da će vam biti od koristi.:)
Korak 1: Kako napraviti senzore
Za senzore tlaka koristio sam piezo senzore jer su jeftini, učinkoviti i laki za upotrebu. Za stvaranje RF komunikacije koristio sam Arduino Micro i RF odašiljač.
Budući da se senzori spajaju na analogne pinove, možete koristiti samo četiri senzora za svaki Arduino. Budući da dva senzora ne mogu emitirati signal u isto vrijeme, to zapravo nije problem.
Da biste odašiljač povezali s Arduinom, morate se povezati zdesna nalijevo dok ga gledate:
- Prvi pin na masu mikrokontrolera
- Drugi u VCC -u Arduino Micro
- Posljednji pin na pin podataka (u mom slučaju 10)
Za spajanje piezo senzora prvo morate odrezati žicu dovoljno dugo i spojiti:
- Dio koji ide na sredinu pieza do analognog pina mikrokontrolera
- Dio koji je ožičen do ruba senzora na tlo Arduina
Moj savjet je da spojite sve uzemljenje senzora, a zatim jednu žicu spojite na uzemljenje Arduina.
Korak 2: Kako staviti senzore u tepih
Uzmite pahuljicu, zbog nedostatka bolje riječi, prostirku i postavite mikrokontroler uz jedan od njegovih rubova sa senzorima postavljenim na sag.
Provjerite je li mikrokontroler negdje siguran od gaženja ili u kutiju koja se može vidjeti.
Rasporedite senzore tako da budu u različitim dijelovima prostirke.
Sakrijte senzore ispod vlakana tepiha, a pritom ih pričvrstite žicama koje povezuju senzore s mikrokontrolerom.
To je sve! ^.^
Korak 3: Kodirajte
#include const char *poruka = ""; int piezo0 = A0; int piezo1 = A1; int piezo2 = A2; int piezo3 = A3; int sensorReading0 = 0; int sensorReading1 = 0; int sensorReading2 = 0; int sensorReading3 = 0; void setup () {pinMode (piezo0, INPUT); pinMode (piezo1, INPUT); pinMode (piezo2, INPUT); pinMode (piezo3, INPUT); vw_set_ptt_inverted (true); vw_set_tx_pin (10); vw_setup (4000); } void loop () {sensorReading0 = analogRead (piezo0); if (sensorReading0 <100) {; poruka = "Z"; vw_send ((uint8_t *) poruka, strlen (poruka)); vw_wait_tx (); odgoda (2000); } sensorReading1 = analogRead (piezo1); if (sensorReading1 <100) {message = "X"; vw_send ((uint8_t *) poruka, strlen (poruka)); vw_wait_tx (); odgoda (2000); } sensorReading2 = analogRead (piezo2); if (sensorReading2 <100) {message = "Y"; vw_send ((uint8_t *) poruka, strlen (poruka)); vw_wait_tx (); odgoda (2000); } sensorReading3 = analogRead (piezo3); if (sensorReading3 <100) {message = "W"; vw_send ((uint8_t *) poruka, strlen (poruka)); vw_wait_tx (); odgoda (2000); }}