Difference between revisions of "Inteligentná svetelná kocka"
m |
m |
||
Line 105: | Line 105: | ||
[[Image:kocka_pohlad2.jpg|výsledný, takmer dokončený model, iný pohľad]] | [[Image:kocka_pohlad2.jpg|výsledný, takmer dokončený model, iný pohľad]] | ||
− | <youtube> | + | <youtube>UAF1ug7yA6o</youtube> |
== Program == | == Program == |
Revision as of 11:41, 31 August 2020
Ciele
- vyrobiť model kocky
- vytlačiť model kocky
- spojazdniť kocku (správne všetko zapojiť, zaizolovať, skontrolovať)
- naprogramovať hru
Postup
Model kocky som vyrobila v openscade. Bolo potrebné presne vypočítať rozmery strán, dier na LEDky, matice, skrutky a iné detaily aby všetko sedelo ako má. Vyrobila som niekoľko modelov kým som sa dostala k finálnej verzii. Následne som si v tinkercade overila či konkrétne časti do seba zapadajú.
Finálna verzia kocky bola o rozmeroch 10x10x10cm, obsahovala 3mm diery na LEDky a na skrutky s maticami, dieru na arduino (aby sa dal vložiť do neho kód bez rozoberania kocky), tlačidlo a dotykové senzory. Kocka sa dala vytlačiť.
Na každú zo 4 dosiek som si pospájkovala 3 multiplexery, 24 LEDiek a rezistory podľa nasledujúcej schémy.
Miesto toho aby boli všetky LEDky zvlášť zapojené do zeme, tak som ich musela spojiť aby som ušetrila miesto.
Naspájkovala som 2 dotykové senzory (piny A3, A7), sirénka na D13 a potom už len dosky k LEDkám a nakoniec všetkú zem do doštičky, ktorá potom viedla k zemi do arduina a to isté so zdrojom. Ďalej bolo treba všetko skontrolovať či niekde nie je niečo vyskratované, opraviť a dôkladne zaizolovať.
Zoznam súčiastok
- 96x LED (červená, zelená, žltá)
- 96x rezistor 220 Ohm
- 12x shift-register 74HC595
- gyroskop MPU6050
- pasívna sirénka
- držiak na dva AA články
- 2ks Li-Ion batérie 14500
- Zdroj 5V 4A
- Odporový delič na meranie napätia bateriek
- Arduino Nano
- vypínač KCD11
- kábliky
- 6 stien kocky vytlačených na 3D tlačiarni
Zapojenie
Analýza technológií
const int latchPin = 8; //Pin connected to latch pin (ST_CP) of 74HC595
const int clockPin = 12; //Pin connected to clock pin (SH_CP) of 74HC595
const int dataPin = 11; //Pin connected to Data in (DS) of 74HC595
void setup() {
//set pins to output because they are addressed in the main loop
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
unsigned long x = 1;
for (int i = 0; i < 24; i++)
{
setLEDs(x);
delay(150);
x <<= 1;
}
x >>= 1;
for (int i = 0; i < 24; i++)
{
setLEDs(x);
delay(150);
x >>= 1;
}
setLEDs(0);
delay(150);
}
void setLEDs(unsigned long state) {
// turn off the output so the pins don't light up
// while you're shifting bits:
digitalWrite(latchPin, LOW);
// shift the bits out:
// (kazdy bajt ide do jedneho z tych 3 integracov na jednej doske)
shiftOut(dataPin, clockPin, MSBFIRST, state >> 16);
shiftOut(dataPin, clockPin, MSBFIRST, (state >> 8) & 255);
shiftOut(dataPin, clockPin, MSBFIRST, state & 255);
// turn on the output so the LEDs can light up:
digitalWrite(latchPin, HIGH);
}
3D model
Download: zozipované STL súbory
Výsledok
Program