Treceți la conținutul principal

Postări

Mini proiectul de vineri (15) - PIR senzor de miscare

Descriere proiect: PIR senzor de miscare este un miniproiect în care am vrut sa testez un modul PIR. Practic îl conectez la un arduino și acest senzor îmi semnalează o mișcare. PIR-urile sunt realizate în esență dintr-un senzor piroelectric (pe care îl puteți vedea mai jos, deoarece cutia de metal rotundă cu un cristal dreptunghiular în centru), care poate detecta nivelurile de radiații infraroșii. Totul emite o radiație de nivel scăzut și, cu cât este ceva mai fierbinte, cu atât sunt emise mai multe radiații. Senzorul dintr-un detector de mișcare este de fapt împărțit în două jumătăți. Motivul pentru aceasta este că noi căutăm să detectăm mișcarea (schimbarea) nu nivelul mediu al IR. Cele două jumătăți sunt conectate astfel încât să se anuleze reciproc. Dacă o jumătate vede mai multă sau mai puțină radiație IR decât cealaltă, ieșirea va oscila în sus sau în jos, ceea ce ne semnalează pe PIN-ul din mijloc o mișcare.   Documentatie proiect: PIR passive infrared proximity moti
Postări recente

Some words from James Clear

The only way to actually win is to get better each day.  The purpose of setting goals is to win the game. The purpose of building systems is to continue playing the game. True long-term thinking is goal-less thinking. It’s not about any single accomplishment. It is about the cycle of endless refinement and continuous improvement. Ultimately, it is your commitment to the process that will determine your progress.  However, I've found that goals are good for planning your progress and systems are good for actually making progress. Goals can provide direction and even push you forward in the short-term, but eventually a well-designed system will always win. Having a system is what matters. Committing to the process is what makes the difference.     https://jamesclear.com/goals-systems

Grafica cu DirectX in C++ folosind Code::Blocks

Descriere proiect: Astăzi m-am jucat un pic cu DirectX9 împreună cu Code::Blocks. Practic am vrut să desenez un triunghi la fel cum am facut cu OpenGL. Chiar dacă am făcut un progrămel extrem de simplu din câte am observat DirectX este mai intuitiv și mai ușor de înțeles.  Competitorul OpenGL e un pic mai greoi. În schimb am avut ceva de furcă cu configurările pentru că după ce instalezi DirectX SDK te aștepți să-ți funcționeze din prima. Din păcate mai ai de făcut si alte configurări, care să-ți indice calea către fișierele lib si include , care sunt localizate in foldelul Microsoft DirectX SDK. După configurările astea poți compila și-l poți folosi fără probleme DirectX SDK.  Documentatie proiect: Directx tutorial Tutoriale grafică Building your first directx app Directx overview Cod de test în care desenez un triunghi (comentariile sunt suficiente pentru a urmări firul programului): // include the basic windows header files and the Direct3D header file #include "windows

Programarea cu OpenGL in C folosind Code::Blocks

Descriere proiect: Azi m-am jucat un pic cu OpenGL-ul. Am reușit să-l configurez în Code::Blocks, să compilez și să testez niște progrămele simple. Pentru a utiliza exclusiv OpenGL-ul a fost suficient să instalez MinGW , și pentru GLUT am copiat glut32.dll si glut32.lib in System32 si Mingw/lib am configurat ca in imaginea de mai jos: Primul progrămel (listat mai jos) desenează un triunghi: Al doilea progrămel desenează un pătrat: Documentatie proiect: Configurare OpenGL si GLUT pentru Code::Blocks GLUT cu Code::Blocks OpenGL tutorial Deseneaza un cerc folosind OpenGL OpenGL phong shading Ball game Cod de test folosind OpenGL: #include "windows.h" #include "gl/gl.h" LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); void EnableOpenGL(HWND hwnd, HDC*, HGLRC*); void DisableOpenGL(HWND, HDC, HGLRC); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCm

CNC Laser (4) Proiect finalizat - Instalare si activare laser NEJE 20W

