Étape 4: Module 1 - l’Arduino / module RTC - aperçu
Vous pouvez utiliser ce module ou une variante de celui-ci pour toute application basée sur le temps. Nous sortir de la quasi-totalité des broches utiles aux en-têtes de sexe masculins, et il peut être re-programmé par numéro d’ordre du Conseil d’administration. Vous aurez besoin un câble USB vers TTL pour programmer le code radio-réveil ou le code de test (ou même pour votre propre code). Le mien s’appelle « CP2102 » basé et était £4,75 pour deux incluant la livraison (e-bay). Maintenant, ils sont encore moins chers.
Pour programmer en connexion série, vous avez besoin d’une 328 avec le bootloader "Duemilanove". Vous pouvez acheter ces puces préprogrammés avec le bootloader ou utiliser un programmateur ISP. J’ai utilisé un Arduino existant comme l’ISP avec ma nouvelle puce sur une maquette selon ce tutoriel :
http://Arduino.cc/en/Tutorial/ArduinoToBreadboard
Cependant, ce qui ne vous dit pas, c’est que vous devez désactiver l’auto-reset alors regardez ici :
http://www.Arduino.cc/Playground/code/MegaISP
pour la solution à cela. J’ai utilisé une résistance de 100 ohms et 10 ohms en série de la broche de remise à zéro à + 5V. Un condensateur 100uF entre eux fonctionne tout aussi bien.
Si, comme moi, vous obtenez un 328-unité centrale plutôt qu’un 328p (je ne savais pas la différence, mais apparemment ils ont des modes d’économie d’énergie), puis vous pouvez constater que le programme d’amorçage ne se charge pas parce que ces deux puces ont une signature de différents périphériques et le logiciel qui parle réellement au programmeur (AVRdude) se confond. La solution plus rapide pour cela consiste à trouver votre fichier avrdude.conf et dans l’entrée sous ATmega328, modifiez la ligne :
signature = 0x1e 0x95 0x0F ;
à lire :
signature = 0x1e 0x95 0x14 ;
Cela rend AVRdude chercher une 328-PU et tout va bien. Remodifier le fichier .conf après (une fois le bootloader est programmé). Le bootloaded 328-PU programmera à partir de l’IDE de série sans problème et se comporte exactement comme un Arduino normal.
Le Datasheet ATMega328 est à: http://www.atmel.com/Images/doc8161.pdf juste au cas où vous devriez 448 pages de lecture !
Vous verrez également que je suis plutôt allé à la ville sur les condensateurs sur ce forum (et en effet ce projet). Peut-être en raison de la lourd PWM de plusieurs ampères de LEDs, je trouvais cette horloge était un peu instable et se cale parfois. Aussi l’écran est devenu un peu fou parfois. J’ai donc pris la démarche d’ajout d’un 100nf à chaque connexion de puissance de chaque puce, un 100uF à chaque bord et une 470-1000uF massive sur les mes ' carte et carte de conducteur. C’est sans doute trop tuer, mais il semble fonctionner. Utilisez votre jugement sur ce qu’il faut laisser de côté si vous avez une meilleure compréhension de ces choses que moi.
Comme note finale, j’ai inclus des en-têtes femelles pour tenir les LEDs temporaires sur l’alimentation et sur la broche 13. Nous utilisons le pin 13 pour la communication et je ne voulais vraiment ce scintillement loin toute la nuit. Avec un en-tête je peux Carlin dans la LED quand je veux tester quelque chose et puis sortez à nouveau après. Si vous voulez une LED permanent sur la broche 13 juste souder à la place les en-têtes de la femelles.
BoM pour le Module 1 :
1 PCB ou Perf Board (X par Y trous)
1 prise DIN de 28 broches (facultatif, mais recommandé)
1 bootloaded ATmega 328
Cristal de 1 16 MHz
2 22 pf condensateurs céramiques
1 1307 RTC **
1 32,768 kHz, 12.5 pF cristal de montre
1 support de piles 2032
1 2032 3V au lithium (non illustré)
1 interrupteur tactile (6 x 6 mm)
3 100 condensateurs céramiques nf
3 résistances de 10K *
2 résistances de 1K
1 orange LED 3mm
1 vert LED 3mm
optionnel - 2 x 2 broches femelle en-tête.
1 cap électrolytique 1000 uf (non illustré)
en-tête de mâle à 2 x 7 pôles (droites ou 90')
en-tête male 2 x 6 pin (droites ou 90')
1 x 2 broches mâle en-tête
adossement de fil si vous utilisez perf-Conseil (j’ai utilisé quelques vieux câble 3 paires). J’assumerai cela dans tous les autres modules.
* conformément à la feuille de données, ** le CCF devrait probablement avoir 2,5 K tractions mais 10K semble fonctionner très bien.
http://www.Sparkfun.com/datasheets/Components/DS1307.pdf