Sms-magna ponderis trium alvearia pro $30

Sms-magna ponderis trium alvearia pro $30

Imo, hoc commercii oblatio non est, hoc est sumptus systematis componentium quod legere articulum convenire potes.

Paulo background:

Dudum constitui apes accipere, et apparuerunt toto tempore... sed hibernum non reliquit casa.
Et hoc non obstante quod omnia recte facere videretur - autumnales pascentes complent, velit ante frigora.
Alvum ligneum "Dadan" systema classicum fuit cum 10 tabulis 40 mm tabulis factis.
Sed hiems illa, propter avertit temperiem, etiam apothecae periti multo plus quam solitum amiserunt.

Ita ex conditione alvearia idea systematis vigilantiae provenit.
Post aliquot articulos in Habr evulgando et de apariis forum communicando, decrevi a simplici ad complexum ire.
Pondus unicum est parameter indubitabile, sed pro regula exsistentium systematum monitor unum solum "reference" alvearium.
Si quid cum eo erraverit (exempli gratia, discessum examen apis morbus), indicibus inutiles facti sunt.

Placuit igitur monitorem mutationem in pondere trium alveorum statim uno microcontrollero utendo, et postea alias "goodies" adde.
Eventus est systema sui iuris cum tempore operante circa mensem unum in certaminibus pugnae 18650 ac statisticam semel in die mittendo.
Conatus sum consilium quam maxime simpliciorem reddere ut etiam sine figuris, sicut ex photographis, iterari posset.

Ratio operationis talis est: in primo inicio/reset, lectiones sensoriis sub alveariis in EEPROM conditae reponuntur.
Singulis deinde diebus, post solis occasum, systema "excitatur", lectiones legit et SMS mittit mutato pondere in diem et ex quo versa est.
Praeterea valorem altilium intentionis transmittitur et cum 3.5V remittit, monitum editur de necessitate accusandi, quia infra 3.4V communicatio moduli non vertitur, et pondus lectionum iam "defluit".

'Meministi quo pacto omnes coepere'. Omnia primum atque iterum ".
Sms-magna ponderis trium alvearia pro $30
Ita est prorsus copia ferramentorum quae originaliter fuit, licet tantum gauges et filis contenta versioni finali superfuerint, prima vero prima.
Re vera, fune coili non opus est, modo idem pretium ac 30m rectum esse evasit.

Si non times decutere 3 SMD LEDs et dimidium centum puncta conventionalis (output) solidatorium, vade!

Sic sequenti apparatu materiae/materiae indigebimus;

  1. Arduino Pro Mini 3V
    Animadvertere debes in microcircuit linearis convertentis - exacte 3.3V - in chip notatione KB 33/LB 33/DE A10 - Sinica mea aliquid mali obtinuit, et tota massa.
    Tabulae in copia facta sunt ut regulatores 5-volt et crystallos 16MHz habere.
  2. USB-Ttl in ch340 chip - etiam uno volt uti potes, sed tunc, dum microcontroller coruscans, Arduino a modulo GSM disiungitur necesse est ut posteriorem non urat.
    Tabulae quae in PL2303 chip fundatae sub Windows 10 non laborant.
  3. GSM communicatio moduli Goouu Tech IOT GA-6-B vel AI-MAMENTATOR Mini A-6.
    Cur ibi cessas? Neoway M590 - excogitator qui choros cum tympanis separatis requirit, GSM SIM800L - non placet 2.8V gradu logicae non vexillum, quod coordinationem requirit etiam cum tribus voltis Arduino.
    Praeterea solutio AiThinker minimam energiae consummationem habet (currentem quam 100mA cum SMS mittens).
  4. GSM GPRS 3DBI antennae (in photo supra - chlamyde rectangula cum "cauda", hora IX)
  5. Involucrum starter operantis cum bono coverage in loco apiarii tui.
    Imo, sarcina primum in phone regulari excitanda est, ACUS ROGATU in ingressu inactivare, et rationem vestram supervenire.
    Multae autem sunt optiones cum nominibus in stilo "Sensoris", "IoT" - subscriptio paulo inferiores habent.
  6. filum dupont 20cm femina-femina - 3 pcs. (Ad coniungere Arduino ad USB-TTL)
  7. 3 quam at pede. HX711 - ADC pro squamis
  8. VI onus cellulis ad pondus ad 6kg
  9. 15 metra 4-cororum funis telephonii β€” pro modulorum pondere connectendi cum ARDUINO.
  10. Photoresistor GL5528 (hoc est maximus, cum resistentia obscura 1 MΞ© et levi resistentia 10-20 kΞ©) et duo resistores ordinarii 20 kΞ©
  11. Partes duplicis postesque "crassae" taeniolae 18x18mm - pro Arduino ad moduli communicationis applicandi.
  12. 18650 Pugna possessor et re vera pugna ipsa ~2600mAh sunt.
  13. Cera vel paraffin (lucernae aromatis lucernae) - ad humorem munimentum HX711
  14. Lignum ligneum 25x50x300mm pro basi canendi gauges.
  15. Duodecim cochleis auto-ictum cum 4,2x19 mm fullonibus ad basem sensoriis applicandis.

