Throwduino Basic - détection de lumière clignotant Throwie avec 1 partie ajoutée - maintenant avec le Code Morse (7 / 7 étapes)

Étape 7 :

Le Code Morse !

Dans cette étape, vous trouverez le Code Morse... euh... code pour Throwdurino.

La grande chose sur l’ajout d’un microcontrôleur, c’est que nous pouvons transporter des informations.  Ce croquis permet la même throwie flasher un message préprogrammé en Code Morse.  La routine de réglage seuil initial et la méthode de captage de la lumière sont les mêmes que pour le croquis original.

Edit - il y a une erreur dans le code :

seuil = (total >> 5) ; la valeur seuil de point (fracture totale de 128) moyen.

devrait probablement être :

seuil = (total >>7) ; la valeur seuil de point (fracture totale de 128) moyen.

Il a travaillé pour moi car c’était, mais cela pourrait causer des problèmes avec la détection de lumière.  Je vais vérifier et corriger si nécessaire.

Le moment du Morse n’est pas tout à fait aussi vite qu’il devrait être - les pauses sont beaucoup trop longs vraiment - mais j’ai trouvé le calendrier strict trop vite pour un novice à décoder. Ou trop lourd sur l’utilisation de la batterie.  Je pense que c’est assez clair pour le novice Coder de Morse.

Pour modifier le message, trouvez la ligne ci-dessous dans la partie supérieure de l’esquisse :

const char [flashSeq] = {"sombre ici ISNT IT"} ;  Message de Morse.  Modifier cela.

et simplement modifier ce que vous avez besoin.

Afin de limiter la longueur de l’esquisse, il reconnaît seulement majuscules.  Tout le reste est considérée comme un « espace ».  N’essayez pas d’utiliser plus de 256 caractères ou il est susceptible de se bloquer horriblement.

L’esquisse est fixée et collée ci-dessous.  Il devrait compiler vers 1398 octets

Throwduino base - édition de code Morse !
UGI 2012
Licence MIT
Écrit pour fonctionner sur ATtiny25/45/85 en utilisant Arduino Tiny core - http://code.google.com/p/arduino-tiny/
Ne compilera pas pour autres Arduinos (ATMega168, ATMega328 etc.)
Assurez-vous de que sélectionner le bon conseil avant de compiler.

Ref :
Broches de l’ADC :
ADC1 = PB2
ADC2 = PB4
ADC3 = PB3

Si vous voulez juste changer la séquence de clignotement, faites-le ici.
valeur par défaut est :
//
const char [flashSeq] = {"sombre ici ISNT IT"} ;  Message de Morse.  Modifier cela.
//
Modifier le message avec caractères majuscules seulement.
Autre chose va sortir comme un 1 s retard.
Après la séquence, nous attendons pendant 2 secondes avant de répéter.

const char [flashSeq] = {"sombre ici ISNT IT"} ;  Message de Morse.  Modifier cela.
const byte seqLength =(sizeof(flashSeq)-1);

Codage Morse code
Stockées sous forme d’un octet par lettre.
5 bits de poids fort sont 1 pour - et 0 commençant par LSB de ces haut-5...
Bas 3 bits donnent nombre d’éclairs (points + tirets).
Morse permet 5 clignotements (pour les nombres) mais nécessitent de lettres maximum 4.
Ce format peut donc être utilisé pour numéros ainsi, mais je n’ai pas implémenté qui.

const byte morse [26] = {}
B00010010, //a
B00001100, //b
B00101100, //c
B00001011, //d
B00000001, //e
B00100100, //f
B00011011, //g
B00000100, //h
B00000010, //i
B01110100, //j
B00101011, //k
B00010100, //l
B00011010, //m
B00001010, //n
B00111011, //o
B00110100, //p
B01011100, //q
B00010011, //r
B00000011, //s
B00001001, //t
B00100011, //u
B01000100, //v
B00110011, //w
B01001100, //x
B01101100, //y
B00011100, //z
};
Maintenant nous allons faire un throwie pour cette séquence...

const int LEDpin = 4 ; Bien que ce soit dans une constante, il y a beaucoup d’accès direct au port
Je n’essaierais pas de changer cela sans aller throu' la totalité du code.

unsigned int seuil = 10 ; Nous allons définir cela correctement pendant l’installation

