Eenvoudige Arduino fotocel schakeling en gegevensregistratie (4 / 5 stap)

Stap 4: Instellen van de software - Arduino met WiFi schild


Deze stap kan of kan niet op u van toepassing, het hangt echt af op welke hardware je hebt. De Arduino board of kloon Arduino code die u met programmeren moet accepteren, maar het schild van de WiFi hebt u mei niet werken met de code ik ben ongeveer om u te tonen. Ik heb een Linksprite CC3000. De meeste CC3000 zijn gecodeerd met de dezelfde manier, je hoeft alleen te vinden van de bibliotheken die ermee werken en aanpassen van dingen binnen de belangrijkste code te laten werken. Met de Linksprite vond ik dat de Adafruit CC3000 bibliotheek perfect met mijn schild werkt en het gebeurt gewoon zo dat Adafruit IO hetzelfde bedrijf is.

TL; DR: Wordt uw WiFi schild wellicht anders worden gecodeerd en kan vereisen meer inspanning van uw kant.

Hier is de code die ik gebruikt:

 #include "Adafruit_SleepyDog.h" #include "Adafruit_CC3000.h" #include "SPI.h" #include "utility/debug.h" #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_CC3000.h"</p><p>int photocellPin = 0; // the cell and 10K pulldown are connected to a0</p><p>/*************************** CC3000 Pins ***********************************/</p><p>#define ADAFRUIT_CC3000_IRQ 3 // MUST be an interrupt pin! #define ADAFRUIT_CC3000_VBAT 5 // VBAT & CS can be any digital pins. #define ADAFRUIT_CC3000_CS 10 // Use hardware SPI for the remaining pins // On an UNO, SCK = 13, MISO = 12, and MOSI = 11</p><p>/************************* WiFi Access Point *********************************/</p><p>#define WLAN_SSID "---YOUR WIFI SSID (NAME)---" // can't be longer than 32 characters! #define WLAN_PASS "---YOUR WIFI PASSWORD---" #define WLAN_SECURITY WLAN_SEC_WPA2 // Can be: WLAN_SEC_UNSEC, WLAN_SEC_WEP, // WLAN_SEC_WPA or WLAN_SEC_WPA2</p><p>/************************* Adafruit.io Setup *********************************/</p><p>#define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883 #define AIO_USERNAME "---YOUR ADAFRUIT USERNAME---" #define AIO_KEY "YOUR DASHBOARDS ADAFRUIT KEY" // it's the yellow square with the key icon on your dashboard</p><p>/************ Global State (you don't need to change this!) ******************</p><p>/ Setup the main CC3000 class, just like a normal CC3000 sketch. Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT);</p><p>// Store the MQTT server, username, and password in flash memory. // This is required for using the Adafruit MQTT library. const char MQTT_SERVER[] PROGMEM = AIO_SERVER; const char MQTT_USERNAME[] PROGMEM = AIO_USERNAME; const char MQTT_PASSWORD[] PROGMEM = AIO_KEY;</p><p>// Setup the CC3000 MQTT class by passing in the CC3000 class and MQTT server and login details. Adafruit_MQTT_CC3000 mqtt(&cc3000, MQTT_SERVER, AIO_SERVERPORT, MQTT_USERNAME, MQTT_PASSWORD);</p><p>// You don't need to change anything below this line! #define halt(s) { Serial.println(F( s )); while(1); }</p><p>// CC3000connect is a helper function that sets up the CC3000 and connects to // the WiFi network. See the cc3000helper.cpp tab above for the source! boolean CC3000connect(const char* wlan_ssid, const char* wlan_pass, uint8_t wlan_security);</p><p>/****************************** Feeds ***************************************</p><p>/ Setup a feed called 'photocell' for publishing. // Notice MQTT paths for AIO follow the form: <username>/feeds/<feedname> const char PHOTOCELL_FEED[] PROGMEM = AIO_USERNAME "/feeds/photocell"; Adafruit_MQTT_Publish photocell = Adafruit_MQTT_Publish(&mqtt, PHOTOCELL_FEED);</feedname></username></p><p>/*************************** Sketch Code ************************************/</p><p>void setup() { Serial.begin(115200);</p><p> Serial.println(F("Adafruit MQTT demo"));</p><p> Serial.print(F("Free RAM: ")); Serial.println(getFreeRam(), DEC);</p><p> // Initialise the CC3000 module Serial.print(F("\nInit the CC3000...")); if (!cc3000.begin()) halt("Failed");</p><p> mqtt.subscribe(&onoffbutton);</p><p> while (! CC3000connect(WLAN_SSID, WLAN_PASS, WLAN_SECURITY)) { Serial.println(F("Retrying WiFi")); delay(1000); } } uint32_t x = analogRead(photocellPin); // This is important! This part took me forever to figure out.</p><p>// You NEED the "uint32_t x =" part if you plan on trying to add a different sensor, then just follow "x" through </p><p>// the rest of the code</p><p>void loop() { x = analogRead(photocellPin); // Make sure to reset watchdog every loop iteration! Watchdog.reset();</p><p> // Ensure the connection to the MQTT server is alive (this will make the first // connection and automatically reconnect when disconnected). See the MQTT_connect // function definition further below. MQTT_connect();</p><p> // this is our 'wait for incoming subscription packets' busy subloop Adafruit_MQTT_Subscribe *subscription; while ((subscription = mqtt.readSubscription(1000))) { if (subscription == &onoffbutton) { Serial.print(F("Got: ")); Serial.println((char *)onoffbutton.lastread); } }</p><p> // Now we can publish stuff! Serial.print(F("\nSending photocell val ")); Serial.print(x); Serial.print("..."); if (! photocell.publish(x)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); }</p><p> // ping the server to keep the mqtt connection alive if(! mqtt.ping()) { Serial.println(F("MQTT Ping failed.")); }</p><p>}</p><p>// Function to connect and reconnect as necessary to the MQTT server. // Should be called in the loop function and it will take care if connecting. void MQTT_connect() { int8_t ret;</p><p> // Stop if already connected. if (mqtt.connected()) { return; }</p><p> Serial.print("Connecting to MQTT... ");</p><p> while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected Serial.println(mqtt.connectErrorString(ret)); if (ret < 0) CC3000connect(WLAN_SSID, WLAN_PASS, WLAN_SECURITY); // y0w, lets connect to wifi again Serial.println("Retrying MQTT connection in 5 seconds..."); mqtt.disconnect(); delay(5000); // wait 5 seconds } Serial.println("MQTT Connected!"); } 

