„Arduino + LED“ + ventiliatorius = POV „APPLAUSE“ ženklas: 6 žingsniai (su nuotraukomis)

„Arduino + LED“ + ventiliatorius = POV „APPLAUSE“ ženklas: 6 žingsniai (su nuotraukomis)

Turinys:

Anonim

Mačiau šiuos POV (Vizijos atkaklumo) įrenginius kituose Instructables ir maniau, kad norėčiau padaryti vieną, ir aš visada norėjau savo „APPLAUSE“ ženklo. Vėliau tobulinsite, kad įsijungčiau į kambarį.:) Galbūt jis sako: „Ir čia Charlie!“ Bet tai dar kartą.

Taigi, aš gavau ventiliatorių pardavus garažą, ką nors skaitydavau, kai kurie kodai buvo rasti ir žemiau yra mano mašinos vaizdo įrašas.

Aš pradėjau nuo gražaus kodo iš „Scott Mitchell“ - „Arduino Bike POV“, bet su tuo, ką baigiau, yra jo kodas, dėl kurio jis labai sumažėjo. Aš negalėjau, kad jis dirbtų iš pradžių, todėl nuolat keičiasi kodas. Pasirodė, kad mano problema nesusijusi su kodu. Taigi grįšiu į savo kodą ir bandysiu dar kartą, nes jo vardas yra daug platesnis ir būtų lengviau dirbti su skirtingomis frazėmis. Bet taip yra ir vėliau.

Toliau pateiktame vaizdo įraše rodomas POV veikimas. Atrodo, kad jis nėra sugadintas ar atjungtas realiame gyvenime, kaip ir vaizdo įraše.

Prekės:

1 žingsnis

Šiame projekte naudojami elementai:

mažas ventiliatorius - garažų pardavimas - 2.00

Misc mediena - mano rūsys - 0.00

plastiko ilgis 15 - 2,5 colių - mano rūsys - 0,00

Arduino - aš naudoju „SolarBotics“ „Ardweeny“ - apie 10.00 val

7 raudonos šviesos diodai - jau turėjo - 1,00

7 - 330 omų rezistoriai - 3,00

Halls Sensor - aš gavau iš Adafruit - US5881LUA - 2.00

1 10k rezistorius, naudojamas su Halls jutikliu - 1.00

2 magnetai iš vietinės hobio parduotuvės - 1,00

taip pat reikės: vielos, 9v baterijos, varžtai, „Loctite“ 5 min. epoksidas, mažas PCB iš „Radio Shack“

2 žingsnis. Pradėkite surinkimą

1. Iškirpkite nedidelį - 3 - 5 gabalą 1/4 colio faneros ir epoksiduokite į ventiliatoriaus stebulę. Dabar epoksidas yra vienintelis dalykas, palaikantis LED įrenginį prie ventiliatoriaus. Galbūt kai kurie laidiniai ryšiai saugumui būtų geri. Manau, kad juos pridėsiu vėliau.

2. Iškirpiau 15–2,5 colio plastiko gabalą iš kai kurių turimų atsargų. „Home Depot“ gali turėti plastikinių lakštų. Aš tiesiog atspėjau dydžiu ir pasirodė esąs gana geras.

3. Gręžkite 7 skyles į vieną galą maždaug 3/4 colio atstumu nuo LED. Radau gręžimo dydį, leidžiantį, kad šviesos diodai būtų priversti įkišti į skyles gana griežtai. Jei jie netinkamai tinka, aš turėčiau naudoti karšto klijų dulkes.

4. Įkiškite 7 šviesos diodus į skyles.

5. Pritvirtinkite plastiką prie 3 - 5 faneros su mažais mediniais varžtais.

3 žingsnis: užbaigite ventiliatoriaus laikiklį

Tai priklausys nuo naudojamo ventiliatoriaus. Aš nukirpiau pjūvį iš 1 gabalo 6 ir galėjau įkišti ventiliatoriaus nugarą į pjūvį ir tada panaudoti vielos kaklaraištį, kad ventiliatorius būtų pritvirtintas prie plokštės. Man reikėjo pakelti visą vienetą, todėl aš naudojiau porą 1 s 3 s, kad ventiliatorius atsidurtų ten, kur jis nebūtų nukritęs į pagrindinę plokštę. Prie nugaros pridėjau faneros gabalą, kad poveikis būtų geriau matomas. Tuomet viską nudažiau juoda.

