Arduino + LED-ek + Fan = POV "APPLAUSE" jel: 6 lépés (képekkel)

Arduino + LED-ek + Fan = POV "APPLAUSE" jel: 6 lépés (képekkel)

Tartalomjegyzék:

Anonim

Láttam ezeket a POV-okat (Vision perzisztencia) más Instructables-ben, és azt hittem, hogy szeretnék egyet csinálni, és én mindig a saját "APPLAUSE" jelet akartam. A következő javítás az lesz, hogy folytassa, amikor belépek a szobába.:) Talán azt mondja: "És itt Charlie!" De ez egy másik idő.

Így kaptam egy ventilátort egy garázsban, elolvastam, találtam néhány kódot, és az alábbiakban egy videó a gépemről.

Kedves kóddal kezdtem egy Scott Mitchell - "Arduino Bike POV" Instructable-tól -, de az, amit végül értem, a kódja nagymértékben megbénult. Nem tudtam először dolgozni, így folyamatosan módosítom a kódot. Kiderült, hogy a problémám semmi köze a kódhoz. Szóval visszamegyek a kódjához, és megpróbálom újra, mert sokkal általánosabb, és könnyebben fog működni különböző kifejezésekkel. De ez később is.

Az alábbi videó a POV működését mutatja. Nem úgy tűnik, hogy a valóságban megtört vagy leválasztott volna, mint a videó.

kellékek:

1. lépés: Szerezd meg a dolgokat

A projektben használt elemek:

kis ventilátor - garázs eladó - 2.00

misc fűrészáru - az alagsorban - 0.00

a műanyag hossza 15, 2,5 hüvelyk - az alagsorom - 0,00

egy Arduino - Ardweeny-t használok a SolarBotics-tól - kb. 10.00-kor

7 piros LED - már volt - 1,00

7 - 330 ohm ellenállás - 3,00

Halls Sensor - az Adafruit-tól kaptam - US5881LUA - 2.00

1 10 k ellenállás használható a Halls érzékelővel - 1.00

2 mágnes helyi hobbi boltból - 1.00

Szüksége lesz továbbá: drót, 9v-es akkumulátor, csavarok, Loctite 5 perces epoxi, kis PCB a Radio Shack-től

2. lépés: Kezdje el a közgyűlést

1. Vágjon egy kis - 3-as 5 darab 1/4 hüvelykes rétegelt lemezt, és epoxírozza a ventilátor csomópontjára. Most az epoxi az egyetlen dolog, amely a LED-szerelvényt a ventilátorhoz tartja. Talán jó lenne a biztonság érdekében néhány huzalkötés. Azt hiszem, később hozzáadom őket.

2. Néhány raktárból levágtam egy 15-2,5 hüvelyknyi darab műanyagot. A Home Depot-nál lehet műanyag lapok. Én csak kitaláltam a méretre, és nagyon jónak bizonyult.

3. Fúrjon 7 lyukat az egyik végén kb. Találtam egy fúróméretet, amely lehetővé teszi, hogy a LED-ek elég szorosan benyomódjanak a lyukakba. Ha nem lettek volna jól illeszkedve, akkor egy forró ragasztót használnék a helyére.

4. Helyezze be a 7 LED-et a lyukakba.

5. Rögzítse a műanyagot a 3-as 5-ös rétegelt lemezhez kis fa csavarokkal.

3. lépés: Végezze el a ventilátor tartóját

Ez a használt ventilátortól függ. Az 1-től 6-os darabig vágtam egy hornyot, és be tudtam illeszteni a ventilátor hátsó részét a hornyba, majd huzalköteget használtam a ventilátor rögzítéséhez. Szükségem volt az egész egység emelésére, úgyhogy egy pár 3 másodpercig használtam, hogy a ventilátort olyan helyre tegyem, ahol nem érte el az alaplapot. A hátlaphoz hozzáadtam egy darab darabot, így a hatás jobban látható. Majd mindent feketere festettem.

4. lépés: Ardweeny és LEDS

A Solarbotics Ardweeny-je egy készletben van, és körülbelül 30 percet igényel a darabok forrasztására. A kenyértáblán való használatra tervezték, és miután kenyeret szállítottam az áramkörbe, egy kis darab PCB-lemezre forrasztom, amit viszont a lemezhez csatolhatok. Az Ardweeny a LED-ekkel együtt forog.

