Мазмұны:
Бейне: Интерактивті аула шамдары, өтетін жол шамдары: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Мен артқы аулаға интерактивті шамдар жасағым келді. Идея, біреу бір жолмен жүрсе, ол сіз жүрген бағытқа анимация қосады. Мен долларлық күн сәулесінен $ 1.00 доллармен бастадым
1 -қадам: Солор шамдарын өшіріңіз
Алғашқы қадам қызықты нәрселерге жол ашу үшін шамдарды сөндіру болды. Мен бастапқы батарея мен аккумуляторды кесуден бастадым. Бұл бөліктерді сақтауды ұмытпаңыз, себебі олар басқа жобада пайдалы болады, мен күн сәулесінің төменгі жағындағы хром күмбезін алып тастап, фотосуреттерде көрсетілгендей жоғарыға жапсырдым.
2 -қадам: Жақсы шамдарды орнату
светодиод үшін мен су өткізбейтін ws2811b қолдандым, оны мына жерден табуға болады
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Мен бастапқыда күн сәулелерінің ішіне PIR сенсорларын қоюды жоспарладым. бірақ бұл сенсор пластиктен өткенді көре алмайтындықтан, бұл қандай да бір қиын мәселе болды. ол ультракүлгін сүзгілеудің қандай да бір түріне ие болуы керек. сондықтан мен осындай нәрсені таңдадым
www.thingiverse.com/thing:2590216
3 -қадам: кодтау
егер сіз шамдарды сенсорды пайдаланбайтын болсаңыз немесе үнемі жұмыс істегіңіз келсе, «жалаушаның күйін өзгерту» деп жазылған жерді іздеңіз және оны эфирге 1 немесе 0 етіп орнатыңыз, мен мұны өзім үшін аяқтаған кезде қосымша суреттерді қосамын. бұл әлі де жұмыс үстінде, бірақ менің ойымша, оны бірден бөліспеу керек. қарағаныңызға рахмет
жарамсыз орнату () {
// орнату кодын бір рет іске қосу үшін мына жерге қойыңыз: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }
void loop () {
Serial.println (FlagState);
if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Waiting (); }}
void ForwardLeds () {
FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Ақ; leds [FirstLed] = CRGB:: Ақ; кешіктіру (750); FastLED.show (); Serial.print («ақ өту»); Serial.print (i); Serial.println («8 -ден»); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: көк; leds [FirstLed] = CRGB:: Көк; кешіктіру (250); FastLED.show (); Serial.print («Көк пас»); Serial.print (i); Serial.println («8 -ден»); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Күлгін; leds [FirstLed] = CRGB:: Күлгін; кешіктіру (250); FastLED.show (); Serial.print («Қызыл өту»); Serial.print (i); Serial.println («8 -ден»); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Қара; leds [FirstLed] = CRGB:: Қара; кешіктіру (250); FastLED.show (); Serial.print («Светодиодты өшіру»); Serial.print (i); Serial.println («8 -ден»); } FlagState = 2; // жалауша күйін өзгерту} void RevLeds () {Serial.println («керісінше»); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; leds [LastLed] = CRGB:: Ақ; leds [FirstLed] = CRGB:: Ақ; кешіктіру (750); FastLED.show (); Serial.print («Ақ өту»); Serial.print (i); Serial.println («8 -ден»); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; leds [LastLed] = CRGB:: көк; leds [FirstLed] = CRGB:: Көк; кешіктіру (250); FastLED.show (); Serial.print («Көк өту»); Serial.print (i); Serial.println («8 -ден»); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; leds [LastLed] = CRGB:: Күлгін; leds [FirstLed] = CRGB:: Күлгін; кешіктіру (250); FastLED.show (); Serial.print («Қызыл өту»); Serial.print (i); Serial.println («8 -ден»); }
FirstLed = 8;
LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; leds [LastLed] = CRGB:: Қара; leds [FirstLed] = CRGB:: Қара; кешіктіру (250); FastLED.show (); Serial.print («Светодиодты өшіру»); Serial.print (i); Serial.println («8 -ден»); } FlagState = 2; // жалауша күйін өзгерту} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println («алға басталды»); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println («Rev іске қосылды»); FlagState = 1; } Serial.println («цикл аяқталды күту»); }
Ұсынылған:
BBC Micro: бит және Scratch - интерактивті руль және жүргізуші ойыны: 5 қадам (суреттермен)
BBC Micro: бит және Scratch - интерактивті руль және көлік жүргізу ойыны: Менің осы аптадағы тапсырмаларымның бірі - біз жазған Scratch бағдарламасымен интерфейс жасау үшін BBC Micro: bit пайдалану. Мен бұл ThreadBoard тақтасын ендірілген жүйені құрудың тамаша мүмкіндігі деп ойладым! Менің сызатқа шабытым
Tripwire біреу өтетін кезде қойындыларды автоматты түрде кішірейтеді: 3 қадам
Tripwire біреу өтіп бара жатқанда қойындыларды автоматты түрде кішірейтеді: Сіз әрқашан компьютерді өшіріп, оны бұзып алу туралы уайымдайсыз ба? Енді жоқ, өйткені бүгін біз біреу өтетін кезде сіздің қойындыларыңызды автоматты түрде кішірейтетін tripwire құрамыз, бұл жобада негізінен RECEIVER (Rx) a екі модулі бар
Arduino көмегімен жобаларда белсенді төмен өтетін сүзгі RC: 4 қадам
Arduino көмегімен жобаларда белсенді төмен өту сүзгісі: төмен өту сүзгісі сіздің жобаларыңыздан паразиттік сигналдарды сүзуге арналған тамаша электронды схемалар болып табылады. Arduino және қуат тізбектеріне жақын орналасқан сенсорлары бар жүйелердегі жалпы мәселе - бұл «паразиттік» сигналдардың болуы
Автоматтандырылған өтетін қаптамасы бар теміржол макеті (V2.0): 13 қадам (суреттермен)
Автоматтандырылған өтетін қаптамасы бар теміржол макеті (V2.0): Бұл жоба - теміржолды автоматтандырудың алдыңғы үлгілерінің бірі, Автоматтандырылған сайдингі бар теміржолдың макеті. Бұл нұсқа локомотивті жылжымалы құраммен қосу және ажырату мүмкіндігін қосады. Операция
Аула сайдингі бар қарапайым автоматтандырылған теміржол ілмегі: 11 қадам
Аула сайдингі бар қарапайым автоматтандырылған теміржол ілгегі: Бұл жоба менің алдыңғы жобаларымның бірінің жаңартылған нұсқасы. Бұл теміржолдың макет схемасын автоматтандыру үшін ашық бастапқы коды бар үлкен платформа Arduino микроконтроллерін қолданады. Орналасу қарапайым сопақ ілмек пен аула сыртының кебегінен тұрады