SmartCityZen Recycle met HX711 (4 / 6 stap)

Stap 4: TX SKETCH (zender)

 #include <HX711.h>#include <JeeLib.h>#include <Manchester.h>ISR(WDT_vect) {Sleepy::watchdogEvent();}// HX711.DOUT - pin #A1 // HX711.PD_SCK - pin #A0 /* * How to Calibrate Your Scale1. Call set_scale() with no parameter. 2. Call tare() with no parameter. 3. Place a known weight on the scale and call get_units(10). 4. Divide the result in step 3 to your known weight. You should get about the parameter you need to pass to set_scale. 5. Adjust the parameter in step 4 until you get an accurate reading. */ // HX711 (Dout,Sck) HX711 scale(A1, A0); // parameter "gain" is ommited; the default value 128 is used by the library</p><p>#define TX_PIN 6 //pin where your transmitter is connected #define BUFFER_SIZE 50 #define LED_PIN 13 #define CELL_PIN A0//*********** SERIAL NUMBER *********** char SerialSens[ ]="SCZRE0364"; //*************************************int volt=0; char messaggio[32]; unsigned char data[BUFFER_SIZE]=""; char msg[BUFFER_SIZE]; char msg2[10]; char msg3[10]; char msg4[10]; float carica=0; char vuota[32]=""; int offset_scale=53;// How often do we do readings? long time = 0; // int timeBetweenReadings = 500; // We want a reading every 200 ms;void setup() { Serial.begin(9600); man.workAround1MhzTinyCore(); //add this in order for transmitter to work with 1Mhz Attiny85/84 man.setupTransmit(TX_PIN, MAN_600); pinMode ( LED_PIN, OUTPUT); pinMode ( TX_PIN, OUTPUT); Serial.println("HX711 Demo"); Serial.println("Before setting up the scale:"); Serial.print("read: \t\t"); Serial.println(scale.read()); // print a raw reading from the ADC</p><p> Serial.print("read average: \t\t"); Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC</p><p> Serial.print("get value: \t\t"); Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight (not set yet)</p><p> Serial.print("get units: \t\t"); Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight (not set) divided // by the SCALE parameter (not set yet) </p><p> scale.set_scale(291.00); // this value is obtained by calibrating the scale with known weights; see the README for details scale.tare(); // reset the scale to 0</p><p> Serial.println("After setting up the scale:");</p><p> Serial.print("read: \t\t"); Serial.println(scale.read()); // print a raw reading from the ADC</p><p> Serial.print("read average: \t\t"); Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC</p><p> Serial.print("get value: \t\t"); Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight, set with tare()</p><p> Serial.print("get units: \t\t"); Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight, divided // by the SCALE parameter set with set_scale</p><p> Serial.println("Readings:"); }void loop() { Serial.print("\t| PESO:\t"); float peso=-scale.get_units(10); if (peso>-3 && peso<3) peso=0; Serial.print(peso, 0);Serial.println(" gr."); delay(50); dtostrf(peso, 4, 1,msg2); float risultato=readVcc(); dtostrf(risultato, 4, 0,msg4); carica=risultato/1000; dtostrf(carica, 1, 3,msg4); strcpy(msg,""); strcat(msg, "SN:"); strcat(msg, SerialSens); strcat(msg, "PE:"); strcat(msg, msg2); strcat(msg, "BT:"); strcat(msg, msg4); for (int i=0;i<=BUFFER_SIZE;i++) { data[i]=msg[i]; } digitalWrite(LED_PIN, true); //Lampeggia il led al ricevimento del messaggio delay(10); digitalWrite(LED_PIN, false); man.transmitArray(BUFFER_SIZE,data); scale.power_down(); // put the ADC in sleep mode Sleepy::loseSomeTime(30000); scale.power_up(); }float readVcc() { // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(2); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high<<8) | low; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts } 

Uiteraard op regel Uwijzigtdewaarde 71 met wat je tijdens de kalibratie hebt.

De schets is gebaseerd op het SmartCityZen-project transmissieprotocol, en vervolgens vergeleken met de functies van de enkele afval control er sommige redundante informatie verzonden (voor bijvoorbeeld de sensor code of batterij volt zijn).

Op deze manier, echter kunnen de toegezonden gegevens worden gelezen SCZ Station en overgedragen via het Internet op SmartCityZen webserver en gedeeld via het portaal.

De schets stuurt naar de ontvanger om de 30 seconden van het gewicht van afval, deze waarde kan worden gewijzigd door simpelweg het veranderen van de waarde van deze opdracht

 Sleepy :: loseSomeTime (30000); 

Wijzigen van 30000 mS tot een max waarde van 60000 mS, waarmee een pauze van 1 minuut, te verhogen en bijvoorbeeld een te sturen om de 3 minuten met de volgende syntaxis:

 Sleepy :: loseSomeTime (60000); Sleepy :: loseSomeTime (60000);<br>Sleepy :: loseSomeTime (60000); 

Belt 3 keer de opdracht.

Gerelateerde Artikelen

Arduino Nano en Visuino: meten van gewicht met HX711 Load cel versterker en ADC

Arduino Nano en Visuino: meten van gewicht met HX711 Load cel versterker en ADC

