PCB Christmas tree (9 / 10 steg)
Steg 9: programmering
Så är det sista steget att avsluta programmet och ladda upp den på monterade träd. Programmet har 4 huvuddelar: initiering, avbrott för touch-knapp, huvudloop blinka lysdioder, och en hel del mindre funktioner för att beräkna de olika mönster för trädet. Jag har några kommentarer i koden som förklarar det lite hur det fungerar.
Jag satt ett avbrott med TimerOne biblioteket som kontrollerar varje 0,1 s om sensorn är rörd. Om det är, kommer det ändra mönster, eller vakna trädet, om det var i vänteläge. Om ingen touch är recorder för 10 s, om ändras automatiskt mönstret slumpmässigt. Om ingen touch event som händer i 3 minuter, att det gå tillbaka till vänteläge. Programmet kontrollerar också för att hålla sensorn i 3 sekunder, när det händer, trädet kommer att gå till rasande slumpmässigt blinkande.
För att ladda upp programmet, först måste man bränna bootloader på ATmega chip, som också kommer att konfigurera den för att använda den interna klockan 8 MHz. Detta kan göras genom att använda en Arduino, som jag redan nämnt i steg 4. För att göra detta, Följ instruktionerna på webbplatsen för Arduino för "Minimal krets". Detta innebär i princip Hämta konfigurationsfilen hårdvara och upphakning ATmega till Arduino.
Innan du kan fortsätta med programmering, måste Arduino själv dock ha Arduino som ISP program laddas upp till det, eftersom detta kommer att användas för att sända programmet över till granen. När detta är gjort, ansluta 3,3 V och GND av Arduino till 3,3 V och GND av trädet. Anslut sedan Arduino stift 10 till Återställ, stift 11 till MOSI, pin 12 till MISO och stift 13 till SCK. Om du har en Arduino Uno, också ansluta en 10 µF kondensator mellan Återställ och GND stiften på Arduino, så det brukar faktiskt återställa sig själv.
När du har Arduino som ISP laddade upp och alla anslutningar, ändra programmeraren i Arduino IDE till Arduino som ISP och styrelsens mål att ATmega328 på bakbord (8 MHz intern klocka). Nu kan du bränna bootloader. När detta är gjort, öppna pcb_xmas_tree.ino i Arduino IDE, och välj Ladda upp med hjälp av programmerare. Detta tar några sekunder, men du vet det är redo om lampan bredvid touch sensor börjar blinka långsamt.