4 žingsnis: Ardweeny & LEDS

„Solarbotics“ „Ardweeny“ ateina į komplektą, ir joms reikia maždaug 30 minučių. Jis skirtas naudoti kepimo lentoje, o po to, kai maudėsiu maistą, aš jį lituojau į nedidelį PCB plokštės gabalėlį, kurį galiu pridėti prie faneros. Ardweeny sukasi kartu su LED.

Sukūrus „Ardweeny“, laikas atverti šviesos diodus. Aš naudoju pliką vario vielą kaip bendrą žemės laidą. Kiekvienas trumpas laidų iš LED yra lituojamas prie varinės vielos ir tada varinė viela yra prijungta prie žemės Ardweeny. Nuo ilgesnės, teigiamos kojos LED prijungia laidą prie „Ardweeny“ ir į jį įtraukia 330 omų rezistorių.

Šviesos diodus prijungiau prie kaiščių 1,2,3,4,5,6,7, o išorinis dauguma LED buvo prijungtas prie 1 kaiščio.

Atlikus visus sujungimus, Ardweeny pritvirtinkite prie faneros. Aš naudoju mažą varžtą per PCB.

5 žingsnis: Halls Sensor & Battery

Salės jutiklis:

Prijunkite salių jutiklį prie plastiko galo. Pirmą kartą daviklį suplikau į nedidelį PCB gabalėlį ir po to su mažu varžtu prijungiau PCB prie plastiko.

Norėdami prijungti jutiklį, aš naudoju šią informaciją, kurią gavau „Adafruit“: „Veikia 3,5 V iki 24V. Norėdami prijungti maitinimą prie kaiščio 1 (iki galo į kairę), įžeminkite į 2 kištuką (viduryje) ir tada 10K atsigriebimo rezistorių nuo kištuko 3 į maitinimą., kai magneto pietinis polius yra netoli jutiklio priekinės dalies, 3 smaigalys nueis iki 0V, priešingu atveju jis pasiliks bet kokiame traukos rezistoriuje, nes netoliese yra magneto šiaurinis polius (unipolinis). "

Magnetas jutikliui:

Prie kaiščio galo prijungiau nedidelį magnetą ir prie ventiliatoriaus atramos pritvirtina kaištį. Aš tai padariau abiejose ventiliatoriaus pusėse. Svarbu, kad vienas iš magnetų būtų pietinėje pusėje, o kitas magnetas būtų iš apačios.

idėja: Šis jutiklis yra spynos tipas, todėl jis yra arba 1, arba 0. Kai prasideda gręžimas, pirmasis magnetas įjungs LED ir įsijungs į kitą magnetą. Žinoma, tai suderinama su programine įranga.

Violetinė viela eina į analoginį 0 kištuką, juoda į žemę ir raudona iki A + kaiščio (5 voltų galia).

Baterija:

9V baterija turi būti patalpinta ten, kur ji veikia kaip priešpriešinis balansas verpimo plastikui. Jei plastikas nėra gerai subalansuotas, jis pakratys visą ventiliatorių, kai jis pasiekia greitį. Naudojau guminių juostų ir vielinių ryšių derinį, kad galėčiau jį laikyti vietoje, tačiau vis tiek galiu jį išimti, jei reikia

Prijunkite teigiamus ir neigiamus laidus iš akumuliatoriaus į atitinkamus kaiščius. Įtraukiau jungiklį, kad galėčiau išjungti „Ardweeny“. Jungiklis pritvirtintas prie faneros su dviguba atrama.

6 veiksmas: kodeksas

POV projektų paieška ieškojo kodo POV Bike projektui.

Žemiau yra tai, ką aš naudoju, bet tai yra toli nuo originalo. Originalas yra daug išsamesnis ir poliruotas, bet aš pradėjau nuo jo kodo ir jam turėtų būti suteiktas kreditas.

Be to, eskizas apima failą „font.h“, kurį radau po paieškos internete. Nesu tikras, kad tai buvo font.h, kuris buvo originalo dalis. Aš įtraukiau mano žemiau esančią.

// Arduino dviračio POV projekto kodas

// Arduino dviratis POV

//

// Scott Mitchell

// www.openobject.org

// Atviro kodo urbanizmas

//

// Copyright (C) 2008 Scott Mitchell 12-10-2008

//

// Ši programa yra nemokama programinė įranga: galite ją platinti ir (arba) keisti

