joi, 31 ianuarie 2013

Operaţii pe biţi în embedded C

Pentru cunoscatori  :)

Definitia macrourilor:

/*Bitwise macros x=target variable, y=mask */
#define BITMASK_SET(x,y) ((x) |= (y))
#define BITMASK_CLEAR(x,y) ((x) != (~(y)))
#define BITMASK_FLIP(x,y) ((x) ^= (y))
#define BITMASK_CHECK(x,y) ((x) & (y))
#define BITMASK_CHECK_MASK(x,y) (((x) | (y)) == (y))

Definitia constantelor:
/** \brief Basic bitwise defines*/
#define BIT_0 0x01
#define BIT_1 0x02
#define BIT_2 0x04
#define BIT_3 0x08
#define BIT_4 0x10
#define BIT_5 0x20
#define BIT_6 0x40
#define BIT_7 0x80

Exemplu:

unsigned char variabila = 0U;

Pentru a modifica bitul 3 :
BITMASK_SET(variabila ,BIT_3 );

Pentru a reseta bitul 3:
BITMASK_CLEAR(variabila,BIT_3);

Eu folosesc foarte mult macrourile astea și am vrut sa le împărtășesc cuiva. Mai mult nu mai am nimic de comentat.
Aştept păreri. 

joi, 24 ianuarie 2013

Extractor de fum

De la o vreme mă confrunt cu o mare problemă. Am o reacție alergică la fumul de la lipiturile pe care le fac, o dată sau de două ori pe săptămână. Cum nu duc lipsă de idei (nu întotdeauna bune), mi-a venit o idee... M-am decis să modific un pic proiectul meu cu ventilatoare și să îl transform într-un "Extractor de fum". Adică ce face aparatul ăsta ? Extrage fumul rezultat în urma topirii fludorului și sacâzului și îl redirecționează într-o direcție opusă nasului meu :).
Aparatul arată cam așa:

 Se alimentează la un transformator la 12 V, învârte ventilatoarele cu viteza maximă, se formează un curent de absorbție suficient de puternic cât să tragă fumul .
 
În carcasă aparatul arată cam așa:

 Și funcționează cam așa:

Merge destul de bine . A fost o idee destul de bună.

În postul viitor sper să termin sursa de tensiune liniară iar apoi să încep altceva mai interesant ... are cineva vreo idee ? :)

vineri, 18 ianuarie 2013

Disecție pistol pentru plastic topit

Ieri mi s-a stricat pistolul pentru plastic topit și l-am desfăcut să încerc să îl repar. Disecția a fost destul de simplă pentru că scula asta e pe cât de utilă pe atât de simplă.
În principu este format din două părți principale:
1. Partea mecanică , care împinge batonul de plastic, prevăzută cu un buton ajutător


2. Partea electrică prevăzută cu un încălzitor cu semiconductor http://www.tme.eu/ro/details/01602.0-00/elemente-de-incalzire/stego/# care încinge un rezervor de metal și care la rândul lui topește plasticul.

 Din păcate nu pot să îl repar pentru că încălzitorul cu semiconductor s-a ars și piesa ar fi mai scumpă decât prețul inițial al pistolului (chinezărie de 15 lei ... oare cum fac chinezii să îl producă așa de ieftin ?). Mai bine cumpăr altu .. Dar nu a fost totul în zadar pentru că am aflat că există încălzitoare pe bază de semiconductor. Sincer,  nu știam ...
 Pe parcursul căutărilor după piesa asta minune am mai găsit și folie autoadezivă de încălzire. 
Mi-ar prinde bine și mie chestia asta pentru volanul mașinii sau pentru șosete :) . Iarna asta mi-au înghețat picioarele și mâinile și știți cum se zice nevoia de învață ... sau mai degrabă te împinge :).

PS: partea bună e că am rămas cu un cablu de alimentare perfect funcțional .

miercuri, 16 ianuarie 2013

Despre viaţă

Pentru perfecţionare, diavolul ar putea fi oricând trimis pe pământ.

Să trăieşti astfel încât felul în care ţi-ai trăit viaţa să trăiască mai mult decât tine. Herbert Harris

Să-ţi trăieşti viaţa care te va face să fii bun şi milos faţă de toată lumea, şi vei fi surprins să descoperi că vei trăi o viaţă fericită. Charles M. Schwab

marți, 15 ianuarie 2013

Principiul 10/90

10% din viaţă este formată din ce ţi se întâmplă ,
90% este decis de modul în care reacționezi...
Stephen R. Covey