SmartCityZen återvinning med HX711 (4 / 6 steg)

Steg 4: TX skiss (sändare)

#include < HX711.h >
#include < JeeLib.h >
#include < Manchester.h >
ISR(WDT_vect) {Sleepy::watchdogEvent();}
HX711. DOUT - pin #A1
HX711. PD_SCK - pin #A0
/*
* Hur du kalibrerar din skala
1. Ring set_scale() med ingen parameter.
2. Ring tare() med ingen parameter.
3. Placera en känd vikt på skalan och kalla get_units(10).
4. dela resultatet i steg 3 till din känd vikt. Du borde få om parametern du behov till passera till set_scale.
5. Justera parametern i steg 4 tills du får en noggrann avläsning.
*/
HX711 (Dout, Sck)
HX711 skala (A1, A0); parametern "gain" är utelämnat; används standardvärdet 128 av biblioteket < /p >< p > #define TX_PIN 6 //pin var din sändare är ansluten
#define BUFFER_SIZE 50
#define LED_PIN 13
#define CELL_PIN A0 / / *** serienummer ***
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];
flyta carica = 0;
char vuota [32] = "";
int offset_scale = 53;
Hur ofta gör vi avläsningar?
lång tid = 0; //
int timeBetweenReadings = 500. Vi vill ha en läsning varje 200 ms;
void setup() {
Serial.BEGIN(9600);
man.workAround1MhzTinyCore(); Lägg till detta för sändaren att arbeta med 1 Mhz Attiny85/84
man.setupTransmit (TX_PIN, MAN_600);

pinMode (LED_PIN, OUTPUT);
pinMode (TX_PIN, OUTPUT);
Serial.println ("HX711 Demo");
Serial.println ("innan du ställer in skalan:");
Serial.Print ("Läs: \t\t");
Serial.println(Scale.Read()); skriva ut en rå behandling från ADC < /p >< p > Serial.print ("Läs genomsnittet: \t\t");
Serial.println(Scale.read_average(20)); skriva ut ett genomsnitt av 20 avläsningar från ADC < /p >< p > Serial.print ("få värde: \t\t");
Serial.println(Scale.get_value(5)); skriva ut ett genomsnitt av 5 avläsningar från ADC minus containerns Tara (inte angetts ännu) < /p >< p > Serial.print ("få enheter: \t\t");
Serial.println(Scale.get_units(5), 1); skriva ut ett genomsnitt av 5 avläsningar från ADC minus tareringsvikten (ej angivet) dividerat
av SKALAN parametern (inte ännu) < /p >< p > scale.set_scale(291.00); Detta värde erhålls genom att kalibrera skalan med kända vikter; se viktigt-filen för Detaljer
Scale.tare(); återställa skalan 0 < /p >< p > Serial.println ("efter inställning-upp skalan:"); < /p >< p > Serial.print ("Läs: \t\t");
Serial.println(Scale.Read()); skriva ut en rå behandling från ADC < /p >< p > Serial.print ("Läs genomsnittet: \t\t");
Serial.println(Scale.read_average(20)); skriva ut ett genomsnitt av 20 avläsningar från ADC < /p >< p > Serial.print ("få värde: \t\t");
Serial.println(Scale.get_value(5)); skriva ut ett genomsnitt av 5 avläsningar från ADC minus containerns, med tare() < /p >< p > Serial.print ("få enheter: \t\t");
Serial.println(Scale.get_units(5), 1); skriva ut ett genomsnitt av 5 avläsningar från ADC minus containerns, uppdelad
av parametern skala med set_scale < /p >< p > Serial.println("Readings:");
}
void loop() {
Serial.Print ("\t| PESO: \t");
float peso=-scale.get_units(10);
om (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);

för (int jag = 0; jag < = BUFFER_SIZE; i ++)
{
data [i] = msg [i];
}
digitalWrite(LED_PIN, true); Lampeggia il ledde al ricevimento del messaggio
Delay(10);
digitalWrite(LED_PIN, false);
man.transmitArray(BUFFER_SIZE,data);

Scale.power_down(); sätta ADC i viloläge
Sleepy::loseSomeTime(30000);
Scale.power_up();
}
float readVcc() {
Läs 1.1v referens mot AVcc
Ange referensen till Vcc och mätning till den inre 1.1v referens
#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#elif definieras (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
ADMUX = _BV(MUX5) | _BV(MUX0);
#elif definieras (__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); Vänta på Vref sedimentera
ADCSRA | = _BV(ADSC); Starta konvertering
samtidigt (bit_is_set(ADCSRA,ADSC)); mäta

uint8_t låg = ADCL; måste läsa ADCL första - det sedan Lås ADCH
uint8_t hög = ADCH; låser upp både

långa leda = (hög << 8) | låg;

resultat = 1125300L / leda; Beräkning av Vcc (mV); 1125300 = 1,1 * 1023 * 1000
returnera resultat; VCC i millivolt
}

