Stap 6: bijzonderheden
Er zijn een paar gedetailleerde punten die ik moet maken om iemand mijn stappen precies.De bekendste wordt dat ik gebruikt een atmega328 met een AVR-programmer met behulp van de arduino ISP.
Het is heel de alternerende actie maar na nul ervaring programmering, bleek het gemakkelijkste te halen en te leren, er zijn vele gidsen en help voor arduinos dus met behulp van de arduino interface-programmer was echt de enige optie voor mij.
hiervoor liep ik in een paar problemen. De sleutel is dat de arduino ISP niet er wordt een AVR MKII vastgehaakt met de stuurprogramma's die worden geïnstalleerd met het begrijpen, zodat u moeten zult de mkII stuurprogramma uit Apparaatbeheer verwijderen en kracht installeert een nieuwe, er is een blog post dat ik vond hier (http://www.johndimo.com/2012/01/18/programming-your-arduino-with-an-avrisp-mkii-with-new-1-0-ide/)
Ten tweede is dat ik gebruik een ATmega328p met in de slaapmodus staat en zonder een kristallen oscilator dus ik program van de zekeringen in de micro-controller moest gebruik van haar interne oscilator op 8mhz in plaats van 20.
Als u nieuw bij micro-controllers bent, gewoon begrijpen dat ze dingen genaamd zekeringen en bootloaders hebben. ze zijn diep instructies voor de chips uit te voeren op manieren dat u kunt niet schetsen/programma's schrijven voor. dingen zoals het uitschakelen van timers/detectoren/klok snelheid/verwerken de klok-/ geheugenbeheer... en zelfs interfacing met hardware zoals de arduino waarin je een arduino bootloader voor nodig zou hebben. Koopt u een nieuwe chip dan wel een bootloader niet en moet u het programma toch die is niet moeilijk veronderstellend hebt u een AVR programmeur
In het geval van branden een bootloader, wijzigen van de zekeringen en de behandeling van slapen en de chip waarop een interne oscillator volgde ik deze gids http://www.sparkfun.com/tutorials/309
Ik ben zeker dat u kunt resources zoeken op het web over branden bootloaders en wijzigen van zekeringen en dergelijke zonder avr programmeurs denk ik.
Heres een gids die ik gevonden
Nota: Als u wilt uitvoeren deze uit batterijen, u moet niet onbruikbaar maken brownout detectie
Als u wilt het gewoon weggelopen met een 5v stekker dan u niet hoeft te maken over één van de functies van de slaap in de code. in- of uitschakelen van alle zekeringen.
De brownout Detector gewoon detecteert wanneer de geleverde spanning is gedaald tot ver, formulier 5V tot ongeveer 2.8 of iets rond daar en het programma stopt ter bescherming van de chip. Het uitschakelen van brownout zou goed zijn voor de meeste projecten maar wel zeer schadelijk zijn voor permanente projecten. het kan de firmware beschadigd of flash waardoor het apparaat onbruikbaar tenzij u reflash de chip en In ons geval het EEPROM annuleerteken omkoopbaar, eeprom is het geheugen dat permanent wordt opgeslagen wanneer het apparaat geen macht, ontvangt zodat het apparaat zal blijven permanent storing telkens wanneer die de batterijen bijna leeg. Dit kan worden opgelost door het veranderen van wat bytes de eeprom slaat om in de code telkens... maar dat is een pijn de een ** speciaal voor een permanente project waar u niet wilt knoeien met de micro controller meer.
een ander detail is de analoge piëzo-film. Het genereert een ton van spanning van minieme compession en rek van de film. Op annuleerteken speurder subtiele trillingen van iemand weglopen van 10 + meter, om deze gevoeligheid u een 1M ohm weerstand tussen de leads van moet de sensor in parallel met het circuit is het op dat de spanning tot bruikbare input voor 5v voeding zal omzetten.
Een ander ding om op te merken is dat analoge signalen heel gevoelig voor ruis en interferentie zijn. Ik zou aanbevelen afgeschermde draden aansluiten van alle delen van de sensor en verbinding van beide zijden van de afscherming met grond.
dan op de AREF pin (21) dit moet plaatsvinden tot 1 volt (die kan je intern met code), om te maximaliseren van de gevoeligheid. In plaats van de grenzen wordt 0V en + 5V 0V en 1V. De pin AREF is de analoge referentie-pin, het geeft de analoge lezingen een basis voor wat het is omgaan met spanning.
om de pin AREF tot 1V analogReference (interne) kunnen worden ingesteld; in de Setup-functie, zal dit intern controle de AREF spanning
tot slot, omdat ik van plan om het gebruik van een lithium-polymeerbatterij wilde ik meten van het huidige gebruik van het apparaat.
(I update dit toen ik mijn berekeningen pagina vinden), maar in de tussentijd ik vond dat met een batterij 40MA zou het nauwelijks snijd het voor de eerste nacht, en met een 100mAh-accu het zou lang genoeg om gewoon te rekenen voor een uur vóór gebruik elke nacht, en als je ging nooit naar het menu om de instellingen te leggen dan u kon gebruiken voor 5 + dagen... het menu neemt de meeste macht als de leds op voortdurend zijn