Descriere proiect: În acest articol o să descriu instalarea modulului laser, și mai jos o să dau și câteva exemple de obiecte confecționate cu acest dispozitiv. În principiu montarea pe cadrul de pe axa X   , si se face folosind un șurub de 3mm, care se înfiletează în spatele modulul laser în una din găurile filetate ce se observă în imaginea de mai jos, Și arată ca în imaginea de mai jos: Dioda laser: Componentele modului Laser NEJE 20W: Conexiunea cu arduino a acestui modul este destul de simplă, practic avem GND, 12 V si un pin de control TTL, si în plus are un pin pe care se poate citi temperatura pentru a-l putea opri în caz de supraîncălzire. Pinii de GND si 12 V i-am contectat la sursa e alimentare, iar pe pinul galben TTL i-am simulat un PWM din placa RAMPS1.4 , iar pinul de temperatură nu l-am folosit deocamdată: Controlul laserului se face folosind PWM-ul generat din software, în imaginea de mai jos se observa semnalul de PWM masurat cu osciloscopul, setat la 1%: Practic am c

Folosirea librariei graphics.h cu Code::Blocks

Descriere proiect: Am încercat ieri cu fiica-mea să-i arăt cum se deseneaza niște forme geometrice simple in limbajul C , și mi-a luat ceva timp să mă prind cum se configurează toolurile pentru a putea folosi un mediu grafic simplu. Am vrut un mediu cat mai simplu și ușor de folosit, și m-am gândit la vechea bibliotecă de grafică graphics.h, pe care am folosit-o în facultate. Am reusit până la urmă să desenez câteva forme geometrice simple . Procedura de instalare e descrisă mai jos. Documentatie proiect: How to use graphics.h in codeblocks Draw simple shapes C Language Procedura de instalare: pas1: Descarcă și Instalează MinGW pas2: Descarcă și Instalează Code::Blocks pas3: Descarca lib-ul graphics pas4: Configureaza Code::Blocks ca mai jos: 1.Copy graphics.h and winbgim.h files in include folder of your compiler directory 2. Copy libbgi.a to lib folder of your compiler directory 3. In code::blocks open Settings >> Compiler and debugger >>linker settings cl

CNC Laser (3) - Instalarea axelor de mișcare XYZ

Descriere proiect:      În această postare descriu montarea axelor de miscare a CNC-ului meu. În principiu a fost destul de simplu pentru că am urmat întocmai instructiunile (vezi mai jos linkurile) pentru Prusa mk3s. Am printat componentele Prusa, iar apoi am achizitionat suruburi, piulite, axele de mișcare, axe filetate, rulmentii si curelele. Apoi le-am montat în ordinea de mai jos, în prima fază axa X (stânga <-> dreapta), pentru care am folosit axe de mișcare cilindrice. Apoi am continuat cu axa Y( față <-> spate) pentru care am folosit rulmenți liniari, a căror șine le-am montat cu șuruburi direct pe cadrul de aluminiu. Pentru Axa Z (sus <-> jos) am folosit la fel ca pentru axa X un sistem cu axe cilindrice si niste axe filetate pe care se ridică tot ansamblul axei X. Am întâmpinat foarte  multe probleme la montarea perfect verticale a barelor axei Z, dar și la montarea mesei mobile atasată axei Y, și de data asta m-a salvat vestitul boloboc :). Documentatie p

Reparația acumulatorului mașinii de înșurubat

Descriere proiect:  Am o mașină de înșurubat mai veche la care se stricase bateria de 18V, și am decis să o repar înlocuind acumulatorii. Bateria contine 15 acumulatori de 1.2V legați în serie (Vt = 15 * 1.2v = 18V). Deci am   desfăcut carcasa și am scos acumulatorii, iar apoi i-am lipit și i-am bagat înapoi in carcasă ... dar asta a fost o mare greseală.... În mod normal acești acumulatori se vând descărcați, si este imposibili să-i încarci după ce i-ai conectat în serie. Deci a trebuit să-i dezfac iar și sa-i încarc unul câte unu. Până la urmă după o zi jumate de muncă cu încărcarea lor i-am montat la loc și mașina de înșurubat a prins iar viață. 😄. Pentru încărcare am folosit un încărcător Turnigy ACCUCELL6  la care pot să selectez încarcarea pentru NiCd direct în programul ChargerMaster . Documentatie proiect: Wiki Nickel cadmium battery Accumulator 1.2 v NiCd Charging NiCd battery Imagini cu dovezile : Mașina mea de înșurubat funcționeaza perfect, și sper să mai țină încă 10