// pagal GNU Bendrosios viešosios licencijos sąlygas, kurias paskelbė

// Free Software Foundation, arba Licencijos 3 versija, arba

// (pasirinktinai) bet kokia vėlesnė versija.

//

//============================================================

// 6/2011 labai pakeistas c. Dubois mano POV projektui

// Hall jutiklis yra jungiklis, todėl jį naudoju skirtingu kodu

// taip pat naudojo šriftą.h, kurį radau

// ------------------------------------------------------------

// apibrėžti abėcėlę

#include "font.h"

// nustatyti naudojamus „Arduino“ LED smeigtukus

const int LEDpins = {

1,2,3,4,5,6,7};

// šviesos diodų skaičius

const int charHeight = dydis (LEDpins);

const int charWidth = 5;

// jutiklio nustatymas

const int sensorPIN = 0; // apibrėžti Arduino jutiklio kaištį

// boolean sensorFlag = false; // saugo jutiklio būseną

int sensVal; // kintamasis, kad būtų išsaugota jutiklio vertė

const char textString = "APPLAUSE";

negaliojantis nustatymas ()

{

pinMode (13, OUTPUT);

pinMode (1, OUTPUT);

pinMode (2, OUTPUT);

pinMode (3, OUTPUT);

pinMode (4, OUTPUT);

pinMode (5, OUTPUT);

pinMode (6, OUTPUT);

pinMode (7, OUTPUT);

// Serial.begin (9600);

}

tuščia kilpa ()

{

// įjunkite „Led“ už ratą viduryje ir įrodymą, kad „arduino“ yra maitinamas

digitalWrite (13, HIGH); // įjungti LED

sensVal = analoginis (sensorPIN); // skaitykite salės efektų jutiklį

// Serial.println (sensVal);

// vėlavimas (500);

// čia buvo sunku

// kadangi tai yra perjungimo salės jungiklis, tikriausiai shoiuld tiesiog padaryti skaitmeninį skaityti

jei (sensVal! = 1023) {

// kiekvienos teksto raidės spausdinimas

už (int k = 0; k

printLetter (textString k);

}

}

}

void printLetter (char ch)

{

// įsitikinkite, kad simbolis yra abėcėlės ribose (apibrėžtas failo font.h)

// jei ne, padarykite jį tuščiu

jei (ch <32 || ch> 126) {

ch = 32;

}

// atimkite tarpo simbolį (konvertuoja ASCII numerį į šrifto indekso numerį)

ch - = 32;

// žingsnis per kiekvieną simbolių masyvo baitą

už (int i = 0; i

baitas b = šriftas ch i;

// bitų perėjimas per baitą ir išvestis jį į kaištį

už (int j = 0; j

digitalWrite (LEDpins j, !! (b & (1 << j)));

}

// tarpas tarp stulpelių

uždelsimasMikrosekundės (900);

}

// išvalykite šviesos diodus

digitalWrite (1, LOW); // įjungti LED

digitalWrite (2, LOW); // įjungti LED

digitalWrite (3, LOW); // įjungti LED

digitalWrite (4, LOW); // įjungti LED

digitalWrite (5, LOW); // įjungti LED

digitalWrite (6, LOW); // įjungti LED

digitalWrite (7, LOW); // įjungti LED

// tarpas tarp raidžių

uždelsimasMikrosekundės (2500);

}

--------------------------------------

----------------------------------------

///============================================================

// Arduino dviratis POV

// font.h

//

// Scott Mitchell

// www.openobject.org

// Atviro kodo urbanizmas

//

// Copyright (C) 2008 Scott Mitchell 12-10-2008

//

// Ši programa yra nemokama programinė įranga: galite ją platinti ir (arba) keisti

// pagal GNU Bendrosios viešosios licencijos sąlygas, kurias paskelbė

// Free Software Foundation, arba Licencijos 3 versija, arba

// (pasirinktinai) bet kokia vėlesnė versija.

//

// Ši programa yra platinama tikintis, kad ji bus naudinga.

// bet be jokios garantijos; be netiesioginės garantijos

// PRIEŽIŪRA IR TINKAMUMAS YPATINGAI TIKSLAMS. Žr

// GNU bendroji viešoji licencija, kur rasite daugiau informacijos.

//

// GNU bendrosios viešosios licencijos kopija

// galima rasti adresu .

//

// B4.1