Az Ardweeny felépítése után itt az ideje, hogy a LED-eket fel lehessen vezetni. Egy csupasz rézhuzalt használtam közös földhuzalként. A LED-ek mindegyik rövid huzalát a rézhuzalhoz forrasztják, majd a rézhuzalt az Ardweeny földjén csatlakoztatják. A hosszabb, pozitív lábról a LED egy vezetéket csatlakoztat az Ardweeny-hez, és tartalmaz egy 330 ohmos ellenállást az áramkörben.

A LED-eket az 1,2,3,4,5,6,7-es csapokhoz csatlakoztattam a külső LED-ekkel az 1-es csatlakozóhoz.

Miután minden csatlakozás megtörtént, csatlakoztassa az Ardweeny-t a rétegelt lemezhez. Egy kis csavart használtam a PCB-n keresztül.

5. lépés: Hallókészülék és akkumulátor

Hall-érzékelő:

Csatlakoztassa a Hall-érzékelőt a műanyag végéhez. Először egy kis darab PCB-re forrasztottam az érzékelőt, majd egy kis csavarral csatlakoztattam a PCB-t a műanyaghoz.

Az érzékelő csatlakoztatásához az alábbi információkat használtam: Adafruit: "3,5V-ig fut 24V-ig. A csatlakozó tápfeszültség használatához az 1-es csapszeghez (egészen balra), földelj a 2-es csapra (középső), majd egy 10K-os húzóellenállás a 3. tűtől a tápfeszültségig. amikor a mágnes déli pólusának közelében van az érzékelő eleje, a 3-as tű 0V-ra csökken, ellenkező esetben a húzóellenállás csatlakoztatva marad, és ha a mágnes északi pólusa közel van (unipoláris). "

Mágnes az érzékelőhöz:

Egy kis mágnest csatoltam egy dübel végéhez, és a csapot a ventilátor támasztóhoz csatlakoztattam. Ezt a ventilátor mindkét oldalán tettem. Fontos, hogy a mágnesek egyikének déli oldala kifelé nézzen, a másik mágnes pedig északi oldala.

ötlet: Ez az érzékelő egy reteszelő típus, így 1 vagy 0 lehet. Amikor a centrifugálás megkezdődik, az első mágnes bekapcsolja a LED-eket, és amikor a másik mágneshez jut, kikapcsolja őket. Természetesen ez összhangban van a szoftverrel.

A bíborvezeték a 0 analóg tűhöz megy, fekete-földre és piros A + -csapra (5 voltos kimenet).

Akkumulátor:

A 9V-os akkumulátort olyan helyen kell elhelyezni, ahol ellensúlyként szolgál a forgó műanyag számára. Ha a műanyag nem elég kiegyensúlyozott, akkor az egész ventilátort megrázza, amikor eléri a sebességet. A gumiszalag és a huzalkötegek kombinációját használtam, hogy a helyén tartsam, de mégis ki tudom hozni, ha cserére van szükség

A pozitív és negatív vezetékeket az akkumulátorból a megfelelő csapokba kell vezetni. Vettem egy kapcsolót, hogy kikapcsolhassam az Ardweeny-t. A kapcsoló a rétegelt lemezhez van rögzítve.

6. lépés: A kód

A POV projektek keresése a POV Bike projektre vonatkozóan keresett kódot.

Az alábbiakban az, amit használtam, de messze van az eredetitől. Az eredeti sokkal átfogóbb és polírozottabb, de elkezdtem a kódját, és hitelesítenie kell.

A vázlat tartalmaz egy font.h fájlt is, amelyet az internetes keresés után találtam. Nem vagyok benne biztos, hogy ez a font.h volt az eredeti része. Az enyém az alábbiakban szerepel.

// Az Arduino Bike POV projekt kódja

// Arduino Bike POV

//

// Scott Mitchell

// www.openobject.org

// Nyílt forráskódú urbanizmus

//

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

//

// Ez a program szabad szoftver: újraeloszthatja és / vagy módosíthatja

// a GNU Általános Nyilvános Licenc feltételei szerint

// a Szabad Szoftver Alapítvány, vagy a Licenc 3. verziója, vagy

// (az opciónál) bármely későbbi verzió.

