Smarta miljöer som den smarta staden är ett mångfasetterat och brett område som bland annat innefattar:
Stadsplanering
Allmän säkerhet
Rörligheten i städer
Trafik hantering
Energi konsumtion
Sophantering
Några exempel: Ett system med smarta soptunnor som meddelar när de behövs tömmas, intelligenta belysningssystem som bara lyser upp olika områden vid behov, och bilar som sänder ut information för att förbättra stopp-ljusens precision.
I följande övningar kommer vi skapa ett par exempel på IoT-projekt för smarta miljöer. Vi ska använda samma sensorer som de vi använde oss av i wearables-övningarna, men för helt andra syften.
Kom ihåg, med samma elektronik kan man skapa helt olika uppfinningar.
I denna delövning använder vi en ljussensor för att känna av om och hur länge en parkeringsplats är upptagen. Om parkeringsplatsen används över en viss tid kommer vi att signalera detta med hjälp av en röd lampa.
Material:
Arduino YÚN
3st kopplingstrådar
1st 10k resistor (Färgerna på den är brun, svart, orange och guld)
I denna delövning bygger vi en sensor som kontrollerar flödet i trafiken. Då sensorn kommit upp i ett visst antal bilar kommer stoppljuset att bli rött. Ett par sekunder efter detta blir ljuset grönt igen, och sensorn startar om sin räkning. Antalet bilar som får passera styrs via det centrala Yún-kortet.
Material:
Arduino YÚN
3st kopplingstrådar
1st 10k resistor (Färgerna på den är brun, svart, orange och guld)
Tryckkänslig sensor
Kopplingsbord
Bygg ihop MDF-delarna med trycksensorn
Öppna upp filen “e5_g2_carcounter” från exemplen
Ladda upp sketchen på kortet
När den röda L13-lampan lyser så är Yún-kortet redo
Öppna “Serial monitor”-fönstret och testa att rulla något över sensorn som om det var hjulen från en bil
Gå in på er grupps “Short Memory API”-adress och se hur värdena där ändrar sig. Kika även på monitorn till det centrala Yún-kortet, så ser du de värden som sparats där
I denna delövning bygger vi en sensor för att registrera vindstyrka. Om sensorn mäter en start-vind blir LED-lampan röd. När vinden lugnar ner sig så blir LED-lampan grön igen. Hur mycket vind som krävs för att ändra färgen på LED-lampan styrs av det centrala Yún-kortet.
Material:
Arduino YÚN
3st kopplingstrådar
1st 10k resistor (Färgerna på den är brun, svart, orange och guld)
Flex-sensor
Kopplingsbräda
Bygg ihop MDF-delarna med Flex-sensorn
Öppna filen “e5_g3_windstrength” från exemplen
Ladda upp sketchen på kortet
När den röda L13-lampan lyser är Yún-kortet redo
Öppna “Serial monitor”-fönstret och testa sensorn genom att fästa den vid ett papper och blåsa på den med varierande styrka. Kika även på monitorn till det centrala Yún-kortet för att se de värden som sparats där.
I denna delövning bygger vi en sensor som kan räkna antalet tidningar som plockas ur en tidningslåda. Efter att lådan blivit öppnad ett visst antal gånger kommer en kupong skickas ut. RGB ledden kommer fungera som en signal för detta.
Material:
Arduino YÚN
3st kopplingstrådar
1st långa kopplingstrådar
1st 10k resistor
Aluminiumfolie
Kopplingsbräda
Bygg ihop MDF-delarna med den kapacitiva sensorn. Sätt ståltråden genom hålen i dörren, och snurra runt handtaget. Säkra sedan med koppartejp.
Öppna filen “e5_g4_newspapercounter” från exemplen
Ladda upp koden på kortet
När den röda L13-lampan lyser så är Yún-kortet redo
Öppna “Serial monitor”-fönstret och testa det genom att fästa folien på en låda och öppna den
Kika även på monitorn till det centrala Yún-kortet för att se de värden som sparats där.
När två servon används samtidigt kommer din Arduino ibland inte kunna distribuera tillräckligt med ström. Det finns olika tekniker för att övervinna detta. I nästa exempel kommer du att skriva signaler separat till varje servo. Se även referenssidan för att använda servon som hjul.
Exempel 4.4
I det här exemplet kommer du att kontrollera två servon. En servo kommer att kontrolleras åt gången för att vara säker på att Arduinon kan förse tillräckligt med ström.
Material
1 Arduino Uno
1 Education-sköld
2 standardservon
Instruktioner
Fäst en sköld på Arduinons ovansida.
Koppla den ena servon till D9 och den andra till D10.
Ladda upp den här koden:
Resultat
Första servon bör nu rotera till en 70 grader, vänta en sekund, och sedan rotera till 120 grades. Den andra servon bör sedan gå igenom samma rörelser. Detta bör sedan repeteras.
Så fungerar det
Servo-biblioteket inkluderas.
Servo-objekten myservo1 och myservo2 deklareras.
I setup()fästs myservo1 till pin 9 och myservo2 till pin 10.
I loop()lösgörs myservo2 och myservo1 fästs till pin 9.
myservo1 roteras till 70 grader.
Programmet pausas i 1000 millisekunder.
myservo1 roteras till 120 grader.
Programmet pausas i 1000 millisekunder.
myservo1 lösgörs och myservo2 fästs till pin 10.
myservo2 roteras till 70 grader.
Programmet pausas i 1000 millisekunder.
myservo2 roteras till 120 grader.
Programmet pausas i 1000 millisekunder.
loop() fortsätter upprepas.
Lär genom att göra
Skapa en robot som använder en standardservo och en servo med kontinuerlig rotation för att ta sig framåt.
Spionera på din katt med den här robotkameran. Bygg ihop robotkameran och kontrollera den med en liten joystick. Se kamerabilden live på på datorskärmen och när din katt gör någonting misstänksamt, ta en bild!
Material
1 Arduino Uno
1 Education-sköld
1 webbkamera
1 TinkerKit-joystick
2 standardservon
2 TinkerKit-kablar
3 labbkablar
8 AA-batterier
1 AA-batterihållare
1 strömkontakt
Robotkamera-kit
Instruktioner
Fäst skölden på Arduinons ovansida.
Koppla en TinkerKit-kabel till joystickens Y-kontakt. Koppla en röd labbkabel till den röda kabeln på TinkerKit-kabeln, och till 5V. Koppla en svart labbkabel till den svarta kabeln på TinkerKit-kabeln, och till GND. Koppla den sista labbkabeln till TinkerKit-kabeln och analoga pin A0.
Koppla den andra TinkerKit-kabeln till joystickens X-kontakt, och till den analoga TinkerKit-kontakten, A1.
Koppla konstruktionen till datorn och ladda upp exemplet ’CameraRobot’.
Bygg kitet, glöm inte att placera webbkameran inuti!
Vrid på servo-armen för hand åt ett håll, så långt det går. Vrid den sedan därifrån till 90 grader. Ta loss armen och sätt tillbaka den så att den går längs med servon. Gör samma sak med den andra servon.
Koppla “lutnings-servon” till D10.
Koppla “panorerings-servon” till D9.
Koppla batteripaketet till Arduinons strömkontakt.
Koppla webbkameran till din datorn. Öppna Processing-programmet CameraRobot.
Denna lilla robot kan krypa. Det är allt den kan göra, och den är inte jättebra på det. Men den är supersöt och väldigt rolig!
Material
1 Arduino Uno
1 Education-sköld
2 standardservon
8 AA-batterier
1 AA batterihållare
1 strömkontakt
1 robot-kit
Instruktioner
Fäst skölden på Arduinons ovansida.
Montera den krypande roboten.
Vrid på servo-armen för hand åt ett håll, så långt det går. Vrid den sedan därifrån till 90 grader. Ta loss armen och sätt tillbaka den så att den går längs med servon. Gör samma sak med den andra servon.
Montera varje servo i ett hål och fäst clownbenen i servons axel.
Koppla den ena servos till D9 och den andra till D10.
Koppla konstruktionen till datorn och ladda upp exemplet ’CrawlingRobot’.
Koppla ur din Arduino från datorn och placera den i kroppen på den krypande roboten.
Placera batterierna i batterihållaren och koppla den till Arduinons strömkontakt.
Kod
Hitta koden i File>Examples>EducationShield>Block4-Robots>Projects>CrawlingRobot
Så fungerar det
EducationShield- och Servobiblioteken inkluderas.
Servo-objekten deklareras.
I setup() initialiseras Servo-objekten.
Fram-servons position sätts till 110 grader.
Programmet pausas i 200 millisekunder.
Bak-servons position sätts till 70 grader.
Programmet pausas i 200 millisekunder.
Fram-servons position sätts till 70 grader.
Programmet pausas i 200 millisekunder.
Bak-servons position sätts till 110 grader.
Programmet pausas i 200 millisekunder.
loop() fortsätter upprepas.
Problemlösning
Hänvisa till illustrationerna och dubbelkolla dina kopplingar. Var noga med att skölden och labbkablarna är ordentligt kopplade.
Servorna kanske inte fungerar. Testa om de fungerar när Arduinon är inkopplad till datorn istället för batteriet. Om så är fallet, testa med att byta ut batteriet.
Denna lilla farkost är ute på ett omöjligt och alltid pågående uppdrag att fånga ljuset. Genom att rikta en ficklampa, exempelvis den som finns på din mobiltelefon, mot farkosten kan du få den att följa dig. Den följer nämligen alltid ljuset.
Material
1 Arduino Uno
1 Education-sköld
2 LDR:er
2 servon med kontinuerlig rotation
2 1k ohms resistorer
1 100 µF kondensator
2 svarta labbkablar
6 färgade labbkablar
8 AA batterier
1 AA-batterihållare
1 strömkontakt
Ljusjagare-kit
1 pingisboll
Instruktioner
Fäst skölden på Arduinons ovansida.
Koppla en 1k ohms resistor över kopplingsdäckets mittengap. Koppla ett ben till analoga pin A0 och det andra till GND.
Koppla en LDR mellan AO och 5V. Placera den på Ljusjagarens vänstra sida.
Koppla en 1k ohms resistor över kopplingsdäckets mittengap. Koppla ett ben till A2 och det andra till GND.
Koppla en LDR mellan A2 och 5V. Placera den på Ljusjagarens högra sida.
Koppla 100 µF kondensatorn mellan GND och 5V. Koppla det korta benet till GND och det långa till 5V.
Koppla konstruktionen till datorn och ladda upp exemplet LightChaser.
Montera Ljusjagaren.
Koppla den vänstra servon till D10.
Koppla den högra servon till D9.
Placera elektroniken i Ljusjagaren. Gör så att båda LDR:erna pekar utåt från fordonet.
Lägg batterierna i batterihållaren och koppla den till Arduinons strömkontakt.
Kod
Du hittar koden i File>Examples>EducationShield>Block4-Robots>Projects>LightChaser
Så fungerar det
EducationShield- och Servo-biblioteken inkluderas.
Wheels- och LDR-objekten deklareras, wheels, sensorLeft och sensorRight.
I setup() konfigureras och initialiseras sensorerna och servon.
I loop() kollar en if-sats om sensorLeft.getState() är sant. Det betyder i så fall att vänstra sensorn registrerar starkt ljus och wheels kontrolleras då att svänga vänster.
Om sensorRight.getState() istället är sant kontrolleras wheels att röra sig till höger.
Om ingen av sensorerna upptäcker starkt ljus kontrolleras wheels att röra sig framåt.
loop() fortsätter att upprepas.
Problemlösning
Hänvisa till illustrationen och dubbelkolla dina kopplingar. Var noga med att skölden och labbkablarna kopplats ordentligt.
Det här är en helt vanlig kittlig robot i gungstol. Eller förresten, det finns nog inget vanligt med det egentligen. När du kittla roboten på hjärtat börjar den vifta med armar och ben.