HX711 Cel versterker en ADC modules laden maken het zeer eenvoudig om te bouwen van uw eigen schaal met Arduino. Met de hulp van Visuino is de taak zo eenvoudig dat u kunt het in slechts enkele minuten voltooien.In dit instructable, ik zal u tonen de
Een beetje SPARKLE met een geheim: recycle knutselen

Een beetje SPARKLE met een geheim: recycle knutselen

Alsof deze juwelen accessoire is niet leuk genoeg, maar voor meer plezier een geheim heeft: een kleine trap deur in de rug te verbergen van een notitie of een foto van een speciaal iemand.  En we zijn recycling met het gebruik van een oude squeeze kr
Maak uw weegschaal hack gebruik arduino en hx711

Maak uw weegschaal hack gebruik arduino en hx711

Ik ben bezig met een applicatie waar ik converteren van het gewicht van een persoon moet te berekenen en te gebruiken voor andere parameter.Dus ik begon met het zoeken op het internet en vond veel tutorials met behulp van de cel van de lading en de a
Balancing fles bomen!

Balancing fles bomen!

Het gevoel van onevenwichtige? Nu zult u krijgen om te werken aan dat wiebelen tijdens het maken van het minste biologische forest aller tijden!Ik maakte dit project te onderzoeken in evenwicht, hefbomen, massamiddelpunt en recycling met mijn student
Super Mario Brothers Polymer Clay Sculpture

Super Mario Brothers Polymer Clay Sculpture

medegebruikers instructable Lovin ' Welkom!  Vandaag leert u het maken van uw eigen Super Mario Brothers Polymer Clay beeld!Les ideeën voor kunst onderwijs:Recycling (met behulp van gebroken paperclips en pot deksels)Leren modellerenNemen over armatu
FluidTrakker Intro

FluidTrakker Intro

We bouwden een prototype van een vloeistof sensor toepassing voor het bijhouden. Het prototype bestaat uit drie onderdelen:1. een Tabletop sensor die het gewicht van een fles water in gram tracks en stuurt de gegevens naar de Intel Analytics cloud.2.
Adirondack stijl stoel (pallet hout)

Adirondack stijl stoel (pallet hout)

We gonna make een Adirondack stijl stoel.. .met hout dat we redden van de verzending van pallets. Deze pallets waren vrij van een lokaal bedrijf. Vergeet niet te vragen alvorens de pallets worden. Veel bedrijven de pallets zelf recyclen of zal het ge
Hoe maak je papier

Hoe maak je papier

zijn er verschillende Instructables over het maken van papier uit gerecycleerde vezels. Dat is een fijne activiteit, en die hield me werkzaamheden in loondienst voor vier jaar.Toen ik in een papierfabriek, werkte ook al we een volledig machine vervaa
Hoe te doen Wasserij

Hoe te doen Wasserij

We hebben allemaal Wasserij. Sommigen van ons doen de laundy, en sommige van de Wasserij voor ons gedaan hebben.Dit instructable zal u tonen hoe te doen de Wasserij, met ideeën voor het maken van de baan gemakkelijker en ideeën voor het maken van mil
Super Mario Brothers Gold Coin "sneeuwbol"

Super Mario Brothers Gold Coin "sneeuwbol"

medegebruikers instructable Lovin ' Welkom!  Vandaag leert u hoe u kunt maken van uw eigen Super Mario Brothers Gold Coin "sneeuwbol"!Les ideeën voor kunst onderwijs:Recycling (met behulp van gebroken paperclips, oude potten en deksels van de po
CD's Coasters voor Kerstmis

CD's Coasters voor Kerstmis

Een eenvoudige DIY recycle met CD's voor deze kerst.Stap 1: materialen• Oude cd 's• Overgebleven kerst inpakpapier• Acryl verf wit• Een klein stukje karton• Transparant papier tapijt• Permanente Markers• Decoratieve elementen (Stickers, enz.)• LijmSt
Realistische Knex Uzi

Realistische Knex Uzi

! Let op! Ik heb iets dergelijks die is een stuk beter dus check it out hier.OK goed we hebben al twee zeer goede knex uzi's op de site maar een is nogal omvangrijk en ziet er niet erg realistisch. De andere ziet er een stuk beter, maar het gebruikt
Recycling van een PET-fles met een lange draad van 20m

Recycling van een PET-fles met een lange draad van 20m

Recycling van een PET-fles met een lange draad van 20m.U kunt recycling PET-flessen, bier blikjes en soortgelijke ronde vormen objecten (ongewenste) draad.In principe recycling middelen: voor de behandeling van dingen (ongewenste), zodat ze weer kunn
Ontwikkelen van "Nummer gevoel" met Solar Powered, Recycled, numerieke apparaten

Ontwikkelen van "Nummer gevoel" met Solar Powered, Recycled, numerieke apparaten

twee treinen het verlaten van het station op hetzelfde moment op parallelle sporen. Men reist 560 mijl in dezelfde hoeveelheid tijd duurt het de tweede die reizen 630 mijl... en waarom hebben we zorg?U iets speciaals over de nummers gebruikt in dit p