Gerelateerde Artikelen

Eenvoudige Arduino Arm (Pan/Tilt)

Eenvoudige Arduino Arm (Pan/Tilt)

Catapult spelen op kantoor inspireerde mij om te bouwen van deze Arduino Arm om de druk op de liniaal en de release om te schieten. Hoewel het niet mijn eerste intentie vervullen, denk ik dat deze eenvoudige Arduino Arm zal leiden tot andere koeler p
Een eenvoudige Arduino Bluetooth auto

Een eenvoudige Arduino Bluetooth auto

Hoi, dit is mijn eerste instructable.Dit is een eenvoudige arduino bluetooth auto voor beginners.Ik ben met behulp van twee continue rotatie servos in plaats van motoren.Dus, laten we beginnen. :)Stap 1: Wat moet je1) Arduino (im ' using een Mega-256
Zeer eenvoudige Arduino elektrische Lock

Zeer eenvoudige Arduino elektrische Lock

dit is een instructable voor een zeer eenvoudige Arduino elektrische lock gecontroleerde.Het belangrijkste idee is hier is heel eenvoudig als dit meer van een proof of concept prototype soort ding was.De Arduino wordt gebruikt als schakelaar voor con
Eenvoudige Arduino Laserharp

Eenvoudige Arduino Laserharp

hier beschrijf ik een manier om een eenvoudige Arduino laserharp, een muziekinstrument dat wordt muziek afgespeeld wanneer u een bundel van laserlicht van het raken van een fototransistor blokkeren. Dit project werd gedaan als onderdeel van de PHYC 3
Arduino fotocel Theremin Synth (glitchamin)

Arduino fotocel Theremin Synth (glitchamin)

u weet theremins, juiste?  Die koel-kijkt dozen met antennes die lawaai produceren zonder geraakt?  Ze worden gespeeld door de mensen als Jimmy Page van Led Zeppelin en presenteren in de soundtracks van ontelbare films.  Nou, met dit instructable, ik
Leren programmeren van een arduino - fotocel

Leren programmeren van een arduino - fotocel

Hi er! Vandaag zal ik spreken over het gebruik van een fotocel met programmering, maar eerst moeten we brood aan boord van alle componenten in de juiste plaatsen.  Dus zoals de foto hieronder, of koop de fotocel kit van Aarons robotica en lezen van d
Maak een eenvoudige arduino code

Maak een eenvoudige arduino code

Zullen we een eenvoudige code die de led Schakel en wacht 1 secondevervolgens uitschakelen van het lampje en wacht 1 secondeStap 1: Stap 1: delen we moeten1-any arduino maar voor dit voorbeeld gebruiken Uno2 - draden man-man maar u kunnen rechtstreek
Eenvoudige Arduino Monome

Eenvoudige Arduino Monome

OverzichtDit Instructable is de eenvoudige versie van de MaKey MaKey Monome, een instrument van de elektronische muziek gemakkelijk voor kinderen en beginners te reproduceren (sequentieel op!). Voel je vrij om check out mijn websitevoor meer informat
Eenvoudige Arduino verkeerslichten

Eenvoudige Arduino verkeerslichten

u een stad uit Legos ooit heb gedaan? Ik weet ik velen van hen hebben gebouwd, maar ze allemaal iets gemist... Verkeerslichten!Dus besloten heb ik om mijn eigen verkeerslicht setup uit mijn arduino board.Stap 1: U moet: u nodig:Een arduino boardRood,
Eenvoudige Arduino LCD-spel!

Eenvoudige Arduino LCD-spel!

Hallo mensen! Pure koolstof hier en vandaag ik zal je laten zien hoe maak je een uiterst eenvoudig spel dat kan worden afgespeeld op een LCD-knop Shield voor Arduino. Helaas zijn niet daadwerkelijk een spel omdat alles wat je zal kunnen doen is maken
Voorbeeld van de HC-SR04 en eenvoudige Arduino

Voorbeeld van de HC-SR04 en eenvoudige Arduino

na een HC-SR04 kopen bij Amazon, ik kon niet krijgen om te werken uit de doos. Niet willen toegeven dat ik had een DOA-sensor op mijn handen, zocht ik naar een eenvoudig voorbeeld setup. Na veel te lang op dit dan ik voelde dat ik moest, besloten heb
Eenvoudige Arduino PIR Motion Detector Module Demo

Eenvoudige Arduino PIR Motion Detector Module Demo

Ik weet dat er zijn tal van Instructables en tutorials over dit al. Mijn doel is om alles tot in de kale botten minimum vereist zodat een beginner (zoals ik) kan het werken voordat ze gefrustreerd en geven krijgen vereenvoudigen.Hopelijk dit zelfs om
Eenvoudige Arduino Bluetooth Cybot op de beweging en de Android Appplication (bijgewerkt)

Eenvoudige Arduino Bluetooth Cybot op de beweging en de Android Appplication (bijgewerkt)

Een tijdje terug schreef ik een paar instructables voor het maken van de interface van de gebruikers en de controle van de basis van de Cybot met opdrachten uit het toetsenbord of uit een barcode scanner.Links naar deze zijn hieronder:Gebruikersinter
Eenvoudige Arduino Voltage controle

Eenvoudige Arduino Voltage controle

In dit Instructable we gebruik maken van de analoge pinnen op de Arduino te maken van een eenvoudige stroomverbruik te bewaken systeem dat detecteert de spanning op de 5v-rail en een actie uitvoeren als het wordt te laag. Dit kan worden gebruikt om n