// Paskutiniai pakeitimai: 2008 m. Spalio 13 d

//============================================================

// apibrėžti abėcėlę

// ascii 7x5 šoninio maitinimo simboliai, skirti LED moduliams

// pridėta iš

// pastos baito šriftas 5 = {

const unsigned char font 95 5 = {

{0x00,0x00,0x00,0x00,0x00}, // 0x20 32

{0x00,0x00,0x6f, 0x00,0x00}, //! 0x21 33

{0x00,0x07,0x00,0x07,0x00}, // "0x22 34

{0x14,0x7f, 0x14,0x7f, 0x14}, // # 0x23 35

{0x00,0x07,0x04,0x1e, 0x00}, // $ 0x24 36

{0x23,0x13,0x08,0x64,0x62}, //% 0x25 37

{0x36,0x49,0x56,0x20,0x50}, // & 0x26 38

{0x00,0x00,0x07,0x00,0x00}, // '0x27 39

{0x00,0x1c, 0x22,0x41,0x00}, // (0x28 40

{0x00,0x41,0x22,0x1c, 0x00}, //) 0x29 41

{0x14,0x08,0x3e, 0x08,0x14}, // * 0x2a 42

{0x08,0x08,0x3e, 0x08,0x08}, // + 0x2b 43

{0x00,0x50,0x30,0x00,0x00}, //, 0x2c 44

{0x08,0x08,0x08,0x08,0x08}, // - 0x2d 45

{0x00,0x60,0x60,0x00,0x00}, //. 0x2e 46

{0x20,0x10,0x08,0x04,0x02}, // / 0x2f 47

{0x3e, 0x51,0x49,0x45,0x3e}, 0 0x30 48

{0x00,0x42,0x7f, 0x40,0x00}, // 1 0x31 49

{0x42,0x61,0x51,0x49,0x46}, // 2 0x32 50

{0x21,0x41,0x45,0x4b, 0x31}, // 3 0x33 51

{0x18,0x14,0x12,0x7f, 0x10}, // 4 0x34 52

{0x27,0x45,0x45,0x45,0x39}, // 5 0x35 53

{0x3c, 0x4a, 0x49,0x49,0x30}, // 6 0x36 54

{0x01,0x71,0x09,0x05,0x03}, // 7 0x37 55

{0x36,0x49,0x49,0x49,0x36}, // 8 0x38 56

{0x06,0x49,0x49,0x29,0x1e}, // 9 0x39 57

{0x00,0x36,0x36,0x00,0x00}, //: 0x3a 58

{0x00,0x56,0x36,0x00,0x00}, //; 0x3b 59

{0x08,0x14,0x22,0x41,0x00}, // <0x3c 60

{0x14,0x14,0x14,0x14,0x14}, // = 0x3d 61

{0x00,0x41,0x22,0x14,0x08}, //> 0x3e 62

{0x02,0x01,0x51,0x09,0x06}, //? 0x3f 63

{0x3e, 0x41,0x5d, 0x49,0x4e}, // @ 0x40 64

{0x7e, 0x09,0x09,0x09,0x7e}, // A 0x41 65

{0x7f, 0x49,0x49,0x49,0x36}, // B 0x42 66

{0x3e, 0x41,0x41,0x41,0x22}, C 0x43 67

{0x7f, 0x41,0x41,0x41,0x3e}, // D 0x44 68

{0x7f, 0x49,0x49,0x49,0x41}, // E 0x45 69

{0x7f, 0x09,0x09,0x09,0x01}, // F 0x46 70

{0x3e, 0x41,0x49,0x49,0x7a}, G 0x47 71

{0x7f, 0x08,0x08,0x08,0x7f}, // H 0x48 72

{0x00,0x41,0x7f, 0x41,0x00}, // I 0x49 73

{0x20,0x40,0x41,0x3f, 0x01}, // J 0x4a 74

{0x7f, 0x08,0x14,0x22,0x41}, // K 0x4b 75

{0x7f, 0x40,0x40,0x40,0x40}, L 0x4c 76

{0x7f, 0x02,0x0c, 0x02,0x7f}, // M 0x4d 77

{0x7f, 0x04,0x08,0x10,0x7f}, // N 0x4e 78

{0x3e, 0x41,0x41,0x41,0x3e}, // O 0x4f 79

{0x7f, 0x09,0x09,0x09,0x06}, // P 0x50 80

{0x3e, 0x41,0x51,0x21,0x5e}, // Q 0x51 81

{0x7f, 0x09,0x19,0x29,0x46}, // R 0x52 82

{0x46,0x49,0x49,0x49,0x31}, // S 0x53 83

{0x01,0x01,0x7f, 0x01,0x01}, // T 0x54 84

{0x3f, 0x40,0x40,0x40,0x3f}, // U 0x55 85

{0x0f, 0x30,0x40,0x30,0x0f}, // V 0x56 86

{0x3f, 0x40,0x30,0x40,0x3f}, // W 0x57 87

{0x63,0x14,0x08,0x14,0x63}, // X 0x58 88

{0x07,0x08,0x70,0x08,0x07}, // Y 0x59 89

{0x61,0x51,0x49,0x45,0x43}, // Z 0x5a 90

{0x3c, 0x4a, 0x49,0x29,0x1e}, // 0x5b 91

{0x02,0x04,0x08,0x10,0x20}, // xxcc 92

{0x00,0x41,0x7f, 0x00,0x00}, // 0x5d 93

{0x04,0x02,0x01,0x02,0x04}, // ^ 0x5e 94

{0x40,0x40,0x40,0x40,0x40}, // _ 0x5f 95

{0x00,0x00,0x03,0x04,0x00}, // `0x60 96

{0x20,0x54,0x54,0x54,0x78}, // a 0x61 97

{0x7f, 0x48,0x44,0x44,0x38}, // b 0x62 98

{0x38,0x44,0x44,0x44,0x20}, // c 0x63 99

{0x38,0x44,0x44,0x48,0x7f}, // d 0x64 100

{0x38,0x54,0x54,0x54,0x18}, // e 0x65 101

{0x08,0x7e, 0x09,0x01,0x02}, // f 0x66 102

{0x0c, 0x52,0x52,0x52,0x3e}, // g 0x67 103

{0x7f, 0x08,0x04,0x04,0x78}, // h 0x68 104

{0x00,0x44,0x7d, 0x40,0x00}, // i 0x69 105

{0x20,0x40,0x44,0x3d, 0x00}, // j 0x6a 106

{0x00,0x7f, 0x10,0x28,0x44}, // k 0x6b 107

{0x00,0x41,0x7f, 0x40,0x00}, // l 0x6c 108

{0x7c, 0x04,0x18,0x04,0x78}, // m 0x6d 109

{0x7c, 0x08,0x04,0x04,0x78}, // n 0x6e 110

{0x38,0x44,0x44,0x44,0x38}, // o 0x6f 111

{0x7c, 0x14,0x14,0x14,0x08}, // p 0x70 112

{0x08,0x14,0x14,0x18,0x7c}, // q 0x71 113

{0x7c, 0x08,0x04,0x04,0x08}, // r 0x72 114

{0x48,0x54,0x54,0x54,0x20}, // s 0x73 115

{0x04,0x3f, 0x44,0x40,0x20}, // t 0x74 116

{0x3c, 0x40,0x40,0x20,0x7c}, // u 0x75 117

{0x1c, 0x20,0x40,0x20,0x1c}, // v 0x76 118

{0x3c, 0x40,0x30,0x40,0x3c}, wwxx77 119

{0x44,0x28,0x10,0x28,0x44}, // x 0x78 120

{0x0c, 0x50,0x50,0x50,0x3c}, // y 0x79 121

{0x44,0x64,0x54,0x4c, 0x44}, // z 0x7a 122

{0x00,0x08,0x36,0x41,0x41}, // {0x7b 123

{0x00,0x00,0x7f, 0x00,0x00}, // | 0x7c 124

{0x41,0x41,0x36,0x08,0x00}, //} 0x7d 125

{0x04,0x02,0x04,0x08,0x04}, // ~ 0x7e 126

};

/*

„Creative Commons“ priskyrimas-nekomercinis-dalintis panašiu 2.5 Australijos licencija

Šis puslapis paskutinį kartą buvo pakeistas 14:41, 2009 m. Sausio 11 d. Šis puslapis buvo atvertas 1 477 kartus.

Turinys yra prieinamas pagal „Creative Commons Attribution-Noncommercial-Share Alike 2.5 Australia“ licenciją.

Apie atviro kodo urbanizmą

Atsakomybės apribojimas

Naudojama „MediaWiki“

*/

Finalininkas

LED konkursas