Cela met en place des bibliothèques et des définitions utilisées avec la fonction Sleep
#include < avr/sleep.h >
#include < avr/wdt.h >
#ifndef DRAS
#define DRAS (sfr, bit) (_SFR_BYTE(sfr) & = ~_BV(bit))
#endif
#ifndef sbi
#define sbi (sfr, bit) (_SFR_BYTE(sfr) | = _BV(bit))
#endif

ISR(WDT_vect) {WDTCR| = B01000000;} / / reset Watchdog Timer Interrupt mode chaque fois.

Déconner avec certains registres à éteindre trucs et définissez des références.
void setup() {}
ADCSRB & = B10111111 ; désactiver comparitor
ACSR | = B10000000 ; Mettez hors tension comparitor
ADCSRA | = B10000000; / / mettez le ADC
DDRB & = B11100000 ; Mettez les à l’entrée
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; Set PB3 faible - il s’agissait pour la phase de test.  Peut sans doute être supprimé maintenant.
PRR & = B11111110 ; claire ADC disable bit en puissance réduction Reg
analogReference(6) ; 2.56v interne de référence avec aucune déviation - INTERNAL2v56NB-

Montrer que nous sommes éveillés :
Flash(3) ;  Trois clignotements - nous sommes en cours d’exécution.


Définissez le seuil de détection lumineuse durant les premières 40 secondes.
Nous prenons 148 Mensurations, bin les 20 premiers et puis moyenne la prochaine 128.
total unsigned int = 0 ;
pour (rep octets = 0; rep < 148 ; rep ++) {}
int value=lightLevel() ;
int valeur = 10 ;
if(REP>19) {}
valeur total += ; Teyssandier au total 128 lectures
}
Flash(value) ;

Pause(4); / / a pause(4)
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B1110000 ; Tout bas
}
seuil = (total >> 7) ; la valeur seuil de point (fracture totale de 128) moyen.

Flash(THRESHOLD) ; C’est principalement pour des fins de débogage.
}

Boucle principale
On mesure le niveau de lumière.  S’il est faible alors nous flash notre séquence puis le sommeil pendant 2 secondes.
Si la lumière niveau élevé, nous dormons pour 8 s.
void loop() {}
analogReference(6) ; 2.56v interne de référence avec aucune dérivation

Mesurer le niveau de lumière et si elle est assez basse, afficher notre séquence flash
Si (lightLevel() < seuil) {}
flashMorse() ;
Si nous étions clignotant, nous dormons maintenant pour 4 s
Pause(8) ;
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
}
else {}
Si nous n’étions pas clignote puis nous dormons pour 8 s
Pause(9) ;
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
}

} / / fin de boucle principale

Mesurer le niveau de luminosité en regardant la tension générée par LED connecté à D4 (A2) en broche 3 de la puce.
Sortie et faible pour commencer à s’acquitter de toute accumulation de charge - ne sais pas si nous en avons besoin
int lightLevel() {}
pinMode (LEDpin, sortie) ;
digitalWrite (LEDpin, basse) ;
delayMicroseconds(50) ;
pinMode (entrée, LEDpin) ;
delayMicroseconds(100) ; Laissez-le se stabiliser en tant qu’entrée à nouveau
unsigned int valeur = analogRead(A2) ;
retourne la valeur ;
}

Flash de routine - 70ms, 250 ms désactivé
Répéter certain nombre de fois et ensuite une pause 500ms
void flash(byte No) {}
pinMode (LEDpin, sortie) ;

if (!. Non) {/ / si nous recevons un zéro, juste faire une pause.
Pause(5) ;
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
}

Si nous avions un nombre différent de zéro, des bouffées de chaleur, nous les ferons maintenant
pour (rep octets = 0; rep < non ; rep ++) {}
flashDot(70) ;
}

Faire une pause (sleep)
Pause(5) ;
DDRB| = B00011010 ; La valeur 1 et 3 en sortie
PORTB & = B11110111 ; PB3 faible.
}

Sub {pause (temps octets)
DDRB & = B11100000 ; Mettez les à l’entrée
setup_watchdog(Time) ; mettre en place une période d’attente
system_sleep(); / / sommeil
}

