Buongiorno!
Sto cercando di capire il lato software del progetto della Weather Station lato ATtiny,
non ho capito come fa a risvegliarsi dallo sleep il microcontroller se vieno messo in sleep prima di impostare gli interrupt di risveglio (nel SETUP), grazie e scusate ma non conosco per niente i MC attiny 😉
(anche perchè sto cercando anche io di usare un MC attiny85 sgravando l’ESP32 dal compito di misurazione del pluviometro che mi sta incasinando la vita sull’ESP32 visto che è l’unico evento non previsto a cadenze regolari che non saprei come gestire sull’ESP32 per l’appunto).
Altra cosa, se ho capito bene il codice dell’ATTiny, non riporta gli effettivi mm di pioggia negli ultimi xx minuti/ore ecc… ma una sorta di indice di ‘intensità’ è corretto?
Buongiorno Locutus!
Allora per quanto riguarda la prima domanda, lo sleepnow e’ li perche’ attiva la idle mode immediatamente per ridurre il consumo del microcontrollore ed essendo in idle mode non rende il dispositivo completamente inattivo e quindi capace ancora di operare ma soltanto a consumo ridotto.
Per quanto riguarda la seconda domanda si hai ragione, ma non riguardo solo alla intensita’, ma conta sia l’intensita’ della pioggia basata sulle basculate che sono avvenute, sia il conto di quante basculate sono passate dall’ultima lettura per misurare la quantita’ di pioggia, poi dal numero si puo’ ricavare a quanto corrisponde in mm poi. Ho fatto cosi per ridurre la dimensione dei byte utilizzati da inviare poi all’ESP32. In realta’ si potrebbe fare pure in maniera differente! Comunque si resetta non dopo 15 minuti, ma praticamente ogni volta che l’esp32 richiede i dati all’attiny che a sua volta poi si resetta dopo aver inviato questi dati all’ESP32.
Comunque si, l’attiny e’ una soluzione a questo problema per questo l ho utilizzato, poi anche meglio si potrebbe utilizzare esp32 ulp per “contare”, ma e’ una cosa diciamo piu’ complessa. Un’altra soluzione che ho trovato sul mio progetto attuale, e’ quello di non usare l’ESP32 e usare un Atmega328P con cristallo esterno, in modo tale da consumare soltanto 0.5uA e mandare il micro nel deep sleep mode ma allo stesso avendo la possibilita’ di misurare sia il pluviometro sia l’anemometro. Poi per inviare i dati WiFi uso i moduli EBYTE LoRa per inviare tutto ad un ESP32. E’ ancora in work in progress questo progetto ma sara’ poi un big upgrade a questo progetto con anche altre novita’!
Nel mio caso il tutto è partito da un kit comprato su Pimoroni (UK) che comprendeva i canonici Anemometro, Misuratore direzione vento e pluviometro, oltre ad una soluzione integrata basata sul nuovo Raspberry Pico wifi montato su una schedina proprietaria con su un sensore BME280 ed un sensore di luce che però non funzionava assolutamente bene (codice basato su micropython sviluppato da Pimoroni stessa ma pieno di bug purtroppo, mi sono stufato e mi sono detto perchè non rifarlo simile con un ESP32 in C ?
Non sono un gran conoscitore di C/CPP ma imparo strada facendo, per tutti i sensori bene o male me la sto cavando, ma sta cosa del pluviometro proprio mi ha inscasinato, cmq mi è piaciuto moltissimo il codice sull’attiny dove processi la pioggia, veramente geniale, io di certo non ci sarei mai arrivato da solo! (l’età avanza purtroppo :-))
Ah ecco, beh hai fatto bene, e’ sempre bello sviluppare progetti diversi e poi uno puo’ sempre imparare indipendemente dall’eta’! Comunque grazie per i complimenti! Ti auguro di sviluppare poi piano piano il tuo progetto e poi se avrai altre domande chiedi pure qui.
Un saluto!
Autore
Post
Visualizzazione 5 filoni di risposte
Devi essere connesso per rispondere a questo topic.
Mantenere un repository, un sito o un forum è come prendersi cura di un giardino - richiede costante attenzione e cura per farlo prosperare. Se sei un abile giardiniere (o programmatore!) e vuoi aiutarci a far fiorire il nostro sito, saremmo felici di averti nel nostro team! Cerchiamo anche scrittori talentuosi e moderatori per il nostro forum per aiutarci a far crescere la nostra comunità. Se sei interessato a unirti a noi, non esitare a contattarci per farci sapere in che modo puoi contribuire!
Sei un appassionato di elettronica o programmazione? Condividi la tua conoscenza con gli altri, scrivi un semplice tutorial o come fare un grande progetto Contattami. share_your_ideas@mischianti.org
The content displayed on this website is protected under a CC BY-NC-ND license. Visitors are prohibited from using, redistributing, or altering any content from this website for commercial purposes, including generating revenue through advertising. Any unauthorized use is a violation of the license terms and legal action may be taken against individuals or entities found to be in violation.
You must also provide the link to the source.
Per offrire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Acconsentire a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o gli ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su determinate funzionalità e funzioni.
Functional
Sempre attivo
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Per offrire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Acconsentire a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o gli ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su determinate funzionalità e funzioni.
Functional
Sempre attivo
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.