Stick2Cane - aldrig förlora din vandrande sockerrör (3 / 3 steg)
Steg 3: Mottagare (patientens sida)
Koden är här.
PIN-kod definitioner är en bra checklista för komponenterna måste du ansluta till din Arduino. Om du inte använder en MilCandy, bara skriva relevanta stiften där det står "börja pin definitioner" i koden.
Vad måste du ansluta är en knapp, röda och gröna lysdioder (eller andra "dåliga/bra" indikatorer), en buzzor (eller vibrator), och - naturligtvis - mottagaren som matchar sändaren du har använt i föregående steg.
Koppling av mottagaren ombord
Om du inte använder en grove mottagare, kan du hålla det till i huvudet på din arduino (se bild) eller till bakbord (se soap dish foto). Den har 4 stift: Gnd, 2xdata, Vcc. Vad du gör är stick in analoga pins (säger 2-5), sedan i inställningen du skicka låg till 2, HIGH 5 (falska Gnd/Vcc), och du får signal på stift 3,4.
Operation
MilCandy har ett inbyggt uppladdningsbart batteri, vilket är coolt, men nackdelen är att om du ladda det, visar det (oavsett vad strömbrytaren säger) och eftersom El genererar RF-brus, det skulle gå till "no signal"-läge och börja pipa. Sättet runt det var att besluta att den alltid startas om i mute-läget (kan växlas av-knappen). För att uppmärksamma användaren på faktumet att mute-läget är på, led (antingen röda eller gröna) blinkar. Mottagarboxen är också täckt med ett klistermärke som försöker förmedla allt detta info (se grafisk fil).
Varför det fungerar
Efter allt jag har gått igenom, jag är inte riktigt säker ;)
I grund och botten jag ta 64 prover av RF data, ta de mest betydande 4 bitarna och skapa ett histogram: hur många prover hade sådant värde (av 16 grov alternativ).
Som väntat, finns det oftast många prover som returnerar 0 (eller den lägsta 16 av möjliga värden). När signal, se vi massor av värden i ett visst fack. I vissa sällsynta fall blir det lite luddiga (vissa värden i de närmaste platser till den största), men om du lägger upp det största facket och dess grannar (om någon, och inte med 0 facket), värdet ska ligga över MIN_REQUIRED_PEAK (från min erfarenhet, 38 är över "rum bullernivån"). Detta brukade vara kontrollerbar med en potentiometer, men bästa är inte att ge patienter sätt att göra saker slutar fungera, så 38 it är, och här är vi.