void flashMorse() {}
pour (rep octets = 0; rep < seqLength ; rep ++) {}
index de l’octet = 0 ;
Si (flashSeq [rep] < 65 || flashSeq [rep] > 90) index = 0 ;
autre indice = flashSeq [rep] -64 ;
if(!index) pause(6) ;
else {}
dotdash octets = morse [index-1] >> 3 ; mettre une partie de séquence (5 bits) juste en dotdash
Points et tirets selon la séquence codée en morse]
pour (octet clignote = 0; clignote < ((morse[(index-1)] & B111)); flashs ++) {}
Si (dotdash & 1)flashDot(160) ; Si LSB est 1 puis affichez un tableau de bord
d’autre flashDot(40) ; Sinon, c’est un point
Pause(4) ; faire une pause entre les bouffées de chaleur - 256ms
dotdash >> = 1 ; rouler le long pour le prochain bit
}
Pause(5) ; Fin du mot pause 0. 5 s
}
}
}

clignoter la LED du moment (< ms 256) et pause de 250ms.
void flashDot (temps de l’octet) {}
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
PORTB| = B00010000 ; PB4 haute
Delay(Time) ;
PORTB & = B11101111 ; PB4 faible.
Pause(4) ;
}

Réglage timer chien de garde
C’est spécifique à la ATTiny85 (+ tiny45, & tiny25) et ne sera pas compiler pour ATMega328 etc..
0 = 16ms, 1 = 32ms, 2 = 64ms, 3 = 128ms, 4 = 250 ms, 5 = 500ms
6 = 1 sec, 7 = 2 sec, 8 = 4 s, 9 = 8sec
void setup_watchdog (int période) {}

valeur d’octet ;
Si période (période > 9) = 9 ;
valeur = période & B111 ;
Si value| (période > 7) = (1 << 5) ;
value| = (1 << WDCE) ;

MCUSR & = ~ (1 << WDRF) ;
démarrer le cycle d’horloge-4-séquence chronométrée
WDTCR | = (1 << WDCE) | (1 << WDE) ;
Définissez la nouvelle valeur de délai d’attente de chien de garde
WDTCR = valeur ;
WDTCR | = _BV(WDIE) ;
}

mettre le système en état de veille
système se réveille wtchdog est expiré
void system_sleep() {}
CBI(ADCSRA,Aden) ;                    commutateur analogique/Digitalconverter OFF

set_sleep_mode(SLEEP_MODE_PWR_DOWN) ; mode "veille" est défini ici
sleep_enable() ;

sleep_mode() ;                        Système dort ici

sleep_disable() ;                     Système continue l’exécution ici watchdog expiré
SBI(ADCSRA,Aden) ;                    commutateur analogique-Digitalconverter ON
PRR & = B11111110 ; claire ADC disable bit en puissance réduction Reg
}
UGI 2012
Licence MIT
Écrit pour fonctionner sur ATtiny25/45/85 en utilisant Arduino Tiny core - http://code.google.com/p/arduino-tiny/
Ne compilera pas pour autres Arduinos (ATMega168, ATMega328 etc.)
Assurez-vous de que sélectionner le bon conseil avant de compiler.

Ref :
Broches de l’ADC :
ADC1 = PB2
ADC2 = PB4
ADC3 = PB3

Si vous voulez juste changer la séquence de clignotement, faites-le ici.
valeur par défaut est :
//
const char [flashSeq] = {"sombre ici ISNT IT"} ;  Message de Morse.  Modifier cela.
//
Modifier le message avec caractères majuscules seulement.
Autre chose va sortir comme un 1 s retard.
Après la séquence, nous attendons 4 s avant de répéter.

const char [flashSeq] = {"sombre ici ISNT IT"} ;  Message de Morse.  Modifier cela.
const byte seqLength =(sizeof(flashSeq)-1);

Codage Morse code
Stockées sous forme d’un octet par lettre.
5 bits de poids fort sont 1 pour - et 0 commençant par LSB de ces haut-5...
Bas 3 bits donnent nombre d’éclairs (points + tirets).
Morse permet 5 clignotements (pour les nombres) mais nécessitent de lettres maximum 4.
Ce format peut donc être utilisé pour numéros ainsi, mais je n’ai pas implémenté qui.
const byte morse [26] = {}
B00010010, //a
B00001100, //b
B00101100, //c
B00001011, //d
B00000001, //e
B00100100, //f
B00011011, //g
B00000100, //h
B00000010, //i
B01110100, //j
B00101011, //k
B00010100, //l
B00011010, //m
B00001010, //n
B00111011, //o
B00110100, //p
B01011100, //q
B00010011, //r
B00000011, //s
B00001001, //t
B00100011, //u
B01000100, //v
B00110011, //w
B01001100, //x
B01101100, //y
B00011100, //z
};
Maintenant nous allons faire un throwie pour cette séquence...