Naturligtvis på linje ändras 71 värdet med vad du fick under kalibreringen.

Skissen är baserat på projektets SmartCityZen protokoll, och sedan jämfört den enda avfall kontroll funktionalitet finns det vissa överflödig information skickas (till exempel sensor koden eller batteri volt).

På detta sätt emellertid kan den överförda informationen läsas från SCZ Station och överförs via Internet på SmartCityZen webbserver och delas via portalen.

Skissen skickar till mottagaren var 30 sekunder vikten av avfall, detta värde kan ändras helt enkelt ändra värdet av detta kommando

Sleepy:: loseSomeTime (30000);

Ändra 30000 mS till ett max värde på 60000 mS, som ger en paus på 1 minut, att öka det och gör till exempel en skicka var 3 minuter med följande syntax:

Sleepy:: loseSomeTime (60000);
Sleepy:: loseSomeTime (60000); < br > sömnig:: loseSomeTime (60000);

Ringer 3 gånger kommandot.

Se Steg
Relaterade Ämnen

Arduino Nano och Visuino: mäta vikt med HX711 belastning Cell förstärkare och ADC

HX711 Ladda cellen förstärkare och ADC moduler gör det mycket enkelt att bygga din egen skala med Arduino. Med hjälp av Visuino är uppgiften så lätt att du kan slutföra det på bara några minuter.I detta instructable, jag kommer att visa dig hur du an...

Gör din vägande klättra hacka med arduino och hx711

Jag jobbar på ett program där jag behöver konvertera vikten av en person att beräkna och använda den för andra parameter.Så jag började söka på internet och hittade många tutorials med hjälp av lastcell och arduino.Jag började genom att öppna upp en...

LITE glitter med en hemlighet: återvinna crafting

Som om detta jeweled tillbehör inte är söt nog, men roligare har det en hemlighet: en liten lucka i ryggen att dölja en anteckning eller en bild på någon speciell. Och vi återvinning med hjälp av en gammal squeeze kapsyl.Använd dessa meddelande medal...

Balansera flaska träd!

Känner du dig obalanserad? Nu får du arbeta på att vingla som du skapar minst ekologiska skogen genom tiderna!Jag gjorde detta projekt att börja utredningar i balans, spakar, masscentrum och återvinning med mina elever. Efter att ha sett sina vilda t...

Adirondack stil stol (pall trä)

Vi kommer att göra en Adirondack stil stolen.. .using trä som vi rädda från sjöfart lastpallar. Dessa pallar var fria från ett lokalt företag. Var säker att fråga innan du tar pallar. Många företag Återvinn lastpallarna sig eller kommer att använda d...

FluidTrakker Intro

Vi byggt en prototyp av en vätska tracking sensor ansökan. Prototypen har tre komponenter:1. en bordsskiva sensor som spårar en flaska vatten i gram vikt och skickar data till Intel Analytics molnet.2. en transportabel sensor som spårar också vikten...

Hur man gör papper

