Getting George's Attention
George
Bättre kvalitet hittar bilder av varje bild som ingår i detta dokument du här (http://tinyurl.com/orrwbc9).
Inte alltför länge sedan bett vår vän George oss om hjälp med att köra hans hotell. Det verkar som många av hans gäster inte ringer skrivbord på närhelst de behöver George och detta orsakar gästerna att bli frustrerad. Utmaningen skulle komma från där George bor; att vara en ö inte i USA transport av material kan vara ganska långsam. Kostnad i både material och makt att hålla det igång måste också betraktas som George driver sitt hotell från en generator. Sedan finns det också problemet med att George är inte alltid nära receptionen; han kan hjälpa en annan gäst i en helt annan våning. Så fick vårt team av tekniskt kunniga individer idén att bygga George en rudimentär Signalgivare. Denna signal skulle tändas om och när en gäst står i någonstans nära receptionen. Det skulle vara tillräckligt liten för att bära och kräver en liten mängd el från en disponibel eller uppladdningsbart batteri; något George verkar ha ett överflöd på sin ö. Enheten är enkelt att bygga men kan vara ganska svårt när det gäller programmering (se bild # 1 för prototypen av enheten).
Att få in i detalj om enheten vi beslutade att bygga en tryckplatta ansluten till en Arduino. När en gäst steg på plattan, förklädd till en välkomnande matta av något slag, kommer att de slutföra en krets och tillåta Arduino att skicka ett litet meddelande till en annan Arduino bärs av George. Om George's Arduino tar emot ett meddelande börjar en bright LED lysa (se bild #2). Om du någonsin arbetat med Arduinos kanske du vet att dessa specifika modeller inte kommer med trådlös anlagen från get-go. Det är där en radiofrekvens, eller rf, sändare och mottagare kommer att spela (se bild # 3 för rf-mottagare). För att bygga denna enhet behöver du några saker.
Stycklista
(För en utökad stycklista i Excel och information om var man kan köpa och kosta, klicka här: http://tinyurl.com/lmaryk9 )
2 x Arduino Uno's (Pic # 4. Dessa kommer att vara de enheter som kommunicerar med RF-sändare och mottagare)
1 x dance pad eller någon gammal pad som registrerar trycket (Pic # 5. Vi byggde en enkel pad ur kartong och aluminium folie så om du är i en knipa)
1 x LED i valfri färg (Pic # 6. Helst någon lätt märkbar färg som rött eller blått)
1 x spole av 22 AWG tråd (Pic # 7. Du kommer inte att behöva mycket så om du hittar några delar av tråd oddsen är det ska räcka)
1 x 10 k Ohm motstånd (Pic # 8. Detta användes i enheten som en pull-down motstånd för att se till att vi fått en korrekt signal från trycket pad)
1 x 250 ~ 350 ohms motstånd (Pic #9. Detta kommer att skydda LED från att blåsa)
1 ~ 2 x Arduino kapslingar (Pic # 10. Eller helt enkelt någon låda som kan passa en Arduino. En vanlig Altoids tin fungerar alldeles utmärkt även om du kommer att behöva borra hål i båda alternativen)
1 x par RF-sändare och mottagare (se bild # 3. Detta är vad som kommer att tillåta oss att kommunicera med både Arduinos trådlöst)
Valfritt---1 x perforerad styrelse
(Pic # 11. Den används bara om du tänker återanvända komponenter när som helst. Lödning leder till perf styrelsen gör för en lättare borttagningsprocessen)
Du måste naturligtvis några verktyg såsom (bilder av verktyg återfinns överst):
(Bilder # 12-16 i ordning)
en lödkolv
löda
Wire strippor
en multimeter
några koppar tejp
Scheman
Pic # 18 är för att ansluta första Arduino till tryck plattan och rf-sändare. För en större och bättre bildkvalitet gå här (http://tinyurl.com/n48xoe5).
Pic # 17 illustrerar de anslutningar som behövs göras med andra Arduino styrelsen och rf-mottagare. Igen, en större och bättre kvalitet på bilden hittar du här (http://tinyurl.com/pa9jrvl).
Stegen
Låt oss göra Arduino mottagaren först, bara för att få in the groove saker före att ta itu med de stora grejer. Om du använder en perf styrelse sedan blir det första steget att ansluta rf mottagaren till första Arduino lätt. Det skulle se något liknande Pic # 19.
Du kommer att behöva löda ett liten rulle tråd på den fordonsbaserad antennen (Pic # 20) för att öka utbudet av mottagaren. På sidan med koppar spolen blir en liten öppning, detta är där den binder spolen kommer att gå. Se bild # 3 för pin layout. Löda antingen data stift till Arduino's A0 slot. Se till att det är A0 kortplatsen som arbetar med små komponenter kan leda till oavsiktlig ledningar upp av leads som inte ska vara tillsammans. Anslut VCC, eller helt enkelt spänningen på pin av mottagaren till 3.3V ut facket för Arduino och inte 5v ut facket. Se till att ta din tid lödning om inte DROPP löda på andra delar. Slutligen för mottagaren, löda jordledning, märkt som GND, till någon av den arduino marken slots.
Nästa steg är att ansluta den LED som du kommer att använda och 250 ~ 350 ohms motstånd till alla öppna facket märkt en digital pin. Med denna modell av Arduino är digital stiften alla på höger sida. Håller koll på vilka stift du anslutit motståndet till som som kommer att bli mycket viktigt i kodning Arduino; Om du är osäker på vilken plats du använder bara gå med digital stift 8. Efteråt, Anslut batteriet leverans till Arduino vid spänning i och LED. Vi rekommenderar att du använder ett 9v batteri men allt ovan 5v kommer att göra. Därefter kommer programmering Arduino styrelsen att läsa någon signal mottagaren fångster. Koppla Arduino i en dator med hjälp av kabeln som följde med den och Hämta programvaran Arduino IDE från här (http://www.arduino.cc/en/main/Software). Öppna programvaran, installera den genom att följa den på skärmen instruktioner och starta upp det nu installerade programmet. Gå till filen i vänstra hörnet och välj ny. Något efter 2 "/ /" är onödig kod som du kan radera. Dess enda syfte är att utveckla vad koden gör egentligen. Kopiera och klistra in denna kod i programmet: (bild för detta är Pic # 21.)
#define readPin A0
#define ledPin 8 //change denna 8 till någon nummer du används för att ansluta lysdioden
int data = 0;
CONST int numReadings = 10;
int avläsningar [numReadings];
heltal index = 0;
int totala = 0;
int medelvärde = 0;
void setup() {
Serial.BEGIN(9600);
pinMode (ledPin, produktionen);
pinMode (readPin, ingång);
pinMode (9, OUTPUT);
för (int thisReading = 0; thisReading < numReadings; thisReading ++)
avläsningar [thisReading] = 0;
}
Ogiltig loop () {
subtrahera den sista behandlingen:
totalt = totalt - avläsningar [index];
Läs från sensorn:
avläsningar [index] = analogRead(readPin);
Lägg till läsningen av totala:
totalt = totalt + avläsningar [index];
avancera till nästa position i matrisen:
index = index + 1.
om vi är i slutet av kedjan...
om (index > = numReadings)
.. .wrap runt till början:
index = 0;
beräkna medelvärdet:
genomsnittliga = totalt / numReadings;
Skicka den till datorn med ASCII-tecken
Serial.println(Average);
om (genomsnittliga < 375) {
digitalWrite (ledPin, hög);
digitalWrite(9,HIGH);
}
annat {
digitalWrite (ledPin, låg);
digitalWrite(9,LOW);
}
Delay(100);
}
Sedan klicka på upload-knappen och vänta på Arduino vara programmerad (Pic # 22). Du kan hämta en färdig fil och välj Ladda upp som till Arduino här (http://tinyurl.com/kv6shpf) eller på GitHub här (https://github.com/jreed2/Getting-George-s-Attention/tree/master). Kontrollera att varje löda punkt gör en anslutning med hjälp av en multimeter i inställningen kontinuitet. Om alla löda leder pass nuvarande gå vidare till nästa steg, om inte löda anslutningen igen. Placera den Arduino ombord, nu ansluten till en mottagare och LED, med ett batteri som hakas upp i spänningen i, ses som Vin, och en av marken springor Arduino, in i en liten ruta eller inhägnad. Se till att borra två små hål för antennen till pop av och LED.
Nu kommer den sista delen av byggnad Signalgivare. Till att börja följa schematiskt för sändaren, en som innehåller tryckplatta (Pic # 18). Löda data pin till digital 9 plats av Arduino (Pic # 23). Se till att kontrollera att lodet har inte minskat till några andra stift, detta kan störa sändning av signaler. Ansluta resten av stiften enligt den schematiska, lämnar tillräckligt längden av kabeln för att kunna placera trycket pad under en matta samtidigt som de kan ansluta till Arduino styrelsen bakom receptionen. För att trycket var pad vi använde det enkelt att ansluta leads av dance pad till Arduino. Vi lödas pad ledningen till Arduino genom en tråd (Pic # 16). Vi programmerade sedan Arduino med denna kod:(Pic# 24)
CONST int digitalInPin = 8;
CONST int digitalOutPin = 9;
int sensorValue = 0;
int outputValue = 0;
Ogiltiga inställningar () {
Serial.BEGIN(9600);
pinMode(digitalInPin,INPUT);
pinMode (digitalOutPin, produktionen);
pinMode(13,OUTPUT);
}
Ogiltig loop () {
sensorValue=digitalRead(digitalInPin);
Serial.println(sensorValue);
IF(sensorValue==High) {
digitalWrite (digitalOutPin, hög);
Serial.println ("Skicka hög");
pinMode(13,LOW);
}
annat {
digitalWrite (digitalOutPin, låg);
Serial.println ("Skicka låg");
pinMode(13,HIGH);
}
Delay(100);
}
Du kan ladda ner och ladda upp här koden från här (http://tinyurl.com/prxuda5) eller här (https://github.com/jreed2/Getting-George-s-Attention/tree/master). Den här koden gör det möjligt för Arduino att läsa om någon står på trycket pad. Se till att leverera ström antingen i form av ett batteri eller med Arduino ansluten till en dator. Efter detta steg är du klar. Placera trycket pad under en välkomnande matta och bär andra Arduino med dig ska meddelas om någon behöver hjälp.
Avslutande tankar
Avslutar detta projekt gav oss inblick i vad det tar för att överföra data trådlöst. Rf-sändare och mottagare visat sig svårt att program som gruppen hade mycket lite kunskap i programmering språk. Nya begrepp och ändringar i de övergripande projekt som någonsin ändra scheman för fler tillägg visade sig vara en mycket hög vägg att övervinna. Om du anser att skapa en enkel Signalgivare, som instruerades i detta projekt, ta dig tid till fullo förstå radiofrekvens och dess fördelar vid sidan av dess nackdelar. När man bygger våra egna tryckplatta möter vi också några mindre komplikationer när det kom till får en stabil signal. Men låt inte det stoppa dig; Om du kan tänka dig kan du förmodligen bygga den.