const int LEDpin = 4 ; Bien que ce soit dans une constante, il y a beaucoup d’accès direct au port
Je n’essaierais pas de changer cela sans aller throu' la totalité du code.

unsigned int seuil = 10 ; Nous allons définir cela correctement pendant l’installation

Cela met en place des bibliothèques et des définitions utilisées avec la fonction Sleep
#include
#include
#ifndef DRAS
#define DRAS (sfr, bit) (_SFR_BYTE(sfr) & = ~_BV(bit))
#endif
#ifndef sbi
#define sbi (sfr, bit) (_SFR_BYTE(sfr) | = _BV(bit))
#endif

ISR(WDT_vect) {WDTCR| = B01000000;} / / reset Watchdog Timer Interrupt mode chaque fois.

Déconner avec certains registres à éteindre trucs et définissez des références.
void setup() {}
ADCSRB & = B10111111 ; désactiver comparitor
ACSR | = B10000000 ; Mettez hors tension comparitor
ADCSRA | = B10000000; / / mettez le ADC
DDRB & = B11100000 ; Mettez les à l’entrée
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; Set PB3 faible - il s’agissait pour la phase de test.  Peut sans doute être supprimé maintenant.
PRR & = B11111110 ; claire ADC disable bit en puissance réduction Reg
analogReference(6) ; 2.56v interne de référence avec aucune déviation - INTERNAL2v56NB-

Montrer que nous sommes éveillés :
Flash(3) ;  Trois clignotements - nous sommes en cours d’exécution.


Définissez le seuil de détection lumineuse durant les premières 40 secondes.
Nous prenons 148 Mensurations, bin les 20 premiers et puis moyenne la prochaine 128.
total unsigned int = 0 ;
pour (rep octets = 0; rep < 148 ; rep ++) {}
int value=lightLevel() ;
int valeur = 10 ;
if(REP>19) {}
valeur total += ; Teyssandier au total 128 lectures
}
Flash(value) ;

Pause(4); / / a pause(4)
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B1110000 ; Tout bas
}
seuil = (total >> 5) ; la valeur seuil de point (fracture totale de 128) moyen.

Flash(THRESHOLD) ; C’est principalement pour des fins de débogage.
}

Boucle principale
On mesure le niveau de lumière.  S’il est faible alors nous flash notre séquence puis le sommeil pendant 2 secondes.
Si la lumière niveau élevé, nous dormons pour 8 s.
void loop() {}
analogReference(6) ; 2.56v interne de référence avec aucune dérivation

Mesurer le niveau de lumière et si elle est assez basse, afficher notre séquence flash
Si (lightLevel()
flashMorse() ;
Si nous étions clignotant, nous dormons maintenant pour 4 s
Pause(8) ;
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
}
else {}
Si nous n’étions pas clignote puis nous dormons pour 8 s
Pause(9) ;
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
}

} / / fin de boucle principale

Mesurer le niveau de luminosité en regardant la tension générée par LED connecté à D4 (A2) en broche 3 de la puce.
Sortie et faible pour commencer à s’acquitter de toute accumulation de charge - ne sais pas si nous en avons besoin
int lightLevel() {}
pinMode (LEDpin, sortie) ;
digitalWrite (LEDpin, basse) ;
delayMicroseconds(50) ;
pinMode (entrée, LEDpin) ;
delayMicroseconds(100) ; Laissez-le se stabiliser en tant qu’entrée à nouveau
unsigned int valeur = analogRead(A2) ;
retourne la valeur ;
}

Flash de routine - 70ms, 250 ms désactivé
Répéter certain nombre de fois et ensuite une pause 500ms
void flash(byte No) {}
pinMode (LEDpin, sortie) ;

if (!. Non) {/ / si nous recevons un zéro, juste faire une pause.
Pause(5) ;
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
}

Si nous avions un nombre différent de zéro, des bouffées de chaleur, nous les ferons maintenant
pour (rep octets = 0; rep flashDot(70) ;
}

Faire une pause (sleep)
Pause(5) ;
DDRB| = B00011010 ; La valeur 1 et 3 en sortie
PORTB & = B11110111 ; PB3 faible.
}

