Circuito simple de fotocélula de Arduino y registro de datos (4 / 5 paso)

Paso 4: Configuración del software - Arduino con escudo de WiFi

Este paso puede o puede no aplicarse a usted, realmente depende de qué hardware tienes. La placa Arduino o clon debería aceptar cualquier código de Arduino con que se programa pero el escudo de WiFi tienes mayo no funciona con el código que voy a mostrarte. Tengo un Linksprite CC3000. La mayoría CC3000 codificados la misma manera, sólo tienes que encontrar las bibliotecas que trabajan con él y ajustan cosas dentro del código principal para que funcione. Con el Linksprite encontré que la biblioteca de Adafruit CC3000 funciona perfecto con mi escudo y así sucede que Adafruit IO es la misma empresa.

TL; DR: WiFi su escudo debe codificarse de manera diferente y puede requerir más esfuerzo de tu parte.

Aquí está el código que usé:

 #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!"); } 

Artículos Relacionados

Aprender a programar un arduino - fotocélula

Aprender a programar un arduino - fotocélula

Hola allí! Hoy va estar hablando sobre el uso de una fotocélula con programación, pero primero tenemos que pan todos los componentes del tablero en los lugares correctos.  así como la foto de abajo, o comprar el kit fotocélula de Aarons robótica y le
Sensor de la fotocélula ropa

Sensor de la fotocélula ropa

Ropa de sensor fotocélula conectada a LEDs sewable / / codificados con Arduino UNOPaso 1: Crear la prenda Para mi la ropa que usa:-Organza, lana de mecha (felted en tul) y guarnición del poliester con una cinta para atar la parte de atrásPaso 2: Códi
¿Arduino fotocélula Theremin Synth (glitchamin)

¿Arduino fotocélula Theremin Synth (glitchamin)

sabes theremins, correctos?  ¿Esas cajas fantástico con antenas que producen ruido sin ser tocado?  Ellos son interpretados por la talla de Jimmy Page de Led Zeppelin y presentan en las bandas sonoras de innumerables películas.  Bueno, con este instr
Cómo utilizar un fotoresistor (o fotocélula) - Arduino Tutorial

Cómo utilizar un fotoresistor (o fotocélula) - Arduino Tutorial

Un fotoresistor o fotocelda es una resistencia variable controlada por luz. La resistencia de un fotoresistor disminuye con el aumento de intensidad de luz incidente. Puede aplicarse un fotoresistor en circuitos de detector sensible a la luz y luz y
Multi-uso de fotocélula circuito

Multi-uso de fotocélula circuito

circuito de aquí es mi fotocélula!!!! Podemos usarlo para levantarse con una alarma! O ajustan de motores con Littles!!!!Su tan útil!!                          Disfrutar de ella!     Cuando la LDR vea luz el LED está Brithning y cuando ponen luz en e
Fotocélula Piano

Fotocélula Piano

este tutorial es un cómo construir un 6 Nota "Piano fotocélula". Cuando el usuario ejecuta su mano sobre la parte superior de las teclas (fotorresistores) se convierten en notas de audio, que pueden ajustarse con los potenciómetros. Este proyect
Tutorial de la fotocélula.

Tutorial de la fotocélula.

Fotocélulas a.k.a CdS células, fotorresistores, LDR (resistor dependiente de luz)...¿Qué es una célula fotoeléctrica?Las fotocélulas son sensores que permiten detectar la luz. Son pequeños, barato, bajo consumo, fácil de usar y no se desgastan. Por e
Frambueso Pi fotocélula registro y alerta el sistema de

Frambueso Pi fotocélula registro y alerta el sistema de

este es un simple instructivo para hacer un alerta de fotosensor activa basada en RasPi y niveles de sistema de registro que puede ampliarse fácilmente para mostrar entradas posibles en una habitación un armario armario o equipo que es generalmente o
Cómo identificar a PNP y NPN transistores (con un circuito Simple)

Cómo identificar a PNP y NPN transistores (con un circuito Simple)

en este proyecto voy a hacer uno de los más fácil PNP y NPN circuito identificadores siempre. Verás lo fácil que es hacer uno! Yo también he publicado en mi sitio web un poco de teoría sobre transistores NPN y PNP que te recomiendo leer primero.Este
Crear sonido que depende de un objeto en movimiento con un sensor de la fotocélula

Crear sonido que depende de un objeto en movimiento con un sensor de la fotocélula

Para el curso avanzado concepto de diseño ID4170, tecnologías para el diseño de concepto, TfCDTarea 2: Exploración de la tecnologíaUniversidad de tecnología, 2015-12-16 de DelftPatrik Rehnsfeldt, 4516257Sofía Friberg, 4507639Paso 1: Materiales necesa
Theremin fotocélula menta

Theremin fotocélula menta

Aquí están algunas instrucciones sobre cómo hacer su propio theremin fotocélula dentro de una caja de Altoids:Piezas(2) 555 temporizadores(2) las fotocélulas o fototransistores(2).01 condensadores mF (juego con diferentes tamaños para diferentes soni
Flash LED fotocélula

Flash LED fotocélula

este pequeño circuito permite activar un parpadeo del LED cuando hay poca o ninguna luz ambiental o la noche. Cuando la luz ambiental en el día o una lámpara, el LED se apaga automáticamente por una célula fotoeléctrica.Este parpadeo del LED se puede
Circuitos simples de Solar

Circuitos simples de Solar

Cada primavera recojo luces solares mis vecinos arrojaron a la basura después de que las luces han dejado de trabajar. Los que sólo necesitan reparaciones menores, reparar, y los que necesitan mayor trabajo tira para las partes y revertir diseñar pla
Fotocélula de control de luces de Navidad

Fotocélula de control de luces de Navidad

No sé acerca de su área pero, en mi zona fotocélula controlado Navidad controladores de luz fueron:1) cara de loco2) basura China barato de plástico.Aquí es cómo construir un controlador a prueba de tiempo en una sólida caja de metal que debe durar d