//

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

// 6/2011 erősen módosította a c. Dubois a POV projektemhez

// Hall-érzékelő egy kapcsoló, ezért más kódot használtam

// szintén használt egy font.h-t, amit találtam

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

// az ábécé meghatározása

#include "font.h"

// meghatározza az alkalmazott Arduino LED csapokat

const int LEDpins = {

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

// LED-ek száma

const int charHeight = méret (LEDpins);

const int charWidth = 5;

// érzékelő beállítása

const int sensorPIN = 0; // definiálja az Arduino érzékelő csapját

// boolean sensorFlag = false; // az érzékelő állapotát tárolja

int sensVal; // változó az érzékelőtől érkező érték tárolásához

const char textString = "APPLAUSE";

érvénytelen beállítás ()

{

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);

}

érvénytelen hurok ()

{

// bekapcsolja a Led-et egy kör közepén, és bizonyítja, hogy az arduino áramellátása van

digitalWrite (13, HIGH); // bekapcsolja a LED-et

sensVal = analógRead (sensorPIN); // olvassa el a Hall Effect érzékelőt

// Serial.println (sensVal);

// késleltetés (500);

// itt volt nehézsége

// mivel ez egy kapcsolócsarnok kapcsoló, ami valószínűleg csak a digitális olvasást teszi lehetővé

ha (sensVal! = 1023) {

// a textString minden betűjének nyomtatása

a (int k = 0; k

printLetter (textString k);

}

}

}

void printLetter (char ch)

{

// győződjön meg róla, hogy a karakter az ábécéhatárokon belül van (definiálva a font.h fájl)

// ha nem, tegyük üres karaktert

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

ch = 32;

}

// kivonja a szóközt (átalakítja az ASCII számot a betűtípus indexszámra)

ch - = 32;

// lépés a karakterlánc minden bájtján

a (int i = 0; i

bájt b = betűtípus ch i;

// bit átkapcsolás a bájton keresztül, és a pin-hez

a (int j = 0; j

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

}

// oszlopok közötti tér

delayMicroseconds (900);

}

// törölje a LED-eket

digitalWrite (1, LOW); // bekapcsolja a LED-et

digitalWrite (2, LOW); // bekapcsolja a LED-et

digitalWrite (3, LOW); // bekapcsolja a LED-et

digitalWrite (4, LOW); // bekapcsolja a LED-et

digitalWrite (5, LOW); // bekapcsolja a LED-et

digitalWrite (6, LOW); // bekapcsolja a LED-et

digitalWrite (7, LOW); // bekapcsolja a LED-et

// betűk között

delayMicroseconds (2500);

}

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

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

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

// Arduino Bike POV

// font.h

//

// Scott Mitchell

// www.openobject.org

// Nyílt forráskódú urbanizmus

//

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

//

// Ez a program szabad szoftver: újraeloszthatja és / vagy módosíthatja

// a GNU Általános Nyilvános Licenc feltételei szerint

// a Szabad Szoftver Alapítvány, vagy a Licenc 3. verziója, vagy

// (az opciónál) bármely későbbi verzió.

//

// Ez a program abban a reményben kerül terjesztésre, hogy hasznos lesz, // de GARANCIA nélkül; anélkül, hogy a hallgatólagos garanciája is lenne

// KÖTELEZETTSÉGVETŐSÉG vagy KÖTELEZETTSÉG KÜLÖNLEGES CÉLHOZ. Lásd a

// GNU Általános Nyilvános Licenc további részletekért.

//

// A GNU Általános Nyilvános Licenc másolata

// megtalálható a .

//

// B4.1

// Utoljára módosítva: 2008. október 13.

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

// az ábécé meghatározása

// ascii 7x5 oldalvezető karakterek a led modulokhoz

// hozzáadva:

// const byte betűtípus 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}, // w 0x77 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 Nevezd meg!

Ezt az oldalt legutóbb 14:41, 2009. január 11-én módosították. Ez az oldal 1 477 alkalommal látogatott meg.

A tartalom a Creative Commons Nevezd meg! -Nem kereskedelmi-Share Alike 2.5 Australia licenc alatt érhető el.

A nyílt forráskódú urbanizmusról

Disclaimers

Powered by MediaWiki

*/

A

LED-es verseny