Sub {pause (temps octets)
DDRB & = B11100000 ; Mettez les à l’entrée
setup_watchdog(Time) ; mettre en place une période d’attente
system_sleep(); / / sommeil
}

void flashMorse() {}
pour (rep octets = 0; index octets rep = 0 ;
Si (flashSeq [rep] < 65 || flashSeq [rep] > 90) index = 0 ;
autre indice = flashSeq [rep] -64 ;
if(!index) pause(6) ;
else {}
dotdash octets = morse [index-1] >> 3 ; mettre une partie de séquence (5 bits) juste en dotdash
Points et tirets selon la séquence codée en morse]
pour (octet clignote = 0; clignote < ((morse[(index-1)] & B111)); flashs ++) {}
Si (dotdash & 1)flashDot(160) ; Si LSB est 1 puis affichez un tableau de bord
d’autre flashDot(40) ; Sinon, c’est un point
Pause(5) ; faire une pause entre les bouffées de chaleur - 256ms
dotdash >> = 1 ; rouler le long pour le prochain bit
}
Pause(6) ; Fin de mot pause 1 s
}
}
}

clignoter la LED du moment (< ms 256) et pause de 250ms.
void flashDot (temps de l’octet) {}
DDRB| = B00011010 ; La valeur 1, 3 et 4 en sortie
PORTB & = B11110111 ; PB3 faible.
PORTB| = B00010000 ; PB4 haute
Delay(Time) ;
PORTB & = B11101111 ; PB4 faible.
Pause(4) ;
}

Réglage timer chien de garde
C’est spécifique à la ATTiny85 (+ tiny45, & tiny25) et ne sera pas compiler pour ATMega328 etc..
0 = 16ms, 1 = 32ms, 2 = 64ms, 3 = 128ms, 4 = 250 ms, 5 = 500ms
6 = 1 sec, 7 = 2 sec, 8 = 4 s, 9 = 8sec
void setup_watchdog (int période) {}

