Jump to content
43oh

zeke

Members
  • Content Count

    1,782
  • Joined

  • Last visited

  • Days Won

    102

Reputation Activity

  1. Like
    zeke got a reaction from bluehash in One Wire Controller booster   
    If anyone is curious, I have been developing the edge router app in pyqt5 on linux.
    Here is one of the better tutorials that I have found on learning PyQt5.
    Apparently, there are two different sources to get PyQt5 from:
    PyQt5 from Riverbank Computing, and Qt for Python  from Qt.com, which was originally called PySide(2) PyQt5 is a bit of a mind bender at the start, but it gets better as you climb the learning curve.
  2. Like
    zeke got a reaction from energia in MSP430FR6989: Serial port monitor is not working   
    Hi @Salibensuleiman
    Wow! That's a wall of text that is impossible to understand.
    Please use the code "<>" tags on your software.
    For example,  here is your code
    #include <LCD_Launchpad.h> #include <driverlib.h> #include <SPI.h> #include <LiquidCrystal.h> #include <driverlib.h> // Required for the LCD //#include <LiquidCrystal_I2C.h> //LiquidCrystal lcd; void setup() { // put your setup code here, to run once: //analogFrequency(10000); Serial.begin(9600); SPI.begin(); } float y11 = 0.0; float y12 = 0.0; float y13 = 0.0; float y21 = 0.0; float y22 = 0.0; float y23 = 0.0; float y31 = 0.0; float y32 = 0.0; float y33 = 0.0; float Ub11, Ub12, Ub13, Ub21, Ub22, Ub23, Ub31, Ub32, Ub33; float IN11, IN12, IN13, IN21, IN22, IN23, IN31, IN32, IN33; float y11New, y12New, y13New, y21New, y22New, y23New, y31New, y32New, y33New; void loop() { // put your main code here, to run repeatedly: // //Diagonal input // float U11=1; float U12=-1; float U13=1; // float U21=-1; float U22=1; float U23=-1; // float U31=1; float U32=-1; float U33=1; //Cross input float U11 = -1.0; float U12 = 1.0; float U13 = -1.0; float U21 = 1.0; float U22 = 1.0; float U23 = 1.0; float U31 = -1.0; float U32 = 1.0; float U33 = -1.0; //Templates A and b //A: float A11 = 0.045404; float A12 = 0.046816; float A13 = 0.046482; float A21 = 0.046741; float A22 = 4.0472; float A23 = 0.046741; float A31 = 0.046482; float A32 = 0.046816; float A33 = 0.045404; //b float b11 = 0.063908; float b12 = -0.061448; float b13 = 0.079005; float b21 = -0.061448; float b22 = 0.052166; float b23 = -0.061448; float b31 = 0.079005; float b32 = -0.061448; float b33 = 0.063908; //I float I = 0.047155; // float y11 = analogRead(A0); // float y12 = analogRead(A1); // float y13 = analogRead(A2); // float y21 = analogRead(A3); // float y22 = analogRead(A0.7); // float y23 = analogRead(A5); // float y31 = analogRead(A6); // float y32 = analogRead(A7); // float y33 = analogRead(A8); int counter = 0; if (counter == 0) { y22New = y11 * A11 + y12 * A12 + y13 * A13 + y21 * A21 + y22 * A22 + y23 * A23 + y31 * A31 + y32 * A32 + y33 * A33; Ub22 = U11 * b11 + U12 * b12 + U13 * b13 + U21 * b21 + U22 * b22 + U23 * b23 + U31 * b31 + U32 * b32 + U33 * b33; y11New = y11 * A11 + y12 * A12 + y21 * A21 + y22 * A22; Ub11 = U11 * b11 + U12 * b12 + U21 * b21 + U22 * b22; y12New = y11 * A11 + y12 * A12 + y13 * A13 + y21 * A21 + y22 * A22 + y23 * A23; Ub12 = U11 * b11 + U12 * b12 + U13 * b13 + U21 * b21 + U22 * b22 + U23 * b23; y13New = y12 * A12 + y13 * A13 + y22 * A22 + y23 * A23; Ub13 = U12 * b12 + U13 * b13 + U22 * b22 + U23 * b23; y21New = y11 * A11 + y12 * A12 + y21 * A21 + y22 * A22; Ub21 = U11 * b11 + U12 * b12 + U21 * b21 + U22 * b22; y23New = y12 * A12 + y13 * A13 + y22 * A22 + y23 * A23 + y32 * A32 + y33 * A33; Ub23 = U12 * b12 + U13 * b13 + U22 * b22 + U23 * b23 + U32 * b32 + U33 * b33; y31New = y21 * A21 + y22 * A22 + y31 * A31 + y32 * A32; Ub31 = U21 * b21 + U22 * b22 + U31 * b31 + U32 * b32; y32New = y21 * A21 + y22 * A22 + y23 * A23 + y31 * A31 + y32 * A32 + y33 * A33; Ub32 = U21 * b21 + U22 * b22 + U23 * b23 + U31 * b31 + U32 * b32 + U33 * b33; y33New = y22 * A22 + y23 * A23 + y32 * A32 + y33 * A33; Ub33 = U22 * b22 + U23 * b23 + U32 * b32 + U33 * b33; IN11 = y11New + Ub11; IN12 = y12New + Ub12; IN13 = y13New + Ub13; IN21 = y21New + Ub21; IN22 = y22New + Ub22; analogWrite(35, IN22); //pin 2.2 IN23 = y23New + Ub23; IN31 = y31New + Ub31; IN32 = y32New + Ub32; IN33 = y33New + Ub33; y11 = 0.7 * tanh(2.0 * IN11); y12 = 0.7 * tanh(2.0 * IN12); y13 = 0.7 * tanh(2.0 * IN13); y21 = 0.7 * tanh(2.0 * IN21); y22 = analogRead(A8); //0.7*tanh(2*IN22)+I; pin 9.0 delay(500); y23 = 0.7 * tanh(2.0 * IN23); y31 = 0.7 * tanh(2.0 * IN31); y32 = 0.7 * tanh(2.0 * IN32); y33 = 0.7 * tanh(2.0 * IN33); counter = 1; } else { y22New = y11 * A11 + y12 * A12 + y13 * A13 + y21 * A21 + y22 * A22 + y23 * A23 + y31 * A31 + y32 * A32 + y33 * A33; Ub22 = U11 * b11 + U12 * b12 + U13 * b13 + U21 * b21 + U22 * b22 + U23 * b23 + U31 * b31 + U32 * b32 + U33 * b33; y11New = y11 * A11 + y12 * A12 + y21 * A21 + y22 * A22; Ub11 = U11 * b11 + U12 * b12 + U21 * b21 + U22 * b22; y12New = y11 * A11 + y12 * A12 + y13 * A13 + y21 * A21 + y22 * A22 + y23 * A23; Ub12 = U11 * b11 + U12 * b12 + U13 * b13 + U21 * b21 + U22 * b22 + U23 * b23; y13New = y12 * A12 + y13 * A13 + y22 * A22 + y23 * A23; Ub13 = U12 * b12 + U13 * b13 + U22 * b22 + U23 * b23; y21New = y11 * A11 + y12 * A12 + y21 * A21 + y22 * A22; Ub21 = U11 * b11 + U12 * b12 + U21 * b21 + U22 * b22; y23New = y12 * A12 + y13 * A13 + y22 * A22 + y23 * A23 + y32 * A32 + y33 * A33; Ub23 = U12 * b12 + U13 * b13 + U22 * b22 + U23 * b23 + U32 * b32 + U33 * b33; y31New = y21 * A21 + y22 * A22 + y31 * A31 + y32 * A32; Ub31 = U21 * b21 + U22 * b22 + U31 * b31 + U32 * b32; y32New = y21 * A21 + y22 * A22 + y23 * A23 + y31 * A31 + y32 * A32 + y33 * A33; Ub32 = U21 * b21 + U22 * b22 + U23 * b23 + U31 * b31 + U32 * b32 + U33 * b33; y33New = y22 * A22 + y23 * A23 + y32 * A32 + y33 * A33; Ub33 = U22 * b22 + U23 * b23 + U32 * b32 + U33 * b33; IN11 = y11New + Ub11; IN12 = y12New + Ub12; IN13 = y13New + Ub13; IN21 = y21New + Ub21; IN22 = y22New + Ub22; analogWrite(35, IN22); //p.n 2.2 IN23 = y23New + Ub23; IN31 = y31New + Ub31; IN32 = y32New + Ub32; IN33 = y33New + Ub33; y11 = 0.7 * tanh(2.0 * IN11); y12 = 0.7 * tanh(2.0 * IN12); y13 = 0.7 * tanh(2.0 * IN13); y21 = 0.7 * tanh(2.0 * IN21); y22 = analogRead(A8); //0.7*tanh(2*IN22)+I; pin9.0 float voltage = Serial.println(y22 * 3.0 / 1023.0); y23 = 0.7 * tanh(2.0 * IN23); y31 = 0.7 * tanh(2.0 * IN31); y32 = 0.7 * tanh(2.0 * IN32); y33 = 0.7 * tanh(2.0 * IN33); } }  
     
  3. Like
    zeke got a reaction from energia in MSP430FR6989: Serial port monitor is not working   
    Concentrate on one problem at a time.
    Create a new project.
    Write a program that tests out only the serial port.
    Create another project that tests out only the LCD.
    Divide and conquer!!!
    Once you have those working then you can get back to that crazy math you are trying to do!
     
  4. Thanks
    zeke got a reaction from Fmilburn in One Wire Controller booster   
    IT'S ALIVE!!!!
     
    I have 104 ds18b20 sensors wired into my board and it is reading them all.
    I am celebrating! WOO HOO!
    Now it's time to crush an mqtt server!
     

  5. Like
    zeke got a reaction from dubnet in One Wire Controller booster   
    IT'S ALIVE!!!!
     
    I have 104 ds18b20 sensors wired into my board and it is reading them all.
    I am celebrating! WOO HOO!
    Now it's time to crush an mqtt server!
     

  6. Like
    zeke got a reaction from timotet in One Wire Controller booster   
    IT'S ALIVE!!!!
     
    I have 104 ds18b20 sensors wired into my board and it is reading them all.
    I am celebrating! WOO HOO!
    Now it's time to crush an mqtt server!
     

  7. Like
    zeke reacted to Rei Vilo in Interfacing BMG250 with TM4C1294XL   
    It looks like the I²C implementation requires a specific period between write and read. 

  8. Thanks
    zeke reacted to zainmsp in msp430g2553 with cc1101   
    Please find my attachedCC1101.7z library
  9. Like
    zeke reacted to Rei Vilo in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    Have a tried running Node-RED on a dedicated Raspberry Pi Wireless? At USD10, it is worth experimenting to get a precise idea of the lag.
    Does your application need to display all the thermometers, or only those with an issue?
    You may rename the thread on the first post
  10. Like
    zeke got a reaction from omerdf in Problem in programming a MSP430 MicroController   
    @omerdf, I just dealt with the same problem last night.
    I had two competing pull up resistors on the Reset/Test line between my CPU board and my Support board.
    The strong 1K pullup on the manual reset circuit was interfering with the programming port. 
    I had to temporarily remove the R4 and C1 of the Manual Reset Control circuit and then the board would program.
    Does this help?
     


     
     
  11. Like
    zeke reacted to Wilkiwise in Raspberrry Pi Camera Color Sensor Attachment   
    As an electrical engineering student at John Brown University, we were tasked with creating a useful product or service using the combined skills gained through our embedded systems class. As someone who likes interior decorating and hates mismatched paint, I came up with the idea to make an RGB color sensor attachment for a camera. Of course converting RGB data to paint colors is not conventional, it is something that could potentially be viable. To make things interesting and for the experience of working with a Raspberry Pi, I used a raspberry Pi camera to act as the base for the project. A KMASHI 10,000mAh power bank was used as the power source to make it portable and act as a psuedo case to strap all of the components together. It is definitely not elegant in any way, shape, or form, but it is more experience for me and hopefully you can find an interesting tid bit here or there in my documentation! Enjoy!
     


     
    RGBColorSensorAttatchmentRPI.docx
  12. Like
    zeke reacted to Rei Vilo in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    You're welcome, and congratulations for the test! I'm impressed by how many things you've achieved in just one hour
  13. Like
    zeke reacted to cubeberg in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    @hmjswt - you could easily say that about a lot of things (C vs Assembly, roll your own database, etc.)   
    I'm a web developer - but trying to figure out everything from hardware to reporting can kill a project pretty quickly.  Like @zeke - I've got a lot of unfinished projects - usually because I get bored trying to get over obstacles in the project.  Since DeviceHive supports MQTT - it should be pretty easy to port a project over to something else at a later point in a project.
    I was able to get a simple POC working with a Raspberry Pi on DeviceHive.  Not too bad - it'll be a good place to start working on MQTT for some of the hardware I've got sitting around.  I'm not so sure about deploying DeviceHive though - there are a lot of components to install - although they do have docker instructions.
  14. Like
    zeke reacted to Rei Vilo in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    @cubeberg I haven't tried DeviceHive because the dashboard (provided by Grafana) is external.
    I'm surprised how well Node-RED works on a very basic and cost-effective Raspberry Pi Zero Wireless.
    As an additional benefit, the Raspberry Pi Zero Wireless features Bluetooth, so I can connect my SensorTag as per this project or this one.
    I'm using a USD25 Chinese tablet running on Android as a screen with Chrome running in kiosk mode.

    Just like many other hobbyists, I can't afford the not-invented-here syndrome due to lack of time and resources, as you rightly point out. 
    Good luck with your project!
  15. Like
    zeke reacted to hmjswt in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    Hallo,
    Why not program it yourself.
    If you can program a TI LaunchPad you can program almost anything...
    In Processing. It has a lot op functions. Including voice reporting on all functions and data is saved in .CSV file.
    In Python, live graphic.
    Why use third party software when you can do it yourself?
    Greetings from the Netherlands,
    Henk Siewert
  16. Thanks
    zeke got a reaction from Rei Vilo in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    Thank you Sir for recommending node-red. That is very interesting.
    In about an hour, I was able to figure out how to:
    Install node-red Connect it to my mosquitto server Install the node-red dashboard Configure node-red to display live data from one mqtt channel Nice!
    Now I have to program my datalogger to gather and report data. \o/ yay

  17. Like
    zeke got a reaction from zainmsp in hi from uk   
    Welcome @zainmsp
    Your choice of energia vs ccs all depends upon your personality.
    Do you want to forge your own path and control every last aspect of the program? Then use CCS. 
    Do you want to build upon the hard work of others and concentrate on program flow? Then use Energia.
    There is no right or wrong answer. Both options are good.
  18. Like
    zeke reacted to Rei Vilo in IoT Data Collection Servers: DeviceHive, Node-Red, MQTT, Custom?   
    @zeke Why not give Node-RED a try?
    I’m very happy with Node-RED. It provides a GUI IDE, supports natively a variety of formats / protocols like JSON and MQTT, and features its own dashboard. It is expandable with additional nodes, for example to  interface with an SQL database.
    See my reviews and projects at 
    https://embeddedcomputing.weebly.com/iot-with-node-red.html,  https://embeddedcomputing.weebly.com/sensortag-to-blynk-using-node-red.html and  https://embeddedcomputing.weebly.com/isup2c-smartnode-smart-device.html.  To get this...

    ... you just need that...

  19. Thanks
    zeke got a reaction from Rei Vilo in One Wire Controller booster   
    Well, it had been way too long since I worked on this project so decided to get busy this week.
    I just finished assembling four prototypes and now I am debugging the hardware. 
    I still have to write some device drivers and design a rudimentary operating system for it.
    At this time, I am planning on having the datalogger report its results over the serial port. Another program will be waiting for the results to come in. I want to store them in some sort of database then display them in some sort of dashboard. 
    I want to keep the overall complexity of the system low because I am afraid of not completing the project. I am the customer.
    You may be asking "Why?" 
    Because I want to keep my skills up and I want to force myself to learn new things.
    Feel free to ask questions.
     




  20. Thanks
    zeke got a reaction from Rei Vilo in Energia FAQ   
    Maybe we can ask @bluehash to make this a sticky thread with the appropriate subject name?
  21. Like
    zeke got a reaction from dubnet in The Marquee Clock   
    Back in December 2016, I had a hard disk failure and I lost my firmware and hardware design files for this project. It was a sad day when I discovered this.
    I have since rewritten the firmware and it is much better this time. I am so happy that it is sporting a proper command line interface now. No more single letter chicken-pecking commands.
    I have also recaptured the schematics and pcb layouts for the ring pcb and the cpu pcb. The power supply design is a lost cause because I couldn't figure out what TI bucking power supply chip that I used in the first design. Oh well. What are you going to do?
    This time around, I will be redesigning the cpu board to include a few more features that I think are necessary. 
    CdS light sensor to automatically dim the LEDs in a dark room. BQ32000 RTC IC to preserve the time even through the loss of power. ADC monitoring of the power supply rails to determine if the main power has been lost. Maybe put in an LM386 and speaker so the clock can finally sing Happy Birthday to my daughter on her actual birthday. I know this is just another clock but it is very gratifying to see something come to life from my imagination. So I am going to keep plugging away on it.
  22. Thanks
    zeke got a reaction from Fmilburn in What is your Backup Process?   
    It has been a long time since I started this thread.
    I am happy to report that Nextcloud is still working very well for me.
    It is reassuring that I can make a change on one machine and then have that change sync over to another machine almost instantly.
    Given that spinning hard drives have been getting less expensive and larger at the same time, I would highly recommend nextcloud to anyone who needs to keep their data safe.
  23. Like
    zeke reacted to exceptionull in MSP430 Nixie Clock   
    @RobG,
    I requested the source code about 8-9 months ago. I finally found some time to add an option for cathode poisoning prevention to trigger every 5 minutes.
    nixie.h main_v5.c The updated list of options are:
    Cathode Poisoning Prevention Effects [0-3]
    0. No effects
    1. Slot machine (Every 1 Minute)
    2. Slot machine (Every 5 Minutes)
    3. Display time for 2 seconds, off for 8 seconds
     
    I plan on trying to create a case to enclose the sides. If I come up with something I'll share it in this thread.
     
    Thanks for creating a fun kit to build with clean code to modify.
    -Brad
  24. Thanks
    zeke reacted to Rei Vilo in Energia FAQ   
    Some topics come aver and over again. Here are the most frequent questions.
    Wouldn't be nice to have all of them in one single place?
    Listed questions:
    Netiquette for Newbies What Information to Provide When Asking for Help I²C Check-List  Porting an Arduino library to Energia Use Pins Number instead of Pins Names with Energia Add a New Board to Energia LaunchPad and BoosterPack Pins Maps Boards Supporting the Galaxia Library  
     
    Netiquette for Newbies  What Information to Provide When Asking for Help  I²C Check-List  Porting an Arduino library to Energia  
  25. Like
    zeke got a reaction from Rei Vilo in Best information for those new to the MSP430?   
    If you are new to the MSP430 then you're probably drowning in information right now.

    It's true that there are a zillion configurations to make before the 430 will do what you want it do do.

    So I'm betting that you are asking yourself "Where do I start?"

    I humbly suggest the following TI application notes and books that will get you going in the right direction:

    1. slaa294: MSP430 Software Coding Techniques

    This application report covers software techniques and topics of interest to all MSP430
    programmers. The first part of the document discusses the MSP430 standard
    interrupt-based code flow model, recommended for the vast majority of applications.
    The next part discusses a handful of techniques that should be considered by any
    developer that sets out to develop an MSP430 application. Using these methods can
    greatly reduce debug time and/or provide additional robustness in the field. They
    include initialization procedures, validation of supply rails before performing
    voltage-sensitive operations, and use of special functions. Code examples are
    provided.

    2. : MSP430 32-kHz Crystal Oscillators

    Selection of the right crystal, correct load circuit, and proper board layout are important
    for a stable crystal oscillator. This application report summarizes crystal oscillator
    function and explains the parameters to select the correct crystal for MSP430
    ultralow-power operation. In addition, hints and examples for correct board layout are
    given. The document also contains detailed information on the possible oscillator tests
    to ensure stable oscillator operation in mass production.

    3. MSP430 Microcontroller Basics by John H. Davies

    The best thing I can say about this book at this time is that it describes well how to make use of the clocking system of the MSP430. This book should be in your personal library or at least on your wishlist.

    Once you digest the information above then you will be in good shape for success in working with the msp430.

    Have something to add?
    Then post up your valuable sources of knowledge.
×
×
  • Create New...