App och timer kontrollerad automatiska mörkar (5 / 6 steg)
Steg 5: Ansluta bluetooth-enhet
Okej, dags för att gå trådlöst
Anslut gnd och vcc på bluetooth-enheten till din arduino (3,3 v eller 5 beroende på enheten). Anslut bluetooth TXD till arduino RXD och bluetooth RXD till arduino TXD.
Med hjälp av dessa stift kan ibland orsaka problem när du laddar upp skisser till arduino (som de är data kommunikation stift). Om du får problem medan uppladdning, koppla bort strömmen till enheten med dessa stift och det bör fungera.
Ladda upp skissen
Okej det är dags för roligt delen, börja med att ladda ner skissen. Om du inte har bibliotek, ladda ner dem och placera dem i mappen arduino/bibliotek.
http://www.pjrc.com/teensy/td_libs_TimeAlarms.html
http://www.pjrc.com/teensy/td_libs_Time.html
Om du inte använder arduino mikro pro måste du ersätta alla "Serial1..." med helt enkelt "Serial..". Om du använder micro pro behöver du inte ändra något.
Ladda upp skissen, ansluta strömförsörjningen, slå på bluetooth på telefonen och starta app. ansluta till bluetooth och klicka på enheten i listan. Om den ansluts korrekt ska nya menyer visas. Klicka på "Kalibrera", din motor ska börja rotera. Om du klickar på "Höj/sänk mörkar" innan kalibrering händer ingenting. Kalibrering anger antalet steg i en fullständig cykel, innan kalibrering som är lika med 0.
Förhoppningsvis allt fungerade, annars kolla dina anslutningar.
Extra
Om du har solen rakt genom fönstret på morgonen kan du rulla upp processen att vara super smidig och långsam, kanske under 30 minuter eller så, som mer Philips Wake-up light-upplevelsen. Om så är fallet kan du ändra detta.
Lägg till delay(10)i void MorningAlarm(), efter "steg ++;" . Så efter varje skriva steg föraren förseningar det nästa steg med 0,01 s. Start med detta och öka fördröjningen tills du är nöjd. Din stepper kommer förmodligen ha 200-400 steg för varje helt varv så detta värde bör vara riktigt lågt!
Ett smartare men mer komplicerat sätt att ställa denna gång är att seriell print "steg" värde efter att du har kalibrerat mörkarna. Du vet hur många steg dess tar för en full cykel och kan göra division på hur mycket tid det måste pausa per steg för att hamna på 30 min eller vad någonsin värde du önskar. Du kan också manuellt rulla ner mörkarna och räkna hur många varv det tar och multiplicera med din steppers värde (vanligtvis 200/400).
Kom ihåg att längre förseningar är "ful", de fryser mikrokontroller helt, inte kunna ta emot viktiga kommandon som stopp, så Undvik att använda upprepade förseningar längre än 300 ms. kan du använda millis() eller tid biblioteket om du behöver längre pauser.