Pugna ex disconventu laptoporum sumi potest - pluries vilior est quam nova, et facultas multo maior erit quam Sinensis UltraFire - accepi 1500 versus 450 (hoc 6800 pro igni .

Praeterea stabilis manibus opus erit, ferrum solidamentum EPSN-25, rosinum et POS-60 solidatum.

Sms-magna ponderis trium alvearia pro $30

Etiam V annos ante Soviet ferrum solidatorium cum apice aeneo usus sum (statio solidatoria mihi non laborabat - id pro testiculo cepi et ambitum cum EPSN complevi).
Sed post eius defectum et aliquot monstruosae Sinenses falsitates, haec Sparta appellata est, quod nomen eius severum substitit.
in productum cum thermostat.

Eamus igitur!

Sms-magna ponderis trium alvearia pro $30

Incipiendum est, duas LEDs ex GSM moduli (locus ubi locati erant ambiti ovali aurei) reseramus.
Sim chartam cum pads contactu ad tabulam circuli impressam inserimus, angulum revulsum in photographica sagitta indicatur.

Sms-magna ponderis trium alvearia pro $30

Deinde pari modo cum ductus in Arduino tabula (oval ad sinistram chip quadrati) exequimur;
Favum solidatur ad quatuor contactus (1).
Resistentes accipimus duos 20k, ex una parte ducit, solidat in foramine acus A5 torquent, reliquae ducunt in crudo et GND arduino (2).
Crura photoresistoris ad 10mm minuimus et eam ad GND et D2 paxillos tabulae solidamus (3).

Nunc tempus est pro taenia electrica taenia duplicata - glutine in SIM card possessor communicationis moduli, et supra - Arduino - pyga rubra (argentum) nobis respicit et supra SIM card sita est.

Potestatem copiam solidandi sumus: plus ex communicationis moduli capacitore (4) ad arduino acus rudis.
Re vera communicatio moduli ipsius 3.4-4.2V eget ad copiam sui potentiam, et PWR contactum cum gradatim convertentis coniungitur, ut ex li-ion operetur, voltatio suppleri debet praetermissa hac parte circuli.

In Arduino, e contra, potentiam per convertentem linearem - humili currente consummationem supplemus, gutta voltage gutta est 0.1V.
Sed praebendo intentionem stabilitam ad modulorum HX711, necessitatem rejicimus ut eas ad inferiorem intentionem mutemus (et simul ab augendo strepitum ob hanc operationem).

Deinde nos solidores jumpers (5) inter fibulas PWR-A1, URX-D4 et UTX-D5, terram GND-G (6) ac tandem potestatem ab 18650 altilium possessoris (7) antennae coniungunt.
Nunc convertentem sumamus USB-TTL et coniungimus RXD-TXD et TXD-RXD, GND-GND contactus cum filis Dupont ad ARDUINO (comb. 1);

Sms-magna ponderis trium alvearia pro $30

Photo supra ostendit primam versionem (trium) systematis, quod ad debugging adhibitum est.

Nunc autem ferrum solidatorium aliquantisper frangemus et ad partem programmatam transibimus.
Ordinem actionum pro Fenestra describebo;
Primum, debes detrahere et instituere/explicare programmata IDE Arduino - emendationis 1.8.9 est, sed uti 1.6.4

Pro simplicitate scrinium in folder C: arduino - "your_version_number_ numero solvemus, intus habebimus folder /dis, coegi, exempla, ferramenta, Java, lib, bibliothecas, referentia, instrumenta, necnon arduinum documentum exsecutabile. (inter alios).

Nunc opus est bibliothecam facere cum ADC HX711 - button viridi "clone vel download" - ZIP download.
Contenta (folder HX711-magister) in indicem C: arduino-" your_version_number bibliothecarii posita sunt.

Et sane exactoris for USB TTL ex eodem github - ex archivo unpacked, institutionem simpliciter cum fasciculo ERECTUS emissam.

Bene, propositum C: arduino-"your_version_number arduino mittamus et configuramus

Sms-magna ponderis trium alvearia pro $30

Vade ad "instrumenta" item - tabulam "Arduino Pro seu Pro Mini" elige, Atmega 328 3.3V 8 processus MHz, portum - complura alia quam systema COM1 (videtur insertis CH340 agitatori cum adaptore USB-TTL. connexa)

Ok, effingo sequentem formam (programma) et crustulum in Arduino IDE fenestra

char phone_no[]="+123456789012"; // Your phone number that receive SMS with counry code 
#include <avr/sleep.h>  // ARDUINO sleep mode library
#include <SoftwareSerial.h> // Sofrware serial library
#include "HX711.h" // HX711 lib. https://github.com/bogde/HX711
#include <EEPROM.h> // EEPROM lib.
HX711 scale0(10, 14);
HX711 scale1(11, 14);
HX711 scale2(12, 14);
#define SENSORCNT 3
HX711 *scale[SENSORCNT];

SoftwareSerial mySerial(5, 4); // Set I/O-port TXD, RXD of GSM-shield  
byte pin2sleep=15; //  Set powerON/OFF pin

float delta00; // delta weight from start
float delta10;
float delta20;
float delta01; // delta weight from yesterday
float delta11;
float delta21;

float raw00; //raw data from sensors on first start
float raw10;
float raw20;
float raw01; //raw data from sensors on yesterday
float raw11;
float raw21;
float raw02; //actual raw data from sensors
float raw12;
float raw22;

word calibrate0=20880; //calibration factor for each sensor
word calibrate1=20880;
word calibrate2=20880;

word daynum=0; //numbers of day after start

int notsunset=0;

boolean setZero=false;

float readVcc() { // Read battery voltage function
  long result1000;
  float rvcc;  
  result1000 = analogRead(A5);
  rvcc=result1000;
  rvcc=6.6*rvcc/1023;
  return rvcc;
}

void setup() { // Setup part run once, at start

  pinMode(13, OUTPUT);  // Led pin init
  pinMode(2, INPUT_PULLUP); // Set pullup voltage
  Serial.begin(9600);
  mySerial.begin(115200); // Open Software Serial port to work with GSM-shield
  pinMode(pin2sleep, OUTPUT);// Itit ON/OFF pin for GSM
  digitalWrite(pin2sleep, LOW); // Turn ON modem
  delay(16000); // Wait for its boot 

scale[0] = &scale0; //init scale
scale[1] = &scale1;
scale[2] = &scale2;

scale0.set_scale();
scale1.set_scale();
scale2.set_scale();

delay(200);

setZero=digitalRead(2);

if (EEPROM.read(500)==EEPROM.read(501) || setZero) // first boot/reset with hiding photoresistor
//if (setZero)
{
raw00=scale0.get_units(16); //read data from scales
raw10=scale1.get_units(16);
raw20=scale2.get_units(16);
EEPROM.put(500, raw00); //write data to eeprom
EEPROM.put(504, raw10);
EEPROM.put(508, raw20);
for (int i = 0; i <= 24; i++) { //blinking LED13 on reset/first boot
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
  }
}
else {
EEPROM.get(500, raw00); // read data from eeprom after battery change
EEPROM.get(504, raw10);
EEPROM.get(508, raw20);
digitalWrite(13, HIGH); // turn on LED 13 on 12sec. 
    delay(12000);
digitalWrite(13, LOW);
}

delay(200); // Test SMS at initial boot

//
  mySerial.println("AT+CMGF=1");    //  Send SMS part
  delay(2000);
  mySerial.print("AT+CMGS="");
  mySerial.print(phone_no); 
  mySerial.write(0x22);
  mySerial.write(0x0D);  // hex equivalent of Carraige return    
  mySerial.write(0x0A);  // hex equivalent of newline
  delay(2000);
  mySerial.println("INITIAL BOOT OK");
  mySerial.print("V Bat= ");
  mySerial.println(readVcc());
 if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
  delay(500);
  mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
  delay(3000);

//  

raw02=raw00;
raw12=raw10;
raw22=raw20;

//scale0.power_down(); //power down all scales 
//scale1.power_down();
//scale2.power_down();

}

void loop() {

  attachInterrupt(0, NULL , RISING); // Interrupt on high lewel
  set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Set ARDUINO sleep mode
  digitalWrite(pin2sleep, HIGH); // Turn OFF GSM-shield
  delay(2200);
  digitalWrite(pin2sleep, LOW); // Turn OFF GSM-shield
  delay(2200);
  digitalWrite(pin2sleep, HIGH);
  digitalWrite(13, LOW);
  scale0.power_down(); //power down all scales 
  scale1.power_down();
  scale2.power_down();
  delay(90000);
  sleep_mode(); // Go to sleep
  detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt

  notsunset=0;
 for (int i=0; i <= 250; i++){
      if ( !digitalRead(2) ){ notsunset++; } //is a really sunset now? you shure?
      delay(360);
   }
  if ( notsunset==0 )
  { 
  digitalWrite(13, HIGH);
  digitalWrite(pin2sleep, LOW); // Turn-ON GSM-shield
  scale0.power_up(); //power up all scales 
  scale1.power_up();
  scale2.power_up();
  raw01=raw02;
  raw11=raw12;
  raw21=raw22;
  raw02=scale0.get_units(16); //read data from scales
  raw12=scale1.get_units(16);
  raw22=scale2.get_units(16);

  daynum++; 
  delta00=(raw02-raw00)/calibrate0; // calculate weight changes 
  delta01=(raw02-raw01)/calibrate0;
  delta10=(raw12-raw10)/calibrate1;
  delta11=(raw12-raw11)/calibrate1; 
  delta20=(raw22-raw20)/calibrate2;
  delta21=(raw22-raw21)/calibrate2;

  delay(16000);
  mySerial.println("AT+CMGF=1");    //  Send SMS part
  delay(2000);
  mySerial.print("AT+CMGS="");
  mySerial.print(phone_no); 
  mySerial.write(0x22);
  mySerial.write(0x0D);  // hex equivalent of Carraige return    
  mySerial.write(0x0A);  // hex equivalent of newline
  delay(2000);
  mySerial.print("Turn ");
  mySerial.println(daynum);
  mySerial.print("Hive1  ");
  mySerial.print(delta01);
  mySerial.print("   ");
  mySerial.println(delta00);
  mySerial.print("Hive2  ");
  mySerial.print(delta11);
  mySerial.print("   ");
  mySerial.println(delta10);
  mySerial.print("Hive3 ");
  mySerial.print(delta21);
  mySerial.print("   ");
  mySerial.println(delta20);

  mySerial.print("V Bat= ");
  mySerial.println(readVcc());
  if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
  delay(500);
  mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
  delay(3000);

  }

}

In prima linea, in quotes char phone_no[]="+123456789012β€³; β€” pro 123456789012, pone numerum telephonicum cum codice rustico ad quem SMS mittetur.

Nunc perscriptio puga pyga (supra numerum unum in screenshot supra) - si in fundo (sub numero trium in screen) "Compilatio completa est" - tunc microcontroller micare possumus.

Ita, USB-TTL cum ARDUINO et computatrale coniungitur, actitationem in possessore pone (plerumque ductus in novo Arduino semel per alterum nictans incipit).

Nunc ad firmware - exercemur ad premere puga rubra (argentum) microcontroll.
Comedetis? Preme bullam "Load" (supra duas in screenshot), et diligenter inspice lineam in fundo interfaciei (sub tribus in screenshot).
Cum primum inscriptionis "compilatio" mutatur ad "downloading", premere puga rubra (reset) - si omnia bene sunt, lumina in USB-TTL adaptor laetus connivet et in fundo interfaciei inscriptionis "Uploaded "

Nunc, dum experimentum SMS quod telephonum advenit, tibi narrabo quomodo opera programmatis:

Sms-magna ponderis trium alvearia pro $30

Photo ostendit secundam versionem debugging stantem.

Cum primum versa, ratio bytes numerum 500 et 501 EEPROM coercet: si aequales sunt, notitia calibrationis non traditur, et algorithmus ad sectionem setup procedit.
Idem evenit si, cum conversus est, photoresistor adumbratur (per pileum stylo) - modus reset reducitur.

Cellae onus iam sub alveariis institui debent, quandoquidem simpliciter nullum gradum initialem figimus ac deinde mutationem ponderis metimur (nunc zerae veniet, quoniam adhuc nihil conexi sumus).
Eodem tempore, constructum-in ducta paxillus 13 nictans in Arduino incipiet.
Si reset non occurrit, ductus illuminat pro 12 secundis.
Post hoc, examen SMS mittitur cum nuntio "BORO OK PRIMO" et in intentione altilium.
Communicatio moduli deflectit, et post 3 minutas tabulas Arduino HX711 tabulas ADC in modum somni ponit et ipsa dormit.
Haec mora facta est ut non caperet impedimentum GSM moduli laborantis (post commutationem, eam "fabam" per aliquod tempus.

Deinde, sensorem photographicum habemus in secundo clavo interrumpendum (plus functionis capacitatis).
In hoc casu, post excitato, status photoresistoris in alia 3 minuta retunditur - ad repetitum / falsum excitato removendum.
Hoc proprium est, quod sine aliqua commensuratione systematis post 10 minutas astronomicae occasus in nubilo et 20 serenitate serena excitatur.
Ita, ut systema omne tempus in se non reponit, saltem primi moduli HX711 coniungi debent (pins DT-D10, SCK-A0);

Tunc lectiones contentiones sumuntur, mutatio ponderis e operatione praecedente computatur (primus numerus in linea post Hive) et ex prima activatione, reprimitur altilium intentionis et haec notitia ut SMS mittitur;

Sms-magna ponderis trium alvearia pro $30

Viam SMS accepisti? Macte! Medio ibi sumus! Pugna a possessore nunc removeri potest, computatro non egebimus.

Viam missionis centrum temperantiae ita se compactum evasit ut in vase mayonnaise collocari possit, in casu meo, arca translucens 30x60x100mm (ex chartis negotiis) perfecte aptare.

Ita ratio dormiens consumit ~2.3mA - 90% propter moduli communicationis - non omnino avertitur, sed in modum sto- stantium accedit.

Sms-magna ponderis trium alvearia pro $30

Incipere sensoriis faciens, primum attingamus in extensione sensoriis;

Sms-magna ponderis trium alvearia pro $30

Hoc est consilium alvearium - top view.

Classice, sensoriis 4 angulis installantur (1,2,3,4).

Aliter metimur. Immo etiam tertio modo. Quia guys ex BroodMinder aliter faciunt:

Sms-magna ponderis trium alvearia pro $30

In hoc consilio sensores constituuntur positiones 1 et 2, puncta 3,4 et XNUMX super trabem innituntur.
Deinde sensores rationem ponderis dimidii.
Ita haec methodus minus accurate habet, sed adhuc difficile est fingere apes tabulas omnes cum "linguis favorum" in uno alveo alveari construere.

Propono igitur generatim sensores reducere ad designandum 5 - tum ratio tuenda non est, et cum levibus alveariis utens, uno sensore omnino facere necesse est.

Sms-magna ponderis trium alvearia pro $30

In genere probavimus duo genera modulorum in HX711, duo genera sensoriorum, et duae optiones illis connectendi, cum ponte coteto pleno (2 sensoriis) et cum dimidia, cum secunda pars cum 1k resistentibus suppletur. tolerantia 0.1%.
Posterior autem modus est merce et ne a sensori quidem artifice commendatus, primum ergo tantum describemus.

Pro uno alveo ponemus duas chordas cantilenas et unum HX711 moduli, schematis electronici hoc modo:

Sms-magna ponderis trium alvearia pro $30

Extat 5 metra 4-filarum telephonicas ab ADC tabula ad Arduino - meminimus quomodo apes non sicut machinas GSM in alvearia.

In genere, 8cm caudas in sensoriis relinquimus, binas torta et solida omnia sicut in supra photo est.

Priusquam incipias partem fabrilem, ceram paraffin in vase apto ad conflandum in aqua balnei.

Nunc ligna nostra sumimus et eam in tres sectiones 100mm singulorum dividemus

Deinde rimam longitudinalem 25 mm latam, 7β€”8 mm altam notamus, excessus utentes hacksaw et scalpro - figura U informibus emergere debent.

Estne cera calefacta? β€” tabulas nostras ADC ibi intingimus β€” haec ab humore/nebula tutabitur;

Sms-magna ponderis trium alvearia pro $30

Omnia in basi lignea collocamus (tractanda est cum antiseptica ne putrescat);

Sms-magna ponderis trium alvearia pro $30

Ac denique sensores figimus cochleis auto-ictis;

Sms-magna ponderis trium alvearia pro $30

Optio etiam fuit cum tape electrica caeruleo, sed propter humanitatis rationes eam non exhibeo

Ex parte Arduini sequentia facimus;

Nostras telephonicas retinacula rudentes, coloratas fila simul torquemus, et stanneos.

Post hoc, solidatur tabula contactus sicut in photo:

Sms-magna ponderis trium alvearia pro $30

Id est, nunc pro finali perscriptio, sensores in circuli sectoribus, supra plywood fragmen, reset moderatorem (deponimus pilam cum pileo stylo in photodiode).

Eodem tempore, ductus in Arduino connivet et probatio SMS perveniant.

Deinde, tolle pileum a photocell et vade, imple aquam in utrem plastici 1.5.
lagenam in plywood posuimus et si plura minuta iam transierunt cum in verso, pileum in photoresistorem (simulantes solis occasum).

Post tres minutas, ductus in Arduino accendet, et SMS pondus recipias in omnibus positionibus circiter 1 kg.

Macte! Systema feliciter convenerunt!

Si nunc denuo systema cogamus ad operandum, prima columna pondus cyphris habebit.

Ita, in conditionibus realibus, visum est photoresistorem directe sursum dirigere.

Nunc manuali brevi user dabo:

  1. Instrue iactantiam gauges sub alveariis parietibus (ponere trabem / tabulam ~ 30mm crassam sub anterioribus)
  2. Sub umbra photoresistor et niteremur altilium - DUXERIT connivet et debes accipere test SMS cum textu "INITIALES BOOT OK"
  3. Unitatem centralem ad maximam distantiam ab alvis colloca et ut fila cum apibus laborantem non impediant.
    Singulis vesperis, post solis occasum, SMS pondus accipies cum mutatione diei et momento deducendi.
    Cum altilium intentione ad 3.5V pervenit, SMS cum linea finietur "!!! NOMEN PUGNA!!!
    Tempus operativum in una pugna 2600mAh circiter mensem est.
    Si pila reposita est, cotidianae mutationes in pondere alvum non recordantur.

Quid deinde?

  1. Instar sicco quomodo omnia haec in consilium github ponerent
  2. Committitur 3 familias apis in alveariis systematis Palivodae (sive cornuti in populo)
  3. Adde "CUNNUS" - humiditatem, temperiem, ac potissimum - stridorem apum examinando.

Haec omnia pro nunc, sincere tua, electrici mellarius Andrey

Source: www.habr.com