Giter Site home page Giter Site logo

water-assistant's Introduction

Plant Water Assistant With Nucleo64 and Forth

The aim of this project is to create an application that displays the percentage of soil moisture in a plant, indicating to the user when to water their plant.

Hardware

Hardware used:

  • Nucleo-64 microcontroller, NUCLEO-F446RE STM32 STMicroelectronics
  • Analog soil moisture sensor, ICStation 3274
  • LCD display 1602, AZDelivery HD44780
  • Breadboard 400
  • Potentiometer 10K Ω
  • Jumper cables
  • Mini-USB cable with charger

Resources:

  • The Reference Manual R0390 (en.DM00135183.pdf), in particular Chapter 13
  • The slides provided by the Professor regarding the Nucleo-64 STM32F446 and the 16x02 LCD display

Software

The software part of the project was developed on a MacBook Pro M1. NeoVim was used as a text editor for the programming part and the system terminal was used to install the operating system and compile the code on the card.

Software used:

  • Mecrisp Stellaris
  • Stlink (STMicroelectronics)

Code

Various source codes have been provided by the Professor to write the application:

  • nucle64-STM32F446RE-HAL.f for the first HAL (Hardware Abstraction Layer)
  • arduino.f to use the PIN references of the Arduino board
  • LCD-1602.f for connection with the LCD display and the definition of personalized characters

These codes have been slightly modified to allow the code to be compiled in the flash memory instead of in the RAM of the card. This is done by executing the compiletoflash command directly from the terminal.

I developed two source codes:

  • ADC-HAL.f for the HAL relating to Nucleo-64 ADC
  • main.f for the definition of the most abstract words and for the redefinition of the word INIT

water-assistant's People

Contributors

icekeys avatar ryanauscoll avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.