det finns flera Instructables om att göra papper av återvunna fibrer. Det är en bra verksamhet, och som höll mig anställd i fyra år.När jag arbetade i en papermill, även om vi var ett helt maskintillverkade mill, var de flesta av de frågor som vi fic...

Super Mario Brothers Polymer lera skulptur

Välkommen kära instructable Lovin ' användare! Idag kommer du lära dig hur du skapar din egen Super Mario Brothers Polymer lera skulptur!Lektion idéer för konst utbildning:Återvinning (med trasiga Gem och burk lock)Lärande modelleringTar om armaturer...

Realistiska Knex Uzi

! Märka! Jag har gjort något liknande som är mycket bättre så kolla här.Ja vi redan har OK två mycket bra knex uzis på platsen men en är ganska skrymmande och ser inte ut mycket realistisk. Annan ser mycket bättre men använder det bara gröna stavar s...

Super Mario Brothers guldmynt "Snö" världen

Välkommen kära instructable Lovin ' användare! Idag kommer du lära dig hur du skapar din egen Super Mario Brothers guldmynt "Snö" Globe!Lektion idéer för konst utbildning:Återvinning (med trasiga Gem, gamla burkar och burk lock)Lärande modelleri...

RC bil spjäll dynamometerns

Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com). I detta instructable du lära dig att göra en dämpare dynamometer skapa en kraft kontra hastighet kurva som en dämpningsgraden ka...

Pall trädgård hänvisningen Design! Kombinerat med vertikal trädgårdsarbete och Vattenåtervinning!

Detta var mitt första försök på upphöjd bädd pall trädgårdsarbete och det har sedan dess ändrats till 2 mönster! En vertikal pall plantageägare med hink fötter och en lutande lastpall trädgård som sluttar lite och vattnet rinner till ena änden som sk...

Sätt att återställa Windows lösenord med Windows inloggning återvinning Enterprise

Windows inloggning återvinning Enterprise är utformad för att vägleda konsumenter återvinna glömt Windows gemenskapen kontolösenord och domänlösenord genom att bränna en bootable CD/DVD eller USB blixt driva. Om du har glömt Windows-lösenordet och vi...

Återvinning och att skapa bra grejer med LED

i detta Instructable hittar du idéer för återvinning av gamla material och lysdioder skapa bra grejer...Jag har använt min egen idé men du kan använda er av grova.Steg 1: Delar och verktyg... De delar jag har använt är listade nedan.-High Power LED-M...

Hamster hacka: Tysta bullriga ratten - med återvinning!

Bilden ovan är Hamtaro, min Roborovski Hamster. Inte på bilden är hennes syster, som också heter Hamtaro... eftersom de är identiska och jag kan inte skilja dem åt. :)Deras bur sitter precis vid mitt skrivbord hemma, så vi kan umgås medan jag arbetar...

DIY prototyper (robotar eller konstdesign), med hemlagad bitar (återvinning guide) del ett

detta Instructable förklarar inte hur man bygger några robotar eller art design, förklarar inte hur att utforma dem, men det är en guide om hur man hittar material lämplig för konstruktion (mekanisk) av prototyp robotar (de allra flesta av dessa arti...

Rengör jordnötssmör burk för återvinning

Intro:Så du använt upp sist av jordnötssmör och det är dags att återvinna burken. Det finns dock fortfarande en film av jordnötssmör inuti burken. Du vill inte lägga smutsiga plast in i papperskorgen och du vill inte bara kasta ut. Jordnötssmör är sv...

Iron Man M1 kostym med en $3,08

som du kvalster har gissat detta inte ger dig film korrekta resultat, men det är något roligt för små barn att göra med hjälp av en vuxen, eller kul för vuxna att röra runt i. hoppas du gillar det!Steg 1: material heres what you'll need:Svetsning mas...

En 2-stegs elektroniska Modellera raket (med 3D-tryckta delar!)

Hej alla! Har du någonsin undrat vad gränserna var till vad en enkel modell raket kunde göra? Många månar sedan jag undrade samma sak och efter några försök och misstag tror jag att de gränser och komplexitet kan du lägga till din körning av mill Mod...