valeur d’octet ;
Si période (période > 9) = 9 ;
valeur = période & B111 ;
Si value| (période > 7) = (1 << 5) ;
value| = (1 <

MCUSR & = ~(1<
démarrer le cycle d’horloge-4-séquence chronométrée
WDTCR | = (1 < / / définir la nouvelle valeur de délai d’attente de chien de garde
WDTCR = valeur ;
WDTCR | = _BV(WDIE) ;
}

mettre le système en état de veille
système se réveille wtchdog est expiré
void system_sleep() {}
CBI(ADCSRA,Aden) ;                    commutateur analogique/Digitalconverter OFF

set_sleep_mode(SLEEP_MODE_PWR_DOWN) ; mode "veille" est défini ici
sleep_enable() ;

sleep_mode() ;                        Système dort ici

sleep_disable() ;                     Système continue l’exécution ici watchdog expiré
SBI(ADCSRA,Aden) ;                    commutateur analogique-Digitalconverter ON
PRR & = B11111110 ; claire ADC disable bit en puissance réduction Reg
}

Articles Liés

Clignotant le Code Morse

Clignotant le Code Morse

Il s'agit d'un projet qui a été créé durant une nuit de construire Instructables avec RaspberryPi et Adafruit.Ce projet utilise Python, RaspberryPi, une LEDet le Kit de cordonnier Adafruit Pi.Le code Morse utilisé tente de cligner des yeux « HELLO WO
Programme un chapelet de lumières de Noël à clignoter le code morse avec Arduino & Snap Circuits

Programme un chapelet de lumières de Noël à clignoter le code morse avec Arduino & Snap Circuits

c'est un projet de mon fils Dylan (9) et j'ai mis ensemble en utilisant une platine Arduino, un ensemble de Circuit Snap et un chapelet de lumières de Noël.Ce que vous devez :Un Arduino : Un Arduino est un ordinateur sur un circuit unique que vous po
Lilypad Arduino pull de Noël avec musique et lumières clignotant

Lilypad Arduino pull de Noël avec musique et lumières clignotant

je prends un cours de ce semestre appelé la jeunesse et la technologie dans les bibliothèques, dans lequel j'ai été chargé de concevoir quelque chose à l'aide d'une carte de développement Lilypad.  Dans les étapes suivantes je vous guidera dans Comme
Lumière clignotante

Lumière clignotante

lorsque http://lhc.net.br a été approché d'avoir une électronique construire nuit je suis immédiatement venu avec un projet : une led qui cligna des yeux LHC en code morse. N'ayant jamais construit un circuit dans ma vie j'ai demandé l'aide de mes co
Puissance LED - lumière plus simple avec le circuit de courant constant

Puissance LED - lumière plus simple avec le circuit de courant constant

Voici un circuit de pilote de LED (1$) très simple et peu coûteux. Le circuit est une « source de courant constant », ce qui signifie qu'elle conserve la luminosité LED constant n'importe quelle alimentation vous utilisez ou des conditions ambiantes
Chemin de fer de LED clignotants fait avec minuterie 555

Chemin de fer de LED clignotants fait avec minuterie 555

Hé là, c'est un petit circuit que j'ai mis en place avec une minuterie 555, quelques diodes, des résistances et des condensateurs.Check it out, générez-le et me dire si cela fonctionne.Merci !Etape 1: Obtenir les pièces!! 1 Un mot d'avertissement :Ce
Petit solaire rechargeable led lumière instantanée avec aucun panneau solaire/cellule. (utilise la led pour recharger!)

Petit solaire rechargeable led lumière instantanée avec aucun panneau solaire/cellule. (utilise la led pour recharger!)

Leds, nous voyons partout. que font-ils ? ils s'allument. Eh bien oui, c'est leur but principal, mais pas beaucoup de gens savent que, si vous les exposez aux rayons du soleil, elle peutproduire une petite quantité de tension. Sorte de manière, il pe
LabVIEW tutoriels - créer un clignotant LED avec différents On/Off fois

LabVIEW tutoriels - créer un clignotant LED avec différents On/Off fois

Le précédent instructable ici, vous avez vu sur la façon de créer une LED clignotante aurait même ON/OFF fois. Dans ce tutoriel, vous pouvez voir quant à comment vous pouvez créer qu'un clignotant LED avec différents ON/OFF fois.
Un traducteur de Code Morse (lumière-> texte & texte-> lumière)

Un traducteur de Code Morse (lumière-> texte & texte-> lumière)

C'est pour mon entrée dans le concours de l'automatisation, je voulais essayer quelque chose qui a un peu de code dedans.le projet est divisé en deux États principaux (lumière lire et écrire lumière) qui sont transitionable par un bouton1-conversion
LED lumière clignotante avec Arduino

LED lumière clignotante avec Arduino

vous devez d'abord installer Arduino sur votre ordinateur et avoir le starter kit.Étape 1: matériaux Arduino UNOCordon USBFilResistance 300 ohmLumière LEDCarte de prototypageÉtape 2: l'Assemblée Branchez la clé USB à votre ordinateurObtenir la carte
Courier Bag lumière clignotante

Courier Bag lumière clignotante

cette lumière LED simple peut remplacer les étiquettes volantes réflecteur que tout le monde perd de leur sac de messager timbuk 2.Il utilise un timer 555 à clignoter alternativement chaque ensemble de 9 LEDs, pour 18 clignotant LED de la bonté.Étape
Circuit de détection de lumière micro

Circuit de détection de lumière micro

ce petit circuit 10 x 10 mm de hauteur et est probablement l'un de la lumière plus petite et le plus élémentaire, détecter les circuits autour.Vous pouvez utiliser le circuit pour détecter les niveaux de lumière et activer par exemple une LED s'allum
$0,1 dusk to Dawn commuter faible coût simple crépuscule à l’aube interrupteur détection sombre lumière automatique feux

$0,1 dusk to Dawn commuter faible coût simple crépuscule à l’aube interrupteur détection sombre lumière automatique feux

Allumer votre éclairage de sécurité ou l'éclairage de tâche et éteindre automatiquement chaque nuit avec ce circuit. Il est facile à installer.Étape 1: Liste des composants1. TRIAC BT136 ou BTA162. LDR3. 104 (0.1uF) condensateur4. 1K Ohms résistance
Artemis & Apollo : Dancing with Arduino et détection de lumière

Artemis & Apollo : Dancing with Arduino et détection de lumière

selon la mythologie grecque, Artémis et Apollon ont été immortel jumeaux nés il y a sur un îlot rocheux en mer Egée. Artemis, sa chasse bow pieds posées et flottes rembourrage la couverture morte, régnèrent en tant que déesse de la lune. Son frère ju